/* MontageMemo offline technician mode */
.offline-status,.offline-day-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid #cddce0;border-radius:12px;background:#fff;color:#173247;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.offline-status i{width:9px;height:9px;border-radius:50%;background:#2e9b78}.offline-status.offline i{background:#d07b2d}.offline-status.pending i{background:#c99b20}.offline-status.syncing i{background:#2c7cc9;animation:offlinePulse 1s infinite}.offline-status:disabled{cursor:default;opacity:.85}.offline-day-button span{font-size:1rem;color:#0f827e}.offline-prep-backdrop{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:18px;background:rgba(12,30,45,.58);backdrop-filter:blur(5px)}.offline-prep-modal{width:min(430px,100%);padding:30px;border:1px solid #d9e4e7;border-radius:22px;background:#fff;text-align:center;box-shadow:0 25px 80px rgba(12,30,45,.3)}.offline-prep-modal h2{margin:14px 0 6px;color:#10233a}.offline-prep-modal p{margin:0;color:#607583;line-height:1.5}.offline-prep-spinner,.offline-page-loading>span{display:inline-block;width:38px;height:38px;border:4px solid #d3e2e4;border-top-color:#0f827e;border-radius:50%;animation:offlineSpin .8s linear infinite}.offline-toast-root{position:fixed;right:18px;bottom:18px;z-index:4500;display:grid;gap:8px}.offline-toast{max-width:420px;padding:13px 16px;border-radius:13px;background:#10233a;color:#fff;box-shadow:0 18px 42px rgba(15,35,58,.22)}.offline-toast.error{background:#a3442d}
.offline-page{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#10233a;background:#eef3f4}.offline-page *{box-sizing:border-box}.offline-page button,.offline-page input,.offline-page textarea,.offline-page select{font:inherit}.offline-shell{min-height:100vh}.offline-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid #d6e1e5;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.offline-brand{display:flex;align-items:center;gap:11px}.offline-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#0f827e;color:#fff;font-weight:900}.offline-brand strong,.offline-brand span{display:block}.offline-brand span{margin-top:2px;color:#667b8a;font-size:.74rem}.offline-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.offline-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-weight:800;cursor:pointer}.offline-btn.primary{background:#0f827e;color:#fff}.offline-btn.secondary{border-color:#cad9de;background:#fff;color:#173247}.offline-btn.danger{border-color:#efc1b3;background:#fff3ef;color:#9a3f29}.offline-btn:disabled{cursor:not-allowed;opacity:.55}.offline-main{width:min(1500px,calc(100% - 30px));margin:0 auto;padding:22px 0 60px}.offline-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#0f827e,#0b6170);color:#fff;box-shadow:0 18px 48px rgba(15,81,91,.18)}.offline-hero h1{margin:3px 0 7px;font-size:clamp(1.45rem,3vw,2.15rem)}.offline-hero p{margin:0;max-width:760px;line-height:1.5;opacity:.9}.offline-hero small{font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.8}.offline-sync-card{min-width:230px;padding:14px;border-radius:15px;background:rgba(255,255,255,.14)}.offline-sync-card strong,.offline-sync-card span{display:block}.offline-sync-card span{margin-top:4px;font-size:.78rem;opacity:.88}.offline-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}.offline-list,.offline-editor{border:1px solid #d7e2e6;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(15,35,58,.06);overflow:hidden}.offline-list-head,.offline-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid #e0e8eb}.offline-list-head h2,.offline-editor-head h2{margin:0;font-size:1.08rem}.offline-list-head span,.offline-editor-head p{margin:3px 0 0;color:#6a7d8b;font-size:.78rem}.offline-order-list{display:grid;gap:8px;padding:10px;max-height:calc(100vh - 250px);overflow:auto}.offline-order-card{width:100%;padding:13px;border:1px solid #dce5e8;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.offline-order-card.active{border-color:#0f827e;background:#edf8f6;box-shadow:0 0 0 3px rgba(15,130,126,.1)}.offline-order-card strong,.offline-order-card span,.offline-order-card small{display:block}.offline-order-card>span{margin-top:4px;color:#526b79}.offline-order-card small{margin-top:5px;color:#7b8d98}.offline-order-card .offline-order-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:#0f6d68;font-size:.72rem;font-weight:800}.offline-editor-empty{display:grid;place-items:center;min-height:460px;padding:30px;text-align:center;color:#657a88}.offline-editor-empty strong,.offline-editor-empty span{display:block}.offline-editor-empty span{margin-top:6px;max-width:420px}.offline-editor-body{padding:18px}.offline-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:11px 13px;border-radius:12px;background:#eef7f6;color:#31545c;font-size:.8rem}.offline-banner.warning{background:#fff6df;color:#7c5b18}.offline-banner.error{background:#fff0eb;color:#993f29}.offline-form-section{margin-bottom:14px;padding:16px;border:1px solid #dfe8eb;border-radius:16px;background:#fbfcfc}.offline-form-section>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.offline-form-section h3{margin:0;font-size:1rem}.offline-form-section p{margin:3px 0 0;color:#70828f;font-size:.75rem}.offline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.offline-field{display:grid;gap:6px}.offline-field.span-2{grid-column:1/-1}.offline-field label,.offline-field>span{color:#536c7a;font-size:.76rem;font-weight:800}.offline-field input,.offline-field textarea,.offline-field select,.offline-row input{width:100%;padding:11px 12px;border:1px solid #cbd9de;border-radius:11px;background:#fff;color:#10233a}.offline-field textarea{min-height:112px;resize:vertical}.offline-checks{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.offline-checks label{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700}.offline-row-list{display:grid;gap:8px}.offline-row{display:grid;grid-template-columns:1.3fr .7fr .6fr 1.3fr auto;gap:7px}.offline-row.material{grid-template-columns:1.4fr .6fr .6fr 1fr 1.2fr auto}.offline-remove{width:38px;border:0;border-radius:10px;background:#fff0eb;color:#a1412a;font-weight:900;cursor:pointer}.offline-add{margin-top:10px}.offline-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.offline-photo{overflow:hidden;border:1px solid #d8e3e6;border-radius:13px;background:#fff}.offline-photo img{display:block;width:100%;height:120px;object-fit:cover;background:#e8eef0}.offline-photo div{padding:9px}.offline-photo strong,.offline-photo small{display:block}.offline-photo small{margin-top:4px;color:#758793}.offline-upload{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:12px}.offline-upload input{padding:10px;border:1px solid #cbd9de;border-radius:11px;background:#fff}.offline-signature{border:1px solid #cbd9de;border-radius:13px;background:#fff;overflow:hidden}.offline-signature canvas{display:block;width:100%;height:180px;touch-action:none}.offline-editor-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-top:1px solid #dfe7ea;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.offline-save-state{color:#647986;font-size:.76rem}.offline-action-group{display:flex;gap:8px;flex-wrap:wrap}.offline-queue{margin-top:16px;padding:16px;border:1px solid #d7e2e5;border-radius:18px;background:#fff}.offline-queue h2{margin:0 0 10px;font-size:1rem}.offline-queue-list{display:grid;gap:8px}.offline-queue-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:11px;background:#f3f7f8}.offline-queue-item strong,.offline-queue-item span{display:block}.offline-queue-item span{margin-top:3px;color:#6c7f8c;font-size:.72rem}.offline-page-loading{display:grid;place-items:center;min-height:100vh;color:#627986}.offline-page-loading p{margin:12px 0 0}.offline-no-data{width:min(600px,calc(100% - 28px));margin:70px auto;padding:34px;border:1px solid #d8e3e6;border-radius:22px;background:#fff;text-align:center;box-shadow:0 18px 48px rgba(15,35,58,.08)}.offline-no-data h1{margin:0}.offline-no-data p{color:#687c8a;line-height:1.55}.offline-no-data .offline-btn{margin-top:12px}
@keyframes offlineSpin{to{transform:rotate(360deg)}}@keyframes offlinePulse{50%{opacity:.35}}
@media(max-width:980px){.offline-layout{grid-template-columns:1fr}.offline-order-list{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.offline-hero{flex-direction:column}.offline-sync-card{width:100%;min-width:0}}
@media(max-width:700px){.offline-topbar{align-items:flex-start;flex-direction:column}.offline-top-actions{width:100%}.offline-top-actions>*{flex:1}.offline-main{width:min(100% - 16px,1500px);padding-top:10px}.offline-hero{padding:18px}.offline-order-list{grid-template-columns:1fr}.offline-grid{grid-template-columns:1fr}.offline-field.span-2{grid-column:auto}.offline-row,.offline-row.material{grid-template-columns:1fr 1fr}.offline-row .offline-remove{grid-column:2}.offline-upload{grid-template-columns:1fr}.offline-editor-actions{align-items:stretch;flex-direction:column}.offline-action-group{display:grid;grid-template-columns:1fr 1fr}.offline-action-group .offline-btn:last-child{grid-column:1/-1}}
@media(max-width:480px){.offline-action-group{grid-template-columns:1fr}.offline-action-group .offline-btn:last-child{grid-column:auto}.offline-status span,.offline-day-button strong{display:none}}
