.project-row{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.project-row:hover{background:#151d27}.modal-backdrop{position:fixed;inset:0;background:#000c;display:none;align-items:center;justify-content:center;padding:18px;z-index:20}.modal-backdrop.open{display:flex}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#111720;border:1px solid #273241;border-radius:16px;padding:18px}.workspace-modal{width:min(1080px,100%);height:min(90vh,850px);display:flex;flex-direction:column}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head{padding-bottom:14px;border-bottom:1px solid #273241}.modal-actions{padding-top:14px;border-top:1px solid #273241;margin-top:auto}.icon-button{border:0;background:#18212d;color:white;border-radius:8px;font-size:24px;width:38px;height:38px;cursor:pointer}.workspace-tabs{display:flex;gap:6px;overflow:auto;margin:12px 0;padding-bottom:8px;border-bottom:1px solid #273241}.workspace-tabs button{border:0;background:transparent;color:#91a0b2;padding:9px 11px;border-radius:8px;white-space:nowrap;cursor:pointer}.workspace-tabs button.active{background:#18212d;color:white}.workspace-section{overflow:auto;padding:4px 2px 16px}.workspace-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.workspace-grid.three{grid-template-columns:repeat(3,1fr)}.workspace-card{background:#0d131a;border:1px solid #273241;border-radius:11px;padding:13px}.workspace-card label{display:block}.workspace-card input,.workspace-card select,.workspace-card textarea{width:100%;background:#111923;border:1px solid #303d4d;color:white;border-radius:8px;padding:9px;margin-top:5px}.workspace-card textarea{min-height:80px;resize:vertical}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 0 16px}.detail-card{background:#0d131a;border-radius:10px;padding:12px}.detail-card span{display:block;color:#91a0b2;font-size:11px}.detail-lines{border-top:1px solid #273241}.internal-banner{background:#302713;border:1px solid #67531c;color:#ffe69a;padding:10px;border-radius:9px;margin-bottom:12px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.summary-cell{background:#0d131a;border:1px solid #273241;padding:12px;border-radius:10px}.summary-cell span{display:block;color:#91a0b2;font-size:10px}.summary-cell b{font-size:18px}.fulfillment-edit{display:grid;grid-template-columns:1.3fr .55fr 1fr 1fr;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #273241}.fulfillment-edit input{margin:0}.quote-preview{background:white;color:#111;border-radius:10px;padding:24px}.quote-preview h2{font-size:22px}.quote-preview-row{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:8px 0}.quote-preview-total{font-size:20px;font-weight:800;border-top:2px solid #111;margin-top:12px;padding-top:10px;display:flex;justify-content:space-between}.danger{color:#ff9a9a;border-color:#633038}.quote-document{display:none}.quote-logo{font-size:22px;font-weight:900;letter-spacing:.08em}.quote-logo span{color:#c79a00}.quote-header,.quote-meta,.quote-totals{display:flex;justify-content:space-between;gap:30px}.quote-header{padding-bottom:22px;border-bottom:3px solid #111}.quote-title{text-align:right}.quote-title h1{font-size:28px;margin:0}.quote-meta{padding:22px 0}.quote-block{flex:1}.quote-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#666;margin-bottom:4px}.quote-table{width:100%;border-collapse:collapse}.quote-table th,.quote-table td{padding:10px 8px;border-bottom:1px solid #ddd;text-align:left}.quote-table th{background:#f3f3f3;color:#333}.quote-table .number{text-align:right}.quote-totals{justify-content:flex-end;padding-top:20px}.quote-total-box{width:280px}.quote-total-row{display:flex;justify-content:space-between;padding:7px 0}.quote-total-row.grand{font-size:20px;font-weight:800;border-top:2px solid #111;margin-top:5px}.quote-terms{margin-top:30px;border-top:1px solid #bbb;padding-top:14px;font-size:11px;color:#444}.quote-footer{margin-top:30px;text-align:center;font-size:10px;color:#666}@media(max-width:720px){.workspace-grid,.workspace-grid.three,.detail-grid,.summary-strip{grid-template-columns:1fr 1fr}.fulfillment-edit{grid-template-columns:1fr 70px}.fulfillment-edit>*:nth-child(3),.fulfillment-edit>*:nth-child(4){grid-column:span 1}.workspace-modal{height:94vh}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1}}@media(max-width:480px){.workspace-grid,.workspace-grid.three,.detail-grid,.summary-strip{grid-template-columns:1fr}.modal-backdrop{padding:6px}.workspace-modal{height:98vh;padding:13px}.modal-actions button{min-width:30%}}@media print{body{background:white!important;color:#111!important}.app-shell,.modal-backdrop,#toast{display:none!important}#print-quote{display:block!important}.quote-document{display:block!important;padding:0;font:12px/1.4 Arial,sans-serif;color:#111}@page{size:letter;margin:.55in}}
.sync-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.sync-summary>div{display:flex;flex-direction:column;gap:2px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.sync-summary b{font-size:24px}.sync-summary span{color:var(--muted);font-size:11px}.sync-summary .waiting{border-color:#6b5922}.sync-summary .attention{border-color:#7a3039}.sync-filter{display:flex;gap:7px;margin-bottom:12px;padding:5px;background:#0d131a;border:1px solid var(--line);border-radius:12px}.sync-filter button{flex:1;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px 6px;font-weight:800}.sync-filter button.active{background:var(--surface2);color:white}.sync-activity-list{display:grid;gap:10px}.sync-activity-card{padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.sync-activity-card.conflict{border-color:#71323a}.sync-activity-card.waiting{border-color:#6b5922}.sync-activity-head,.sync-activity-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.sync-state{font-weight:900;color:var(--green)}.sync-activity-card.conflict .sync-state{color:var(--red)}.sync-activity-card.waiting .sync-state{color:var(--yellow)}.sync-activity-main{display:flex;align-items:center;gap:12px;padding:14px 0}.sync-activity-main h2{font-size:17px}.sync-activity-main p{margin:3px 0 0;color:var(--muted)}.sync-action{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:13px;font-size:11px;font-weight:900;background:#173a29;color:#72e1a2}.sync-action.checkout{background:#182f4b;color:#8fc1ff}.sync-conflict-review,.sync-resolution{margin-top:13px;padding:13px;background:#171c24;border-radius:11px}.sync-conflict-review p{margin:0 0 10px;color:#ffb2b2}.sync-conflict-review textarea{width:100%;margin-top:5px;background:#0d131a;border:1px solid var(--line);border-radius:8px;color:white;padding:10px;resize:vertical}.sync-conflict-review>div{display:flex;gap:8px;margin-top:10px}.sync-conflict-review button{flex:1}.sync-resolution{display:flex;flex-direction:column;gap:3px}.sync-resolution span{color:var(--muted);font-size:12px}@media(max-width:480px){.sync-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.sync-summary>div{padding:12px 9px}.sync-filter{position:sticky;top:76px;z-index:2}.sync-conflict-review>div{display:grid}.sync-activity-meta{flex-wrap:wrap}}
.device-storage-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:-2px 0 14px;padding:14px;background:linear-gradient(135deg,#13243a,#111720);border:1px solid #29476b;border-radius:14px}.device-storage-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#2463a5;color:white;font-size:20px;font-weight:900}.device-storage-card div{display:flex;min-width:0;flex-direction:column}.device-storage-card small{color:var(--muted)}.device-storage-card em{color:var(--green);font-size:11px;font-style:normal;font-weight:900}@media(max-width:480px){.device-storage-card{grid-template-columns:auto 1fr}.device-storage-card em{grid-column:2}}
.project-offline-toggle{margin-left:auto;white-space:nowrap;font-size:11px}@media(max-width:480px){.modal-head{flex-wrap:wrap}.project-offline-toggle{order:3;width:100%;margin:8px 0 0}}
