*{box-sizing:border-box}:root{color:#13182d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Montserrat,Segoe UI,sans-serif}body{min-width:320px;margin:0}@font-face{font-family:Montserrat;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/montserrat-var.woff2)format("woff2")}:root{--primary:#009aa8;--primary-hover:#007f8b;--dark-bg:#13182d;--page-bg:#f4f6f8;--card-bg:#fff;--text-main:#13182d;--text-muted:#5f6675;--text-light:#707684;--border-color:#e1e5ea;--border-input:#d7dce3;--edit-bg:#e0e7ff;--edit-text:#3730a3;--edit-hover:#c7d2fe;--danger-bg:#fee2e2;--danger-text:#b4232c;--danger-hover:#fecaca;--success-bg:#dcfce7;--success-text:#15803d;--success-hover:#bbf7d0;--warning-bg:#fef3c7;--warning-text:#92400e;--warning-hover:#fde68a;--neutral-bg:#e2e8f0;--neutral-text:#475569;--pdf-navy:#1c2848;--pdf-accent:#0e6b74;--radius-sm:6px;--radius-md:9px;--radius-lg:14px;--shadow-soft:0 8px 24px #13182d0b;--shadow-topbar:0 8px 24px #13182d26}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app-shell{background:var(--page-bg);min-height:100vh}.topbar{background:var(--dark-bg);box-shadow:var(--shadow-topbar);justify-content:space-between;align-items:center;min-height:82px;padding:0 28px;display:flex}.brand{color:#fff;align-items:center;gap:14px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:72px;height:48px}.brand strong,.brand small{display:block}.brand strong{font-size:.95rem}.brand small,.environment,.eyebrow,.status{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.brand small{color:#ffffffa6;margin-top:3px}.topbar nav{gap:4px;display:flex}.nav-link{color:#ffffffb8;border-radius:7px;padding:9px 12px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{color:#fff;background:#ffffff2e;font-weight:700}.user-session{flex-shrink:1;align-items:center;gap:12px;min-width:0;display:flex}.user-session-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.user-session-name small{color:#fff9;font-weight:500}.nav-toggle{cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:none}.nav-toggle-icon{background:#fff;border-radius:2px;width:20px;height:2px;transition:background .15s;display:block;position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";background:#fff;border-radius:2px;width:20px;height:2px;transition:transform .15s,top .15s;position:absolute;left:0}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-icon{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle-icon:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}.dashboard{max-width:1200px;margin:0 auto;padding:56px 28px}.page-heading,.form-card-heading,.form-actions{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.eyebrow{color:var(--primary);margin:0 0 8px;font-weight:700}.page-heading h1,.form-card h2,.notice-card h2{color:var(--text-main);margin:0}.page-heading h1{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3rem)}.intro{color:var(--text-muted);max-width:620px;margin:10px 0 0}.primary-button,.secondary-button,.edit-button,.danger-button,.icon-button{border-radius:var(--radius-md);cursor:pointer;font:inherit;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .15s}.primary-button{background:var(--primary);border:1px solid var(--primary);color:#fff;white-space:nowrap;padding:12px 18px}.primary-button:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}.secondary-button{background:var(--card-bg);border:1px solid var(--border-input);color:var(--text-main);padding:12px 18px}.secondary-button:hover{background:#f8fafc;border-color:#cbd5e1}.icon-button{color:var(--text-main);background:#eef0f3;border:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.25rem;line-height:1;display:inline-flex}.icon-button:hover{background:#e2e8f0}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;display:grid}.feature-card,.table-card,.form-card,.notice-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.feature-card{min-height:190px;padding:24px}.clickable-card{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}.clickable-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 12px 28px #13182d14}.card-number{color:var(--primary);font-size:.8rem;font-weight:800}.feature-card h2{color:var(--text-main);margin:22px 0 8px;font-size:1.2rem}.feature-card p,.notice-card p{color:var(--text-muted);margin:0;line-height:1.5}.status{color:#6a7280;margin-top:24px;font-weight:700;display:inline-block}.form-card,.notice-card{margin-top:34px;padding:26px}.form-card-heading{align-items:center;margin-bottom:22px}.product-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.product-form label{color:#555c69;font-size:.78rem;font-weight:700}.product-form input,.product-form select,.product-form textarea{background:var(--card-bg);border:1px solid var(--border-input);color:var(--text-main);font:inherit;border-radius:8px;width:100%;margin-top:7px;padding:10px 11px;transition:border-color .15s,box-shadow .15s}.product-form input:focus,.product-form select:focus,.product-form textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #009aa826}.select-input{background:var(--card-bg);border:1px solid var(--border-input);color:var(--text-main);font:inherit;border-radius:8px;padding:10px 11px;transition:border-color .15s,box-shadow .15s}.select-input:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #009aa826}.table-inline-input{color:var(--text-main);font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;transition:border-color .15s,background-color .15s,box-shadow .15s}.table-inline-input:hover{background:var(--card-bg);border-color:var(--border-input)}.table-inline-input:focus{background:var(--card-bg);border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #009aa826}.product-form input[aria-invalid=true],.product-form textarea[aria-invalid=true]{border-color:var(--danger-text)}.field-error{color:var(--danger-text);margin-top:5px;font-size:.75rem;font-weight:600;line-height:1.35;display:block}.full-width{grid-column:1/-1}.form-actions{justify-content:flex-end}.table-card{margin-top:34px;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border-color);text-align:left;vertical-align:middle;padding:14px 16px}th{color:#555c69;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}td{color:#4b5260;font-size:.85rem}tbody tr{transition:background-color .15s}tbody tr:hover{background-color:#f8fafc}td strong,td small{display:block}td strong{color:var(--text-main)}td small{color:var(--text-light);max-width:280px;margin-top:4px}.action-cell{white-space:nowrap}.action-buttons{justify-content:flex-end;align-items:center;gap:8px;display:flex}.edit-button,.danger-button{border-radius:var(--radius-sm);box-shadow:none;border:0;outline:none;padding:6px 12px;font-size:.8rem;font-weight:600}.edit-button{background-color:var(--edit-bg);color:var(--edit-text)}.edit-button:hover{background-color:var(--edit-hover);transform:translateY(-1px)}.danger-button{background-color:var(--danger-bg);color:var(--danger-text)}.danger-button:hover{background-color:var(--danger-hover);transform:translateY(-1px)}.quote-row-label{color:#64748b;flex-shrink:0;font-size:.75rem;font-weight:700}.status-pill{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:6px 12px;font-size:.8rem;font-weight:600;transition:transform .15s,box-shadow .15s}.status-pill:hover{transform:translateY(-1px)}.status-pill--empty{background:var(--card-bg);border-color:var(--border-input);color:var(--text-muted)}.status-pill--set{background:var(--pill-bg,transparent);color:var(--pill-text,inherit);border-color:#0000}.status-pill--active{background:var(--pill-text,var(--primary));color:#fff;box-shadow:0 1px 3px #0f172a33}.notice-card{max-width:720px}.notice-card p{margin:12px 0 24px}.quote-section{margin-top:24px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.section-heading h2{color:var(--text-main);margin:0;font-size:1.1rem}.section-heading span{color:#6a7280;font-size:.75rem;font-weight:700}.empty-copy,.empty-table{color:#6a7280;text-align:center;padding:28px}.empty-copy a{color:var(--primary-hover);font-weight:700}.quote-bottom{grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:24px;display:grid}.notes-field,.totals-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px}.notes-field{color:#555c69;font-size:.78rem;font-weight:700}.notes-field textarea,.totals-card input{background:var(--card-bg);border:1px solid var(--border-input);font:inherit;border-radius:8px;width:100%;margin-top:7px;padding:10px 11px}.totals-card label{color:#555c69;margin-bottom:12px;font-size:.75rem;font-weight:700;display:block}.totals-card>div{justify-content:space-between;padding:7px 0;font-size:.88rem;display:flex}.grand-total{border-top:1px solid var(--border-color);color:var(--text-main);margin-top:7px;padding-top:15px!important;font-size:1.1rem!important}.grand-total strong{color:var(--primary)}.form-error{color:var(--danger-text);margin:16px 0 0;font-size:.85rem;font-weight:700}.quote-save{justify-content:flex-end;margin-top:24px;display:flex}@media (width<=760px){.topbar{flex-wrap:wrap;gap:10px 12px;padding:14px 18px}.brand img{width:58px;height:42px}.brand strong,.brand small{display:none}.user-session-name{max-width:34vw;font-size:.78rem}.nav-toggle{display:flex}.topbar nav{flex-direction:column;gap:4px;width:100%;display:none}.topbar nav.nav-open{padding-top:14px;display:flex}.nav-link{text-align:center;padding:12px 14px;font-size:.92rem}.dashboard{padding:40px 18px}.page-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:20px}.page-heading>a.secondary-button{align-self:flex-start}.feature-grid,.product-form,.quote-bottom{grid-template-columns:1fr}.quote-save-actions{flex-direction:column}.quote-save-actions button{width:100%}.quote-row-actions{flex-direction:column;align-items:stretch;width:80vw;position:sticky;left:0}.quote-row-actions>a,.quote-row-actions>button{text-align:center;width:100%}.quote-row-actions>.row-actions-spacer{display:none}.purchase-order-actions{flex-direction:column;width:100%}.purchase-order-actions a,.purchase-order-actions button{text-align:center;width:100%}.pdf-modal-footer{flex-direction:column}.pdf-modal-footer>button{width:100%}.pdf-modal-footer>div{flex-wrap:wrap;width:100%}.pdf-modal-body{overflow-x:auto;justify-content:flex-start!important}.pdf-sheet{margin:0!important}.printable-area-scroll{overflow-x:auto}#printable-area{margin-left:0!important;margin-right:0!important}input,select,textarea{font-size:16px!important}.product-modal input,.product-modal select,.product-modal textarea{width:100%!important}.product-modal-grid{grid-template-columns:1fr!important}.product-modal-row{flex-direction:column!important;align-items:stretch!important}.product-modal-upload-btn{justify-content:center!important;width:100%!important}.product-modal-price-box{border-top:1px solid #e2e8f0!important;border-left:none!important;align-items:flex-start!important;padding-top:12px!important;padding-left:0!important}.product-modal-actions{flex-direction:column-reverse!important}.product-modal-actions button{width:100%}.chat-modal-overlay{padding:0!important}.chat-modal-card{border-radius:0!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important}.chat-name-form{flex-direction:column}.chat-input-row{flex-direction:column;align-items:stretch!important}.chat-name-form button,.chat-input-row>button{width:100%}.photo-annotator-actions{flex-direction:column!important}.photo-annotator-actions-group{width:100%}.photo-annotator-actions-group button{flex:1}.presence-sidebar-card{max-width:100%!important}.general-chat-card{height:calc(100dvh - 260px)!important;max-height:none!important}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#13182d73;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.18s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:440px;max-height:90vh;padding:24px;animation:.18s cubic-bezier(.16,1,.3,1) scaleUp;overflow-y:auto;box-shadow:0 20px 40px #13182d33}.modal-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:1.15rem}.modal-icon{background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.modal-header.danger .modal-icon{background:var(--danger-bg)}.modal-header.info .modal-icon{background:var(--edit-bg)}.modal-body{color:var(--text-muted);margin:0 0 24px;font-size:.9rem;line-height:1.5}.modal-body strong{color:var(--text-main)}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.modal-btn{padding:10px 16px!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.split-quote-container{grid-template-columns:1.1fr .9fr;gap:32px;margin-top:28px;display:grid}.preview-sticky-wrapper{position:sticky;top:24px}.preview-badge{background:var(--dark-bg);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:#fff;letter-spacing:.08em;text-align:center;padding:8px 16px;font-size:.7rem;font-weight:800}.quote-save-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.pdf-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.pdf-modal-card{border-radius:var(--radius-lg);background:#fff;flex-direction:column;width:100%;max-width:900px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 20px 30px #0003}.pdf-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.pdf-modal-header h3{color:var(--text-main);margin:0;font-size:1.15rem}.pdf-modal-body{background:#f1f5f9;flex:1;justify-content:center;align-items:flex-start;padding:32px 24px;display:flex;overflow-y:auto}.pdf-modal-footer{border-top:1px solid var(--border-color);background:#fff;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.chat-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.chat-modal-card{border-radius:var(--radius-lg);background:#fff;flex-direction:column;width:100%;max-width:480px;height:640px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 30px #0003}.chat-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chat-modal-header h3{color:var(--text-main);margin:0;font-size:1.05rem}.chat-participants{color:var(--text-muted);margin:4px 0 0;font-size:.75rem}.chat-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.chat-date-divider{justify-content:center;margin:4px 0;display:flex}.chat-date-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:#e2e8f0;border-radius:999px;padding:3px 12px;font-size:.7rem;font-weight:700}.chat-message-system{text-align:center;background:0 0;border:none;padding:0 4px}.chat-message-system .chat-message-meta{display:none}.chat-message-system p{color:var(--text-muted);font-size:.78rem;font-style:italic}.chat-modal-body{background:#f8fafc;flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;position:relative;overflow-y:auto}.chat-modal-body--drag-over{outline:2px dashed var(--primary);outline-offset:-8px;background:#eef2ff}.chat-drop-overlay{color:var(--primary);pointer-events:none;text-align:center;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex;position:absolute;inset:0}.chat-attachment-image{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;object-fit:contain;max-width:100%;max-height:220px;margin-top:6px;display:block}.chat-attachment-pdf{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;word-break:break-all;background:#eef2ff;margin-top:6px;padding:6px 10px;font-family:inherit;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-block}.chat-attachment-pdf:hover{text-decoration:underline}.chat-compose{flex-direction:column;gap:8px;display:flex}.chat-pending-attachment{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f8fafc;align-items:center;gap:10px;padding:6px 10px;display:flex}.chat-pending-attachment img{object-fit:cover;border-radius:4px;width:40px;height:40px}.chat-pending-attachment-pdf{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.chat-pending-attachment .icon-button{flex-shrink:0;width:26px;height:26px}.chat-image-lightbox{z-index:10000;background:#0f172acc;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.chat-image-lightbox img{object-fit:contain;border-radius:8px;max-width:90vw;max-height:90vh}.chat-image-lightbox-close{position:absolute;top:20px;right:20px}.photo-annotator-overlay{z-index:10001;background:#0f172acc;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.photo-annotator-card{border-radius:var(--radius-lg);background:#fff;flex-direction:column;gap:12px;max-width:92vw;max-height:92vh;padding:16px;display:flex}.photo-annotator-header{justify-content:space-between;align-items:center;display:flex}.photo-annotator-canvas-wrap{justify-content:center;display:flex;overflow:auto}.photo-annotator-canvas{object-fit:contain;touch-action:none;cursor:crosshair;max-width:100%;max-height:70vh}.photo-annotator-actions{justify-content:space-between;gap:8px;display:flex}.photo-annotator-actions-group{gap:8px;display:flex}.chat-empty{color:var(--text-muted);text-align:center;margin:auto 0;font-size:.85rem}.chat-message{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;padding:10px 12px}.chat-message-meta{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;font-size:.72rem;font-weight:700;display:flex}.chat-message p{color:var(--text-main);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9rem}.chat-modal-footer{border-top:1px solid var(--border-color);background:#fff;padding:14px 20px}.chat-input-row{align-items:flex-end;gap:10px;display:flex}.chat-input-main{flex:1;align-items:center;gap:8px;display:flex}.chat-attach-button{flex-shrink:0;padding:0;font-size:1.4rem;line-height:1}.chat-input-row textarea{border:1px solid var(--border-input);border-radius:var(--radius-sm);font:inherit;resize:none;flex:1;padding:9px 12px}.chat-name-form{gap:10px;display:flex}.chat-name-form input{border:1px solid var(--border-input);border-radius:var(--radius-sm);font:inherit;flex:1;padding:9px 12px}.chat-button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.chat-unread-dot{background:var(--danger-text);border-radius:50%;width:7px;height:7px;display:inline-block}.card-alert-dot{background:var(--danger-text);box-shadow:0 0 0 3px var(--card-bg);border-radius:50%;width:10px;height:10px;position:absolute;top:16px;right:16px}.nav-alert-dot{background:var(--danger-text);box-shadow:0 0 0 2px var(--dark-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.general-chat-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;flex-direction:column;flex:1;min-width:0;height:70vh;max-height:640px;display:flex;overflow:hidden}.general-chat-layout{align-items:stretch;gap:16px;display:flex}.general-chat-presence-panel{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fff;flex-direction:column;flex-shrink:0;width:260px;height:70vh;max-height:640px;display:none;overflow:hidden}.general-chat-toggle-presence{align-items:center;gap:8px;display:inline-flex}@media (width>=761px){.general-chat-presence-panel{display:flex}.general-chat-toggle-presence{display:none}}.presence-sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#0f172a73;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.presence-sidebar-card{background:#fff;flex-direction:column;width:100%;max-width:340px;height:100%;display:flex;box-shadow:-12px 0 24px #0000001f}.presence-sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.presence-sidebar-header h3{color:var(--text-main);margin:0;font-size:1.05rem}.presence-sidebar-summary{color:var(--text-muted);margin:0;padding:12px 20px 0;font-size:.78rem}.presence-sidebar-body{flex-direction:column;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.presence-row{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 12px;display:flex}.presence-row:hover{background:#f8fafc}.presence-row-clickable{cursor:pointer}.presence-row-clickable:hover{background:#eef2ff}.presence-invited-badge{color:var(--success-text);text-transform:uppercase;margin-left:auto;font-size:.7rem;font-weight:700}.presence-dot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:10px;height:10px}.presence-dot-online{background:var(--success-text);box-shadow:0 0 0 3px var(--success-bg)}.presence-dot-lg{width:13px;height:13px}.presence-name{color:var(--text-main);font-size:.9rem;font-weight:600}.presence-unread-dot{background:var(--danger-text);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pdf-sheet{box-shadow:none;box-sizing:border-box;color:#0f172a;background:#fff;border:none;border-radius:0;flex-shrink:0;width:800px;margin:0 auto;padding:0;font-family:Montserrat,system-ui,-apple-system,sans-serif;overflow:hidden}.pdf-banner-image{width:100%;display:block}.pdf-body{flex-direction:column;padding:0 32px;display:flex}.pdf-body--pinned{min-height:828px}.pdf-header{border-bottom:2px solid var(--primary);justify-content:space-between;align-items:flex-start;margin-bottom:28px;padding-bottom:20px;display:flex}.pdf-brand{align-items:center;gap:16px;display:flex}.pdf-logo-badge{object-fit:contain;width:52px;height:52px}.pdf-brand-title{color:var(--pdf-navy);margin:0 0 4px;font-size:1.25rem;font-weight:800}.pdf-muted-text{color:var(--text-muted);margin:2px 0 0;font-size:.82rem}.pdf-quote-badge{text-align:right}.pdf-quote-badge h3{color:var(--primary);letter-spacing:.05em;margin:0 0 4px;font-size:1.3rem;font-weight:800}.pdf-number{color:var(--pdf-navy);margin:0 0 6px;font-size:.74rem;font-weight:700}.pdf-date-text{color:var(--text-muted);margin:2px 0 0;font-size:.74rem}.pdf-label{color:var(--pdf-navy);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800;display:block}.pdf-info-row{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex;position:relative}.pdf-info-main{margin-top:-7mm;font-family:Montserrat,system-ui,-apple-system,sans-serif}.pdf-info-main p{color:var(--pdf-navy);margin:0 0 3px;font-size:.78rem;font-weight:300}.pdf-info-label{font-weight:600}.pdf-info-value{text-transform:uppercase;font-weight:500}.pdf-info-side{text-align:right;white-space:nowrap}.pdf-table{border-collapse:collapse;box-sizing:border-box;table-layout:fixed;margin-bottom:28px;width:100%!important;min-width:0!important}.pdf-table th,.pdf-table td{box-sizing:border-box;word-wrap:break-word;padding:10px 8px}.pdf-table tbody tr:last-child td{border-bottom:none}.pdf-table-head-color th{color:#fff;letter-spacing:.04em;padding:3.5px 8px;font-size:.68rem;font-weight:400}.pdf-item-title{color:var(--pdf-navy);font-size:.78rem;font-weight:700;display:block}.pdf-item-desc{color:var(--text-muted);margin:3px 0 0;font-size:.66rem;line-height:1.4}.pdf-unit-tag{color:var(--pdf-accent);margin-top:4px;font-size:.68rem;font-weight:600;display:inline-block}.pdf-sample-image-row td{padding:4px 8px 18px}.pdf-sample-image-large{border:1px solid var(--border-color);object-fit:contain;border-radius:8px;max-width:100%;max-height:340px;margin:0 auto;display:block}.pdf-empty-cell{color:var(--text-muted);text-align:center;padding:24px!important}.pdf-table--blank td{border-bottom:1px solid var(--border-color);height:30px}.pdf-editable-cell,.pdf-editable-inline{cursor:text;white-space:pre-wrap;outline:none}.pdf-editable-cell:focus,.pdf-editable-inline:focus{background:#fffbea}.pdf-editable-inline{min-width:60px;display:inline-block}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.bold{font-weight:700}.pdf-table th:last-child,.pdf-table td:last-child{padding-right:12px!important}.pdf-footer-grid{grid-template-columns:1fr 280px;align-items:start;gap:24px;display:grid}.pdf-footer-grid--pinned{margin-top:auto}.pdf-notes-box,.pdf-totals-box{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#f8fafc;padding:12px}.pdf-totals-box{box-shadow:0 2px 6px #0f172a1a}.pdf-notes-plain{min-height:90px;padding:4px 0}.pdf-notes-box{min-height:130px}.pdf-notes-box p{color:var(--pdf-navy);white-space:pre-line;margin:6px 0 0;font-size:.7rem;line-height:1.5}.pdf-total-row{color:var(--text-muted);justify-content:space-between;gap:10px;padding:5px 0;font-size:.78rem;display:flex}.pdf-total-row.grand-total{color:var(--pdf-navy);border-top:2px solid #cbd5e1;margin-top:8px;padding-top:10px;font-size:.95rem;font-weight:800}.pdf-totals-box--compact{max-width:205px;margin-left:auto;padding:10px}.pdf-totals-box--compact .pdf-total-row{gap:6px;padding:3px 0;font-size:.64rem}.pdf-totals-box--compact .pdf-total-row>span:first-child{flex-shrink:0}.pdf-totals-box--compact .pdf-total-row.grand-total{border-top-width:1px;margin-top:6px;padding-top:7px;font-weight:700}.pdf-total-row.grand-total{justify-content:flex-end}.pdf-total-row.grand-total strong{color:var(--pdf-navy);font-size:.85rem}.pdf-signature-area{text-align:center;width:220px;margin:auto auto 12px;padding-top:80px}.pdf-signature-line{border-top:1px solid var(--pdf-navy);width:100%}.pdf-signature-caption{color:var(--text-muted);margin-top:6px;font-size:.72rem;display:block}#print-root{display:none}@media print{@page{margin:8mm 5mm 44mm;size:A4 portrait}html,body{background:#fff!important;height:auto!important;margin:0!important;padding:0!important}#root{display:none!important}#print-root{margin:0!important;padding:0!important;display:block!important}.pdf-sheet{box-shadow:none!important;border:none!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.pdf-body{padding-bottom:0!important}.pdf-footer-image{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}.pdf-header,.pdf-info-row,.pdf-footer-grid,tr{break-inside:avoid!important;page-break-inside:avoid!important}.pdf-signature-area{break-inside:avoid!important;page-break-inside:avoid!important;margin:auto auto 12px!important;padding-top:80px!important;position:static!important}}.import-button{background:var(--card-bg);border:1px solid var(--border-input);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;padding:12px 18px;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex}.import-button:hover{border-color:var(--primary);color:var(--primary)}.search-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0;padding:18px 24px;display:flex}.search-input-wrapper{align-items:center;width:100%;max-width:430px;display:flex;position:relative}.search-input{border:1px solid var(--border-input);border-radius:var(--radius-md);width:100%;color:var(--text-main);font:inherit;background:#f8fafc;padding:11px 42px;transition:all .2s}.search-input:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #009aa826}.search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:.9rem;position:absolute;right:12px}.search-counter{color:var(--text-muted);background:#f1f5f9;border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:600}
