.app-root{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.page-container{flex-direction:column;flex:1;display:flex;overflow:hidden}.admin-loading{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:1rem;display:flex}.about-modal{text-align:center;padding:20px 4px 8px}.about-app-name{color:var(--navy);margin-bottom:16px;font-size:20px;font-weight:700}.about-row{border-top:1px solid var(--border-light);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.about-row:first-of-type{border-top:none}.about-label{color:var(--text-muted);font-weight:600}.about-value{color:var(--text)}.autocomplete-wrap{position:relative}.autocomplete-dropdown{z-index:9999;background:var(--surface-elevated,#fff);border:1px solid var(--border,#e2e8f0);border-radius:6px;max-height:200px;margin:0;padding:4px 0;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 4px 14px #0000001f}.autocomplete-item{cursor:pointer;color:var(--text-primary,#1a202c);-webkit-user-select:none;user-select:none;padding:7px 12px;font-size:13px;line-height:1.4}.autocomplete-item:hover,.autocomplete-item--active{background:var(--surface-hover,#f0f4f8);color:var(--accent,#2563eb)}.badge{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-green{color:#155724;background:#d4edda}.badge-orange{color:#854e00;background:#ffe5cc}.badge-yellow{color:#856404;background:#fff3cd}.badge-red{color:#721c24;background:#f8d7da}.badge-darkred{color:#f8d7da;background:#721c24}.badge-grey{color:#383d41;background:#e2e3e5}.badge-purple{color:#6f42c1;background:#e8d5f5}.badge-blue{color:#004085;background:#cce5ff}.badge-gold{color:#856404;background:#fdf3d0}.badge-teal{color:#0e6b65;background:#ccf2f0}.badge-amber{color:#7a4f00;background:#fff0cc}.badge-pink{color:#880e4f;background:#fce4ec}.cw-root{background:var(--bg-white);flex-direction:column;height:100%;min-height:0;display:flex}.cw-list{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 16px 8px;display:flex;overflow-y:auto}.cw-empty{color:var(--text-muted);text-align:center;padding:32px 0;font-size:13px}.cw-item{align-items:flex-start;gap:10px;display:flex}.cw-item-own{flex-direction:row-reverse}.cw-avatar{background:var(--navy,#1a2b4a);color:#fff;letter-spacing:.5px;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.cw-avatar-self{background:var(--primary,#0078d4)}.cw-bubble{min-width:0;max-width:75%}.cw-item-own .cw-bubble{align-items:flex-end}.cw-meta{align-items:center;gap:8px;margin-bottom:4px;display:flex}.cw-item-own .cw-meta{flex-direction:row-reverse}.cw-name{color:var(--navy,#1a2b4a);white-space:nowrap;font-size:12px;font-weight:700}.cw-time{color:var(--text-muted);white-space:nowrap;font-size:11px}.cw-del{cursor:pointer;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px 4px;transition:color .12s,background .12s;display:flex}.cw-item:hover .cw-del,.cw-item-own:hover .cw-del{opacity:1}.cw-del:hover{color:var(--danger,#c62828);background:var(--danger-bg,#fff0f0)}.cw-del:disabled{opacity:.4;cursor:not-allowed}.cw-content{background:var(--bg,#f5f7fb);border:1px solid var(--border-light);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:0 10px 10px;padding:8px 12px;font-size:13px;line-height:1.5}.cw-item-own .cw-content{color:#1a2b4a;background:#e8f0fe;border-color:#c5d5f5;border-radius:10px 0 10px 10px}.cw-input-area{border-top:1px solid var(--border-light);background:var(--bg-white);flex-shrink:0;padding:12px 16px 14px}.cw-error{color:var(--danger,#c62828);margin-bottom:8px;font-size:12px}.cw-input-row{align-items:flex-end;gap:8px;display:flex}.cw-textarea{resize:none;border:1px solid var(--border);color:var(--text);background:var(--bg);border-radius:8px;flex:1;min-height:40px;max-height:120px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.cw-textarea:focus{border-color:var(--primary,#0078d4);background:var(--bg-white);outline:none}.cw-textarea:disabled{opacity:.6;cursor:not-allowed}.cw-send{background:var(--primary,#0078d4);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,opacity .12s;display:flex}.cw-send:hover:not(:disabled){background:#005fa3}.cw-send:disabled{opacity:.45;cursor:not-allowed}.criteria-builder{flex-direction:column;gap:8px;display:flex}.criteria-builder-empty{color:#888;padding:4px 0;font-size:.82rem;font-style:italic}.criteria-builder-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.criteria-builder-field{flex:220px;gap:8px;min-width:160px;display:flex}.criteria-builder-field .form-input{flex:auto;min-width:140px}.criteria-builder-operator{flex:0 0 160px}.criteria-builder-value{flex:160px;min-width:120px}.criteria-builder-row .form-input{width:100%}.criteria-builder-remove{color:#c0392b;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.criteria-builder-remove:hover{background:#fdf1f0;border-color:#f5c6cb}.criteria-builder-add{color:#555;cursor:pointer;background:#fff;border:1px dashed #ccc;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;display:inline-flex}.criteria-builder-add:hover{background:#f7f7f7;border-color:#999}.datatable-wrapper{scroll-behavior:smooth;outline:none;flex:1;min-height:0;overflow:auto}.datatable{border-collapse:collapse;width:100%;font-size:13px}.datatable thead th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;-webkit-user-select:none;user-select:none;background:#f4f4f6;padding:8px 10px;font-size:12px;font-weight:600;position:sticky;top:0}.datatable thead th.sortable{cursor:pointer}.datatable thead th.sortable:hover{color:var(--navy);background:#ecedf1}.datatable thead th.sort-active{color:var(--navy);background:#e8edf5}.sort-icon{opacity:.45;margin-left:2px;font-size:10px}.datatable thead th.sort-active .sort-icon{opacity:1}.datatable tbody tr{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}.datatable tbody tr:nth-child(2n){background:#f5f7fb}.datatable tbody tr:nth-child(odd){background:#fff}.datatable tbody tr:hover{background:#eaecf5!important}.datatable tbody tr.selected{background:#e8f0fe!important}.datatable tbody td{color:var(--text);vertical-align:middle;padding:7px 10px}.empty-row{text-align:center;color:var(--text-muted);cursor:default!important;padding:32px!important}.evlog-list{border:1px solid var(--border-light);background:#fff;border-radius:8px;overflow:hidden}.evlog-row{border:none;border-bottom:1px solid var(--border-light);text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:3px 12px;padding:10px 36px 10px 14px;display:grid;position:relative}.evlog-row:last-child{border-bottom:none}.evlog-row:hover,.evlog-row:active{background:var(--bg)}.evlog-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.evlog-end{text-align:right}.evlog-time{grid-column:span 2}.evlog-name{font-size:14px;font-weight:600}.evlog-category{color:var(--text-secondary);font-size:13px}.evlog-sub{color:var(--text-muted);font-size:12px}.evlog-summary{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;font-size:12px;display:-webkit-box;overflow:hidden}.evlog-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.evlog-actions .btn{flex:120px;justify-content:center;min-height:44px}.evlog-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:monospace;font-size:12px}.evlog-chevron{color:var(--text-muted);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.evlog-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.evlog-back{min-height:44px;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;margin:-6px 0 6px -8px;padding:0 10px 0 4px;font-size:14px;font-weight:600;display:inline-flex}.evlog-back:hover{background:var(--bg)}.evlog-detail-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.evlog-detail-title{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700}.evlog-fields{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 24px;margin:0;display:grid}.evlog-field{border-bottom:1px solid var(--border-light);min-width:0;padding:10px 0}.evlog-field dt{text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:11px;font-weight:600}.evlog-field dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:14px}.evlog-filter-toggle{display:none}@media (width<=768px){.evlog-filter-toggle{border:1px solid var(--border-light);width:100%;min-height:44px;font:inherit;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.evlog-filter-count{background:var(--accent);color:#fff;text-align:center;border-radius:10px;min-width:20px;padding:1px 6px;font-size:11px}.evlog-filter-chevron{margin-left:auto;transition:transform .2s}.evlog-filter-chevron.open{transform:rotate(180deg)}.evlog-filters.collapsed{display:none!important}.evlog-filters>.btn{order:1}.evlog-filters .evlog-filter-wide{order:2}.evlog-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px!important;display:grid!important}.evlog-filters .form-field{width:auto!important;min-width:0!important}.evlog-filters .evlog-filter-wide{grid-column:1/-1}.evlog-filters .form-select,.evlog-filters .form-input{box-sizing:border-box;width:100%;min-height:44px}.evlog-filters .btn{justify-content:center;min-height:44px}.evlog-row{gap:4px 8px;min-height:56px;padding:12px 34px 12px 12px}.evlog-fields{grid-template-columns:1fr}}.files-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.file-toolbar{border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:5px;padding:12px 18px 10px;display:flex}.file-upload-btn{align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;display:flex}.file-upload-btn:disabled{opacity:.6;cursor:not-allowed}.file-error{color:#c00;background:#fff3f3;border:1px solid #fcc;border-radius:4px;flex-shrink:0;margin:8px 18px 0;padding:6px 10px;font-size:.8rem}.file-loading{color:#aaa;text-align:center;padding:10px 0;font-size:.82rem}.file-list{flex-direction:column;flex:1;gap:4px;padding:12px 18px;display:flex;overflow-y:auto}.file-row{background:#fff;border:1px solid #eee;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;transition:background .1s;display:flex}.file-row:hover{background:#f8f9fa}.file-row:hover .file-actions{opacity:1}.file-info{flex:1;min-width:0}.file-name{color:#222;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.file-meta{color:#aaa;margin-top:1px;font-size:.75rem}.file-actions{opacity:0;gap:3px;transition:opacity .15s;display:flex}.file-action-btn{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 5px;display:flex}.file-action-btn:hover{color:#333;background:#f0f0f0}.file-action-btn.danger:hover{color:#dc3545;background:#ffe6e6}.file-drop-zone{color:#bbb;cursor:pointer;border:2px dashed #ddd;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:44px 20px;font-size:.85rem;transition:border-color .15s,background .15s;display:flex}.file-drop-zone:hover{border-color:var(--accent);color:#888;background:#f5f8ff}.file-drop-zone-sm{flex-direction:row;gap:7px;margin-top:2px;padding:10px 14px;font-size:.78rem}.gs-wrap{width:360px;position:relative}.gs-box{background:#ffffff1f;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 10px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gs-box--active,.gs-box:focus-within{border-color:var(--navy,#1e3a5f);background:#fff;box-shadow:0 0 0 3px #1e3a5f1a}.gs-icon{color:#ffffffb3;flex-shrink:0;transition:color .15s}.gs-box--active .gs-icon,.gs-box:focus-within .gs-icon{color:#94a3b8}.gs-icon--spin{animation:.8s linear infinite gs-spin}@keyframes gs-spin{to{transform:rotate(360deg)}}.gs-input{color:#fff;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.875rem}.gs-box--active .gs-input,.gs-box:focus-within .gs-input{color:var(--text,#1e293b)}.gs-input::placeholder{color:#ffffff8c}.gs-box--active .gs-input::placeholder,.gs-box:focus-within .gs-input::placeholder{color:#94a3b8}.gs-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;line-height:1;display:flex}.gs-clear:hover{color:var(--text,#1e293b)}.gs-dropdown{border:1px solid var(--border,#e2e8f0);z-index:1200;background:#fff;border-radius:10px;min-width:420px;max-height:480px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 8px 28px #00000024}.gs-empty{text-align:center;color:#94a3b8;padding:20px;font-size:.85rem}.gs-group+.gs-group{border-top:1px solid var(--border,#e2e8f0)}.gs-group-header{text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;padding:8px 14px 3px;font-size:.7rem;font-weight:700}.gs-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 14px;transition:background .1s;display:flex}.gs-item:hover,.gs-item--active{background:#f8fafc}.gs-item-icon{flex-shrink:0;align-items:center;display:flex}.gs-item-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.gs-item-title{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.gs-item-sub{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.77rem;overflow:hidden}.gs-item-badge{letter-spacing:.02em;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:600}.gs-footer{border-top:1px solid var(--border,#e2e8f0);color:#94a3b8;gap:14px;padding:5px 14px;font-size:.7rem;display:flex}.lne{background:#fff;border:1px solid #ddd;border-radius:6px;flex-direction:column;flex:1;min-width:0;min-height:300px;transition:border-color .15s;display:flex;overflow:hidden}.lne:focus-within{border-color:#0078d4}.lne-toolbar{background:#fafafa;border-bottom:1px solid #eee;flex-shrink:0;gap:2px;padding:4px 6px;display:flex}.lne-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:28px;height:26px;display:inline-flex}.lne-btn:hover{background:#eee}.lne-btn.active{color:#0078d4;background:#e3f0fb;border-color:#b9d9f3}.lne-content{flex:1;min-height:0;overflow-y:auto}.lne-content .ProseMirror{outline:none;min-height:100%;padding:12px 14px;font-size:.875rem;line-height:1.6}.lne-content .ProseMirror p{margin:0 0 .4em}.lne-content .ProseMirror ul{margin:0 0 .4em;padding-left:1.5rem;list-style:outside}.lne-content .ProseMirror ol{margin:0 0 .4em;padding-left:1.5rem;list-style:decimal}.lne-content .ProseMirror li>p{margin:0}.lne-content .ProseMirror a{color:#0078d4;cursor:text;text-decoration:underline}.lne-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#aaa;pointer-events:none;height:0}.lne-dialog-body{flex-direction:column;gap:16px;padding:20px 24px 22px;display:flex}.lne-dialog-body .form-field{gap:6px}.lne-dialog-body .form-input{box-sizing:border-box;height:36px;padding:0 10px}.lne-dialog-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:8px;margin-top:4px;padding-top:16px;display:flex}.lne-remove{color:var(--danger,#c0392b);margin-right:auto}.lne-error{color:#c0392b;margin-top:-8px;font-size:.8rem}.modal-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-white);border-radius:8px;flex-direction:column;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000038}.modal-sm{width:400px}.modal-md{width:650px}.modal-lg{width:900px}.modal-xl,.modal-2xl{width:1100px;min-height:92vh;max-height:96vh}.modal-3xl{width:1400px;min-height:92vh;max-height:96vh}.modal-header{border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-title{color:var(--navy);flex:1;font-size:16px;font-weight:700}.modal-header-extra{flex-shrink:0;align-items:center;gap:8px;display:flex}.draft-badge{color:var(--accent);letter-spacing:.02em;background:#2d6a9f15;border:1px solid #2d6a9f30;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.draft-clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border-color:#0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:color .12s,background .12s,border-color .12s;display:flex}.draft-clear-btn:hover{color:#c0392b;background:#c0392b12;border-color:#c0392b30}.modal-close{color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background .12s,color .12s;display:flex}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-body-flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.nc-panel{top:var(--topbar-height);width:360px;max-height:calc(100vh - var(--topbar-height) - 24px);background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);z-index:900;flex-direction:column;animation:.15s nc-drop;display:flex;position:fixed;right:12px;overflow:hidden;box-shadow:0 8px 24px #00000024}@keyframes nc-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nc-header{border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.nc-title{color:var(--text);flex:1;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.nc-unread-badge{background:var(--red);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.nc-header-actions{align-items:center;gap:4px;display:flex}.nc-btn-text{color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:background .12s,color .12s;display:flex}.nc-btn-text:hover{background:var(--bg);color:var(--text)}.nc-btn-text--danger{color:var(--danger,#d32f2f);border-color:#0000}.nc-btn-text--danger:hover{color:var(--danger,#d32f2f);background:#fff0f0;border-color:#fcc}.nc-btn-icon{border-radius:var(--radius);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.nc-btn-icon:hover,.nc-btn-icon--active{background:var(--bg);color:var(--text);border-color:var(--border-light)}.nc-push-form{border-bottom:1px solid var(--border-light);background:var(--bg);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.nc-push-row{gap:8px;display:flex}.nc-push-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);color:var(--text);flex:1;padding:6px 8px;font-size:12px}.nc-push-select--full{flex:unset;width:100%}.nc-push-input,.nc-push-textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);width:100%;color:var(--text);resize:none;box-sizing:border-box;padding:7px 10px;font-size:13px}.nc-push-input:focus,.nc-push-textarea:focus{border-color:var(--navy-light);outline:none;box-shadow:0 0 0 2px #1e3a5f1f}.nc-push-footer{justify-content:flex-end;gap:8px;display:flex}.nc-push-cancel{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;padding:5px 12px;font-size:12px}.nc-push-cancel:hover{background:var(--border-light)}.nc-push-send{background:var(--navy);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:5px 14px;font-size:12px;font-weight:600;transition:background .12s}.nc-push-send:hover:not(:disabled){background:var(--navy-dark)}.nc-push-send:disabled{opacity:.5;cursor:not-allowed}.nc-body{flex:1;overflow-y:auto}.nc-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;font-size:13px;display:flex}.nc-item{border-bottom:1px solid var(--border-light);cursor:pointer;background:#1e3a5f09;align-items:flex-start;gap:10px;padding:12px 14px;transition:background .1s;display:flex;position:relative}.nc-item:last-child{border-bottom:none}.nc-item:hover{background:var(--bg)}.nc-item--read{background:var(--bg-white);cursor:default}.nc-item--read:hover{background:var(--bg)}.nc-dot{background:var(--navy);border-radius:50%;width:6px;height:6px;position:absolute;top:14px;left:5px}.nc-item-icon{flex-shrink:0;margin-top:2px}.nc-item-content{flex:1;min-width:0}.nc-item-meta{align-items:center;gap:8px;margin-bottom:3px;display:flex}.nc-type-badge{text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.nc-time{color:var(--text-muted);margin-left:auto;font-size:11px}.nc-item-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.nc-item--read .nc-item-title{color:var(--text-secondary);font-weight:500}.nc-item-body{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.4}.nc-dismiss{width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;transition:opacity .1s,background .1s;display:flex}.nc-item:hover .nc-dismiss{opacity:1}.nc-dismiss:hover{background:var(--border-light);color:var(--text)}.nc-footer{border-top:1px solid var(--border-light);flex-shrink:0;padding:8px}.nc-view-all{border-radius:var(--radius);width:100%;color:var(--navy);cursor:pointer;text-align:center;background:0 0;border:none;padding:7px;font-size:12px;font-weight:600;transition:background .12s;display:block}.nc-view-all:hover{background:var(--bg)}.nte-row{align-items:center;gap:8px;display:flex}.nte-grow{flex:1;min-width:0}.nte-toolbar{flex-wrap:wrap;align-items:center}.nte-toolbar-spacer{flex:1}.nte-var-select{width:auto;max-width:220px;height:28px;padding:0 8px;font-size:.8rem}.nte-muted{color:#888;font-size:.8rem}.nte-email{min-height:320px}.nte-content .ProseMirror h2{margin:0 0 .5em;font-size:1.15rem;font-weight:700}.nte-content .ProseMirror h3{margin:.6em 0 .4em;font-size:1rem;font-weight:700}.nte-content .ProseMirror img{background:#f3f4f6;min-width:40px;max-width:100%;height:auto;min-height:40px}.nte-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid #0078d4}.nte-disabled{background:#fafafa}.nte-dialog-thumb{object-fit:contain;border:1px solid #e5e7eb;border-radius:4px;align-self:flex-start;max-width:100%;max-height:160px}.nte-sms{flex-direction:column;gap:8px;display:flex}.nte-sms-text{resize:vertical;min-height:140px;padding:10px 12px;font-size:.9rem;line-height:1.5}.nte-sms-media{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.nte-attach{cursor:pointer;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;display:inline-flex}.nte-media-chip{background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:.82rem;display:inline-flex}.nte-media-chip img{object-fit:cover;border-radius:4px;width:40px;height:40px}.nte-mms-note{max-width:520px}.nte-preview{flex-direction:column;gap:8px;display:flex}.nte-preview-subject{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px;font-size:.88rem}.nte-preview-frame{background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:100%;height:520px}.nte-bubble{color:#111;white-space:pre-wrap;word-break:break-word;background:#e5e7eb;border-radius:16px 16px 16px 4px;align-self:flex-start;max-width:320px;padding:10px 14px;font-size:.9rem;line-height:1.4}.nte-bubble img{border-radius:10px;max-width:100%;margin-bottom:6px;display:block}.nte-alert{border-radius:6px;padding:8px 12px;font-size:.82rem;line-height:1.4}.nte-alert-error{color:#b42318;background:#fdecea;border:1px solid #f5c2c0}.nte-alert-warn{color:#8a5a00;background:#fff8e6;border:1px solid #f3dfa6}.nte-alert-info{color:#0b4f8a;background:#eef6fd;border:1px solid #c7e0f6}.nte-tabs{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.nte-tab{color:#555;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:.88rem}.nte-tab.active{color:#0078d4;border-bottom-color:#0078d4;font-weight:600}.nte-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.nte-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.nte-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.nte-card-title{color:#222;font-size:.92rem;font-weight:600}.nte-card-summary{color:#555;max-height:4.4em;font-size:.84rem;line-height:1.45;overflow:hidden}.nte-card-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.nte-card-actions .btn{padding:4px 12px;font-size:.8rem}.nte-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600}.nte-badge-default{color:#4b5563;background:#f3f4f6}.nte-badge-custom{color:#15803d;background:#dcfce7}.nte-badge-draft{color:#854d0e;background:#fef9c3}.nte-badge-published{color:#15803d;background:#dcfce7}.nte-badge-archived{color:#6b7280;background:#f3f4f6}.nte-editor-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.nte-editor-col{flex-direction:column;gap:12px;min-width:0;display:flex}.nte-editor-actions{border-top:1px solid #eee;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}@media (width<=900px){.nte-editor-layout{grid-template-columns:1fr}}.qv-toggle-btn.qv-toggle-inline{background:var(--accent,var(--accent));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;height:30px;margin-left:auto;padding:0 12px;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.qv-toggle-btn.qv-toggle-inline:hover{background:#1a5280}.qv-toggle-btn.qv-toggle-inline.active{background:var(--navy,var(--navy))}.qv-panel{z-index:10;pointer-events:none;background:#f8f9fa;border-left:2px solid #dee2e6;flex-direction:column;width:340px;height:100%;transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;right:0;transform:translate(100%)}.qv-panel.open{pointer-events:auto;transform:translate(0)}.qv-panel-topbar{background:#fff;border-bottom:1px solid #dee2e6;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.qv-panel-label{text-transform:uppercase;letter-spacing:.6px;color:#aaa;font-size:.78rem;font-weight:600}.qv-panel-topbar-actions{gap:4px;display:flex}.qv-icon-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;transition:background .12s,color .12s;display:flex}.qv-icon-btn:hover{color:var(--navy);background:#e9ecef}.qv-body{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.qv-empty{color:#bbb;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:20px;font-size:.85rem;display:flex}.qv-empty p{margin:0}.qv-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:10px 12px}.qv-card-title{text-transform:uppercase;letter-spacing:.7px;color:#adb5bd;margin-bottom:8px;font-size:.7rem;font-weight:700}.qv-header-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.qv-record-id{color:var(--accent,var(--accent));font-size:.92rem;font-weight:700}.qv-amount{color:#28a745;font-size:.92rem;font-weight:700}.qv-customer{color:#212529;margin-bottom:8px;font-size:1rem;font-weight:700;line-height:1.3}.qv-badge-row{flex-wrap:wrap;gap:6px;display:flex}.qv-info-row{border-bottom:1px solid #f2f2f2;align-items:flex-start;gap:8px;padding:4px 0;font-size:.84rem;display:flex}.qv-info-row:last-child{border-bottom:none}.qv-info-label{color:#888;flex-shrink:0;align-items:center;gap:5px;min-width:80px;font-size:.8rem;display:flex}.qv-info-value{color:#212529;word-break:break-word;flex:1}.qv-service-pill{color:#1a56a0;background:#e8f0fe;border-radius:12px;padding:3px 10px;font-size:.8rem;font-weight:500;display:inline-block}.qv-activity-msg{color:#212529;margin-bottom:4px;font-size:.86rem;font-weight:600}.qv-activity-by{color:#888;font-size:.78rem}.qv-notes-text{color:#777;min-height:40px;font-size:.84rem;line-height:1.5}.toaster{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;max-width:420px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:all;border-radius:8px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:.875rem;animation:.22s toast-in;display:flex;box-shadow:0 4px 16px #0000002e}.toast-icon{flex-shrink:0;margin-top:1px}.toast-error{color:#f8d7d7;background:#2d1515;border:1px solid #7a2a2a}.toast-error .toast-icon{color:#f87171}.toast-error .toast-close{color:#f8d7d7}.toast-success{color:#d1fae5;background:#0f2d1a;border:1px solid #166534}.toast-success .toast-icon{color:#4ade80}.toast-success .toast-close{color:#d1fae5}.toast-info{color:#dbeafe;background:#0f1e35;border:1px solid #1e40af}.toast-info .toast-icon{color:#60a5fa}.toast-info .toast-close{color:#dbeafe}.toast-body{flex-direction:column;flex:1;gap:2px;display:flex}.toast-body strong{letter-spacing:.02em;font-size:.82rem;font-weight:600}.toast-close{cursor:pointer;opacity:.6;background:0 0;border:none;margin-top:1px;padding:0;line-height:1}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.lock-overlay{z-index:900;background:#1a1a1a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lock-screen{flex-direction:column;align-items:center;gap:8px;width:360px;display:flex}.lock-clock{color:#fff;letter-spacing:-2px;font-size:56px;font-weight:200;line-height:1}.lock-date{color:#fff9;margin-bottom:16px;font-size:16px}.lock-icon{font-size:40px}.lock-title{color:#fff;margin-bottom:8px;font-size:18px;font-weight:600}.lock-form{background:#2d2d2d;border-radius:12px;flex-direction:column;gap:16px;width:100%;padding:24px;display:flex}.lock-section{flex-direction:column;gap:10px;display:flex}.lock-section-label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.lock-current-user{color:#fff;font-size:15px;font-weight:600}.lock-input{border-radius:var(--radius);color:#fff;letter-spacing:3px;background:#ffffff14;border:1px solid #ffffff26;outline:none;width:100%;height:40px;padding:0 12px;font-size:14px;transition:border-color .12s}.lock-input::placeholder{letter-spacing:0;color:#ffffff59}.lock-input:focus{border-color:#ffffff59}.lock-btn{border-radius:var(--radius);cursor:pointer;border:none;height:40px;font-size:14px;font-weight:600;transition:opacity .15s}.lock-btn:hover{opacity:.88}.unlock-btn{color:#fff;background:#28a745}.switch-btn{background:var(--accent);color:#fff}.lock-divider{color:#ffffff59;align-items:center;gap:12px;font-size:12px;display:flex}.lock-divider:before,.lock-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.lock-btn:disabled{opacity:.55;cursor:not-allowed}.lock-error{color:#ff7070;text-align:center;font-size:12px}.lock-success{color:#4caf50;text-align:center;font-size:12px}.lock-no-pin{color:#ffffff73;text-align:center;padding:4px 0;font-size:13px;font-style:italic;line-height:1.4}.lock-input-error{border-color:#ff7070!important}.lock-input-wrap{align-items:center;display:flex;position:relative}.lock-input-wrap .lock-input{padding-right:38px}.lock-eye-btn{cursor:pointer;color:#fff6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:color .15s;display:flex;position:absolute;right:10px}.lock-eye-btn:hover{color:#ffffffbf}.strength-meter.strength-meter-dark{align-items:center;gap:8px;margin-top:4px;display:flex}.strength-meter-dark .strength-meter-segment{background:#ffffff26}.strength-meter-dark .strength-meter-label{font-size:11px;font-weight:600}.lock-link{color:#ffffff73;cursor:pointer;text-align:center;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline;transition:color .15s}.lock-link:hover{color:#ffffffbf}.lock-reset-form{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;padding-top:10px;display:flex}.modal-body:has(.ssd-outer){grid-template-rows:1fr auto;display:grid!important;overflow:hidden!important}.ssd-outer{flex-direction:column;min-height:0;display:flex}.ssd-panels{border:1px solid var(--border-light);border-radius:8px;flex:1;align-items:stretch;min-height:0;display:flex;overflow:hidden}.ssd-left{border-right:1px solid var(--border-light);background:var(--bg-white);flex-direction:column;flex:0 0 62%;display:flex;overflow:hidden}.ssd-nav{background:var(--bg);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:6px;padding:8px 10px;display:flex}.ssd-nav-btn{border:1px solid var(--border-light);cursor:pointer;width:28px;height:28px;color:var(--text);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .12s;display:flex}.ssd-nav-btn:hover{background:var(--bg-hover,#eef1f5)}.ssd-nav-today{width:auto;padding:0 10px;font-size:12px;font-weight:600}.ssd-nav-days{flex:1;gap:4px;display:flex}.ssd-nav-day{text-align:center;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;flex:1;padding:4px 6px;font-size:14px;font-weight:600;transition:background .12s,color .12s;overflow:hidden}.ssd-nav-day:hover{background:var(--bg-hover,#eef1f5);color:var(--text)}.ssd-nav-day--today{color:var(--accent,var(--accent))}.ssd-nav-day--selected{background:var(--accent,var(--accent));color:#fff}.ssd-nav-day--closed{color:var(--text-muted,#a7b0bd);font-style:italic}.ssd-nav-day--closed.ssd-nav-day--selected{background:var(--text-muted,#a7b0bd);color:#fff}.ssd-bay-filter{background:var(--bg);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:8px;padding:5px 10px;display:flex}.ssd-bay-filter label{color:var(--text-secondary);white-space:nowrap;font-size:14px}.ssd-bay-select{height:auto!important;min-height:0!important;padding:3px 8px!important;font-size:14px!important}.ssd-loading{color:var(--text-muted);margin-left:4px;font-size:14px}.ssd-grid-scroll{flex:1;min-height:200px;overflow:hidden auto}.ssd-grid{min-height:1020px;display:flex;position:relative}.ssd-time-axis{border-right:1px solid var(--border-light);background:var(--bg);flex-shrink:0;width:46px;height:1020px;position:relative}.ssd-time-label{color:var(--text-muted);white-space:nowrap;pointer-events:none;font-size:12px;font-weight:500;line-height:1;position:absolute;right:4px;transform:translateY(-50%)}.ssd-day-col{border-right:1px solid var(--border-light);cursor:pointer;background:var(--bg-white);flex:1;min-width:0;position:relative}.ssd-day-col:last-child{border-right:none}.ssd-day-col--selected{background:#f0f6ff}.ssd-day-col--closed{background:#e4e7ec;border-right-color:#b7bec9}.ssd-day-col--closed.ssd-day-col--selected{background:#d9e0eb}.ssd-hour-line{border-top:1px solid var(--border-light);pointer-events:none;height:0;position:absolute;left:0;right:0}.ssd-quarter-line{border-top:1px dashed var(--border-lighter,#ebebeb);pointer-events:none;height:0;position:absolute;left:0;right:0}.ssd-day-col--closed .ssd-hour-line{border-top-color:#b7bec9}.ssd-day-col--closed .ssd-quarter-line{border-top-color:#c7cdd6}.ssd-apt-block{cursor:default;z-index:1;border-radius:4px;padding:2px 4px;position:absolute;left:2px;right:2px;overflow:hidden;box-shadow:0 1px 3px #00000024}.ssd-apt-time{font-size:12px;font-weight:700;line-height:1.3}.ssd-apt-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.3;overflow:hidden}.ssd-apt-bay{opacity:.8;font-size:12px;line-height:1.2}.ssd-ghost-block{border:2px solid var(--accent);z-index:2;-webkit-user-select:none;user-select:none;pointer-events:auto;background:#2d6a9f2e;border-radius:4px;min-height:15px;position:absolute;left:2px;right:2px}.ssd-ghost-label{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;padding:10px 3px;font-size:12px;font-weight:700;overflow:hidden}.ssd-resize-handle{cursor:ns-resize;background:#2d6a9f59;border-radius:0 0 3px 3px;justify-content:center;align-items:center;height:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.ssd-resize-handle:after{content:"";background:var(--accent);border-radius:1px;width:24px;height:2px}.ssd-resize-handle:hover{background:#2d6a9f8c}.ssd-right{background:#f8f9fc;flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.ssd-right-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:11px;font-weight:700}.ssd-duration-badge{border-radius:var(--radius,6px);height:32px;color:var(--navy,var(--navy));background:#eef3ff;border:1px solid #c8d8f5;align-items:center;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.ssd-service-hint{color:var(--text-secondary);border:1px solid var(--border-light);border-left:3px solid var(--accent,var(--accent));background:#fff;border-radius:0 4px 4px 0;padding:8px 10px;font-size:12px;line-height:1.5}.ssd-service-hint span{color:var(--text-muted);font-size:11px}.ssd-summary{z-index:3;border-bottom:1px solid var(--border-light);background:#f8f9fc;margin:-16px -18px 2px;padding:16px 18px 12px;position:sticky;top:-16px}.ssd-summary-date{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:14px;font-weight:500}.ssd-summary-time{color:var(--navy,var(--navy));margin-top:4px;font-size:20px;font-weight:700;line-height:1.2}.ssd-summary-duration{color:var(--text-muted);margin-top:3px;font-size:14px}.ssd-summary-empty{color:var(--text-muted);font-size:14px;font-style:italic}.ssd-pick-btn{white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.ssd-outer+.form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;flex-shrink:0;margin:12px -20px -20px;padding:12px 20px 20px}.wss-loading-panel{color:var(--text-muted,#8a97a8);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.wss-loading-spinner{border:3px solid var(--border-light,#e8e8e8);border-top-color:var(--accent,var(--accent));border-radius:50%;width:28px;height:28px;animation:.8s linear infinite wss-spin}@keyframes wss-spin{to{transform:rotate(360deg)}}.wbs-legend-row{background:var(--bg);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:12px;padding:5px 10px;font-size:12px;display:flex}.wbs-month-label{color:var(--navy,var(--navy));margin-right:auto;font-weight:700}.wbs-legend{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.wbs-legend i{border-radius:3px;width:11px;height:11px;display:inline-block}.wbs-lane{pointer-events:none;position:absolute;top:0;bottom:0}.wbs-lane-bay{width:calc(50% - 3px);left:2px}.wbs-lane-tech{width:calc(50% - 3px);right:2px}.wbs-lane .ssd-apt-block{pointer-events:auto;left:0;right:0}.wbs-staged{outline-offset:-3px;outline:2px dashed #ffffffb3}.wbs-suggestion{z-index:2;cursor:pointer;background:#2f9e6b29;border:2px dashed #2f9e6b;border-radius:4px;align-items:flex-start;transition:background .12s;display:flex;position:absolute;left:2px;right:2px}.wbs-suggestion:hover{background:#2f9e6b47}.wbs-suggestion-label{color:#1e7a50;white-space:nowrap;text-overflow:ellipsis;padding:3px 5px;font-size:12px;font-weight:700;overflow:hidden}.wbs-resize-top{top:0;border-radius:3px 3px 0 0!important;bottom:auto!important}.wbs-alert{color:#8a5314;background:#fdf3e7;border:1px solid #f0c98b;border-left:3px solid #d98324;border-radius:0 4px 4px 0;padding:8px 10px;font-size:12px;line-height:1.45}.wbs-optional{color:var(--text-muted);font-size:11px;font-weight:400}.wbs-footer{justify-content:space-between;align-items:center;display:flex}.wbs-footer-actions{gap:8px;display:flex}.wss-checklist{border:1px solid var(--border-light);background:var(--bg-white,#fff);border-radius:6px;max-height:140px;padding:4px 6px;overflow-y:auto}.wss-checklist-empty{color:var(--text-muted);padding:6px 2px;font-size:12px}.wss-checklist-item{cursor:pointer;align-items:center;gap:7px;padding:4px 2px;font-size:13px;display:flex}.wss-checklist-item input{cursor:pointer}.wss-status-select{font-weight:600}.wss-rework-banner{color:#fff;background:#8e44ad;border-radius:6px;margin-bottom:4px;padding:8px 10px;font-size:12px;font-weight:600}.wss-type-row{align-items:center;gap:10px;display:flex}.wss-type-toggle{background:var(--bg,#f4f6fa);border:1px solid var(--border-light);border-radius:6px;flex:1;align-items:center;gap:8px;padding:8px 10px;display:flex}.wss-type-label{color:var(--text-muted,#8a97a8);-webkit-user-select:none;user-select:none;font-size:12px;font-weight:600;transition:color .15s}.wss-type-label.active{color:var(--navy,var(--navy))}.wss-type-switch{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.wss-type-switch input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.wss-type-track{background:#b9c2cf;border-radius:22px;flex-shrink:0;width:40px;height:22px;transition:background .2s;display:inline-block;position:relative}.wss-type-switch input:checked~.wss-type-track{background:var(--accent,var(--accent))}.wss-type-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.wss-type-switch input:checked~.wss-type-track:after{transform:translate(18px)}.wss-action-toggle{flex-shrink:0;gap:6px;display:flex}.wss-action-btn{border:1px solid var(--border-light);background:var(--bg-white,#fff);width:36px;height:36px;color:var(--text-muted,#8a97a8);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.wss-action-btn:hover{border-color:var(--accent,var(--accent));color:var(--navy,var(--navy))}.wss-action-btn.active{background:var(--accent,var(--accent));border-color:var(--accent,var(--accent));color:#fff}.new-job-form{flex-direction:column;gap:20px;display:flex}.modal-body:has(.nj-form){grid-template-rows:1fr auto;display:grid!important;overflow:hidden!important}.modal-body:has(.nj-form)>.nj-form{min-height:0;overflow-y:auto}.nj-form+.form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;margin:0 -20px -20px;padding:12px 20px 20px}.nj-form .form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;margin:0 -20px -20px;padding:12px 20px 20px;position:sticky;bottom:-20px}.nl-form{flex-direction:column;min-height:100%;display:flex}.nl-form .form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;margin:0 -20px -20px;padding:12px 20px 20px;position:sticky;bottom:-20px}.nl-form .form-section{background:#f5f7fb;border:1px solid #192b4438;border-radius:8px;gap:8px;padding:10px 14px}.form-section{flex-direction:column;gap:12px;display:flex}.form-section-title{color:var(--navy);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light);padding-bottom:6px;font-size:13px;font-weight:700}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-field{flex-direction:column;gap:4px;min-width:0;display:flex}.form-field .form-input,.form-field .form-select{height:36px}.form-textarea{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;color:var(--text);outline:none;padding:8px 10px;font-size:13px;transition:border-color .12s}.form-textarea:focus{border-color:var(--accent)}.form-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.ea-confirm-strip{align-items:center;gap:10px;width:100%;font-size:13px;font-weight:500;display:flex}.ea-confirm-strip--danger{color:#c0392b}.ea-confirm-strip--warn{color:#b7611a}.btn-danger{color:#fff;cursor:pointer;background:#c0392b;border:none;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-danger-outline{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #c0392b;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600}.btn-danger-outline:hover{background:#fdf0ee}.btn-warning{color:#fff;cursor:pointer;background:#e67e22;border:none;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600}.btn-warning:hover{background:#ca6f1e}.btn-warning:disabled{opacity:.55;cursor:not-allowed}.btn-warning-outline{color:#b7611a;cursor:pointer;background:0 0;border:1px solid #e67e22;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600}.btn-warning-outline:hover{background:#fef6ee}.dialog-radio-group{background:var(--bg-secondary,#f0f2f5);border:1px solid var(--border);border-radius:999px;gap:0;padding:3px;display:inline-flex}.dialog-radio-pill{text-align:center;border:1px solid var(--border);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;flex:1;margin-left:5px;padding:4px 12px;font-size:11px;font-weight:600;transition:background .12s,color .12s}.dialog-radio-pill:hover:not(.active){color:var(--text,#111)}.dialog-radio-pill.active{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600;box-shadow:0 1px 3px #0000001f,0 0 0 1px #0000000a}.btn-sm{height:30px;padding:4px 10px;font-size:12px}.form-section-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.nl-section-title{border-bottom:none!important;margin-bottom:0!important;padding-bottom:0!important}.inline-add-form{border:1px solid var(--border-light);border-radius:var(--radius);background:#f8f9fc;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.nl-add-actions{justify-content:flex-end}.nl-table{border-collapse:collapse;border:1px solid var(--border-light);border-radius:var(--radius);width:100%;font-size:13px;overflow:hidden}.nl-table thead th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;background:#f4f4f6;padding:7px 10px;font-size:12px;font-weight:600}.nl-table thead th:last-child{width:44px}.nl-table tbody tr{border-bottom:1px solid var(--border-light)}.nl-table tbody tr:last-child{border-bottom:none}.nl-table tbody tr:hover{background:#f5f6fa}.nl-table tbody td{color:var(--text);vertical-align:middle;padding:7px 10px}.nl-table-empty{text-align:center;color:var(--text-muted);font-style:italic;padding:20px!important}.nj-asset-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.nj-asset-card{border:1px solid var(--border);background:#f9fafb;border-radius:8px;min-width:0;padding:10px 26px 10px 12px;position:relative}.nj-asset-card-remove{color:var(--text-secondary,#5a6a80);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute;top:6px;right:6px}.nj-asset-card-remove:hover{color:#c0392b;background:#fdecea}.nj-asset-card-type{text-transform:uppercase;letter-spacing:.03em;color:var(--accent,var(--accent));margin-bottom:4px;font-size:10.5px;font-weight:700}.nj-asset-card-title{color:var(--text);overflow-wrap:break-word;font-size:13px;font-weight:700}.nj-asset-card-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.nl-remove-btn{color:#c0392b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background .1s;display:flex}.nl-remove-btn:hover{background:#fdecea}.nl-estimated{color:var(--text-secondary);flex:1;font-size:13px}.nl-estimated strong{color:var(--text);font-size:14px}.nj-title-group{align-items:center;gap:14px;display:flex}.nj-estimated-prominent{color:#1f5a3d;white-space:nowrap;background:#e4f6ec;border:1.5px solid #2f9e6b;border-radius:20px;align-items:center;gap:6px;padding:5px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.nj-estimated-prominent strong{color:#1f5a3d;font-size:16px;font-weight:800}.cust-search-overlay{z-index:600;background:#00000059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cust-search-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(600px,100%);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 36px #00000042}.cust-search-modal--wide{width:min(820px,100%)}.cust-search-header{color:var(--navy);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.cust-search-bar{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:12px 16px;display:flex}.cust-search-icon{color:var(--text-secondary);flex-shrink:0}.cust-search-input{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;flex:1;padding:7px 10px;font-size:14px}.cust-search-input:focus{border-color:var(--accent)}.cust-search-body{flex:1;min-height:0;overflow-y:auto}.cust-search-table{border-collapse:collapse;width:100%;font-size:14px}.cust-search-table thead th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#f4f4f6;padding:8px 12px;font-size:13px;font-weight:600;position:sticky;top:0}.cust-search-table tbody tr{border-bottom:1px solid var(--border-light);cursor:pointer}.cust-search-table tbody tr:hover{background:#f5f6fa}.cust-search-table tbody tr.selected{background:#e8f0fe}.cust-search-table tbody td{color:var(--text);padding:8px 12px}.cust-search-empty{text-align:center;color:var(--text-muted);padding:28px!important}.cust-search-footer{border-top:1px solid var(--border-light);align-items:center;gap:10px;padding:12px 16px;display:flex}.cust-search-hint{color:var(--text-secondary);flex:1;font-size:13px}.usr-status-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.usr-badge-active{color:#1a7535;background:#28a74518}.usr-badge-inactive{color:#5a6268;background:#6c757d18}.nl-3col-form{flex-direction:column;gap:0;display:flex}.nl-outer{flex:1;grid-template-columns:1.3fr 1fr;grid-template-areas:"cust right";align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.nl-left{flex-direction:column;grid-area:cust;align-self:stretch;gap:20px;display:flex}.nl-left .form-section{flex:none}.nl-right{flex-direction:column;grid-area:right;gap:20px;display:flex}@media (width<=1200px){.nl-outer{grid-template-columns:1fr;grid-template-areas:"cust""right"}}.nl-two-col{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.nl-two-col-section+.nl-two-col-section{border-left:1px solid var(--border-light,#e0e0e0);padding-left:20px}.nl-two-col-section .nc-section+.nc-section{margin-top:16px}.nl-two-col-header{text-transform:uppercase;letter-spacing:.5px;color:#999;border-bottom:1px solid var(--border-light,#e0e0e0);margin-bottom:8px;padding-bottom:5px;font-size:.72rem;font-weight:700}.nl-area-services{flex:auto;min-height:0}.nl-area-services .nl-table{flex:1}.nl-area-notes{flex:auto;min-height:0}.nl-notes-grow{flex:1}.nl-notes-fill{resize:none;flex:1}.nj-outer{grid-template-columns:1fr 2fr;align-items:start;gap:20px;margin-bottom:20px;display:grid}.nj-left{flex-direction:column;gap:20px;display:flex}.nj-right{grid-template-columns:1fr 1fr;grid-template-areas:"details assets""schedule schedule""services services";align-items:start;gap:20px;display:grid}.nj-area-details{grid-area:details}.nj-area-assets{grid-area:assets}.nj-area-schedule{grid-area:schedule}.nj-area-services{grid-area:services}.nj-area-notes{grid-area:notes}.nj-form .form-section{background:#f5f7fb;border:1px solid #192b4438;border-radius:8px;gap:8px;padding:10px 14px}.nl-notes-textarea{resize:vertical;min-height:90px}.add-asset-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(680px,100%);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 36px #00000042}.add-asset-body{flex-direction:column;gap:16px;padding:18px;display:flex;overflow-y:auto}.asset-preview{color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius);background:#f0f4f8;padding:7px 12px;font-size:12px}.schedule-modal{background:#fff;border-radius:8px;flex-direction:column;width:min(500px,100%);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 36px #00000042}.schedule-modal-body{flex-direction:column;gap:16px;padding:18px;display:flex;overflow-y:auto}.sched-endtime{color:#444;cursor:default;background:#f5f7fb;align-items:center;font-weight:500;display:flex}.sched-check-label{cursor:pointer;color:#333;align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:flex}.sched-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.schedule-summary{background:#f5f7fb;border:1px solid #dde3ed;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.schedule-summary-row{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.schedule-summary-date{color:var(--navy);font-size:.875rem;font-weight:600}.schedule-summary-time{color:#444;font-size:.875rem}.schedule-summary-meta{color:#666;flex-wrap:wrap;gap:6px;font-size:.8rem;display:flex}.schedule-summary-notes{color:#555;margin-top:2px;font-size:.8rem;font-style:italic}.modal-body:has(.ea-form){grid-template-rows:1fr auto;padding:0!important;display:grid!important;overflow:hidden!important}.ea-form{display:contents}.ea-form-scroll{flex-direction:column;gap:16px;min-height:0;padding:20px;display:flex;overflow-y:auto}.ea-form>.form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;flex-shrink:0;margin:0;padding:12px 20px}.ea-top{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.ea-section{background:#f5f7fb;border:1px solid #192b4438;border-radius:8px;gap:10px;padding:14px 16px}.ea-readonly{cursor:default;color:var(--text-secondary)!important;background:#f0f2f7!important}.ea-duration{border-radius:var(--radius);height:36px;color:var(--navy);background:#eef3ff;border:1px solid #c8d8f5;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.nc-form{flex-direction:column;gap:16px;min-height:100%;display:flex}.nc-section{background:#f5f7fb;border:1px solid #192b4438;border-radius:8px;gap:10px;padding:14px 16px}.nc-form .form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;align-items:center;margin:0 -20px -20px;padding:12px 20px 20px;position:sticky;bottom:-20px}.rep-editor{flex-direction:column;gap:10px;display:flex}.rep-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:6px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.rep-card-header{justify-content:space-between;align-items:center;display:flex}.rep-card-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.nrd-input-prefix{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:center;transition:border-color .12s;display:flex;overflow:hidden}.nrd-input-prefix:focus-within{border-color:var(--accent)}.nrd-prefix{border-right:1px solid var(--border);height:36px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;background:#f5f7fb;flex-shrink:0;align-items:center;padding:0 10px;font-size:13px;font-weight:600;display:flex}.nrd-input-prefix .form-input{height:36px;box-shadow:none;border:none;border-radius:0;flex:1}.nrd-input-prefix .form-input:focus{border:none;outline:none}.nrd-preview{color:var(--text-muted);border:1px solid var(--border-light);border-radius:var(--radius);background:#f5f7fb;margin-top:6px;padding:5px 10px;font-size:12px}.nrd-multiselect{flex-direction:column;gap:8px;display:flex}.nrd-selected-chips{flex-wrap:wrap;gap:6px;display:flex}.nrd-selected-chip{color:#1a7535;text-transform:capitalize;background:#f0faf3;border:1px solid #1a7535;border-radius:20px;align-items:center;gap:4px;padding:3px 8px 3px 10px;font-size:12px;font-weight:600;display:inline-flex}.nrd-chip-remove{cursor:pointer;color:#1a7535;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0 2px;font-size:14px;line-height:1;display:flex}.nrd-chip-remove:hover{color:#c0392b}.nrd-multiselect-trigger-wrap{display:inline-block;position:relative}.nrd-multiselect-trigger{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:5px 12px;font-size:13px;transition:border-color .15s;display:inline-flex}.nrd-multiselect-trigger:hover{border-color:var(--accent);color:var(--text)}.nrd-trigger-chevron{font-size:10px}.nrd-multiselect-menu{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);z-index:100;flex-direction:column;min-width:160px;padding:4px 0;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001a}.nrd-multiselect-option{text-align:left;color:var(--text);cursor:pointer;text-transform:capitalize;background:0 0;border:none;padding:7px 14px;font-size:13px}.nrd-multiselect-option:hover{background:var(--bg-secondary,#f0f2f5)}.nrd-toggle-row{cursor:pointer;align-items:center;gap:10px;display:flex}.nrd-toggle-track{flex-shrink:0;width:36px;height:20px;position:relative}.nrd-toggle-track input{opacity:0;width:0;height:0;position:absolute}.nrd-toggle-thumb{background:#ccc;border-radius:20px;transition:background .2s;position:absolute;inset:0}.nrd-toggle-thumb:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.nrd-toggle-track input:checked+.nrd-toggle-thumb{background:#1a7535}.nrd-toggle-track input:checked+.nrd-toggle-thumb:after{transform:translate(16px)}.nrd-toggle-label{color:var(--text);font-size:13px}.nrd-toggle-hint{color:var(--text-muted);font-size:12px}.nrd-error{color:var(--red);border-radius:var(--radius);background:#fff5f5;border:1px solid #f5c6cb;padding:7px 12px;font-size:13px}.sad-list{flex-direction:column;gap:4px;max-height:360px;display:flex;overflow-y:auto}.sad-row{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);cursor:pointer;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.sad-row:hover:not(:disabled){border-color:var(--accent);background:var(--bg-secondary,#f5f7fb)}.sad-row:disabled{opacity:.6;cursor:default}.sad-row--linking{border-color:var(--accent)}.sad-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.sad-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sad-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sad-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.sad-spinner{color:var(--accent);flex-shrink:0;font-size:13px}.na-form{flex-direction:column;gap:14px;min-height:100%;display:flex}.na-section{background:#f5f7fb;border:1px solid #192b442e;border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.na-two-col{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.na-col{flex-direction:column;gap:14px;min-width:0;display:flex}.na-subsection-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);border-top:1px solid var(--border-light);padding-top:6px;font-size:11px;font-weight:600}.na-customer-section{justify-content:flex-start}.na-customer-btn{background:var(--bg-white);border:1.5px dashed var(--border);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:border-color .13s,color .13s;display:flex}.na-customer-btn:hover{border-color:var(--navy);color:var(--navy)}.na-optional{opacity:.65;font-size:11px}.na-required{color:#c62828;font-size:13px;font-weight:600}.na-customer-picked{background:var(--bg-white);border:1px solid var(--border-light);border-radius:7px;align-items:center;gap:10px;padding:8px 10px;display:flex}.na-customer-icon{color:var(--navy);opacity:.7;flex-shrink:0}.na-customer-info{flex-direction:column;flex:1;min-width:0;display:flex}.na-customer-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.na-customer-sub{color:var(--text-secondary);font-size:11px}.na-customer-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:color .12s,background .12s;display:flex}.na-customer-clear:hover{color:#c0392b;background:#fdecea}.na-notes-section{flex:1;min-width:0}.na-notes-section .form-field{flex:1}.na-notes-textarea{resize:none;flex:1;min-height:180px}.na-error-bar{color:#c0392b;background:#fdecea;border:1px solid #f5c2c7;border-radius:7px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:500;display:flex}.na-form-footer{background:var(--bg-white);border-top:1px solid var(--border-light);z-index:2;justify-content:flex-end;gap:10px;margin:0 -20px -20px;padding:12px 20px 20px;display:flex;position:sticky;bottom:-20px}.nc-footer{flex-wrap:wrap}.nc-req{color:var(--accent);margin-left:1px;font-size:.75rem}.nc-error{color:#c0392b;flex:1;font-size:.82rem;font-weight:500}.input-invalid{border-color:#c0392b!important}.svc-dialog-desc{color:#555;background:#f7f8fa;border:1px solid #e4e4e4;border-radius:5px;margin-top:6px;padding:9px 12px;font-size:.82rem;line-height:1.5}.svc-dialog-desc--option{color:#2c5282;background:#f0f7ff;border-color:#cce0ff}.nu-tabs{border-bottom:1px solid var(--border-light);gap:2px;margin-bottom:16px;display:flex}.nu-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;margin-bottom:-1px;padding:7px 16px;font-size:.84rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.nu-tab:hover{color:var(--navy);background:#f5f7fb}.nu-tab.active{color:var(--navy);border-bottom-color:var(--navy)}.nu-perm-section{background:var(--bg-white);border:1px solid #192b441f;border-radius:6px;margin-bottom:8px;padding:10px 14px 12px}.nu-perm-title{color:var(--navy);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.73rem;font-weight:700}.nu-perm-grid{grid-template-columns:1fr 1fr;gap:5px 12px;display:grid}.nu-perm-item{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.83rem;display:flex}.nu-perm-item input[type=checkbox]{accent-color:var(--navy);cursor:pointer;flex-shrink:0;width:14px;height:14px}.nu-pw-wrap{position:relative}.nu-pw-wrap .form-input{padding-right:38px}.nu-pw-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:2px;line-height:1;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.nu-pw-toggle:hover{color:var(--navy)}.nu-pw-toggle-header{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--navy);cursor:pointer;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.nu-pw-toggle-header:hover{background:var(--border-light)}.jfl-customer-row{flex-direction:column;gap:2px;display:flex}.jfl-customer-name{color:var(--text);font-size:14px;font-weight:600}.jfl-customer-meta{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.jfl-sep{opacity:.4}.nj-form{flex-direction:column;gap:12px;min-height:100%;display:flex;overflow-x:hidden}.cjfl-top{flex-shrink:0;align-items:stretch;gap:12px;display:flex}.cjfl-customer-panel{flex-direction:column;flex-shrink:0;width:210px;display:flex;gap:6px!important}.cjfl-cust-name{color:var(--navy);font-size:14px;font-weight:700;line-height:1.3}.cjfl-cust-meta{color:var(--text-secondary);font-size:12px}.cjfl-right-col{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.cjfl-action-strip{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-color,#ddd);border-radius:6px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:20px;padding:7px 12px;display:flex}.cjfl-radio-label{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.cjfl-radio-disabled{opacity:.45;cursor:not-allowed}.cjfl-existing-select{min-width:240px;height:32px}.cjfl-details-row{flex-shrink:0;align-items:stretch;gap:12px;display:flex}.cjfl-details-row .ea-section{gap:8px!important}.cjfl-main-row{flex:1;align-items:stretch;gap:12px;min-height:0;display:flex}.cjfl-main-left,.cjfl-main-right{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;display:flex}.cjfl-main-row .ea-section{gap:8px!important}@media (width<=1200px){.cjfl-main-row{grid-template-columns:1fr;grid-template-areas:"details""assets""services""schedule";gap:20px;display:grid}.cjfl-main-left,.cjfl-main-right{display:contents}.cjfl-area-details{grid-area:details}.cjfl-area-assets{grid-area:assets}.cjfl-area-services{grid-area:services}.cjfl-area-schedule{grid-area:schedule}}.cjfl-text-lg .form-section-title{letter-spacing:.6px;border-bottom:2px solid var(--navy);font-size:16px;font-weight:800}.cjfl-text-lg .form-section-header{border-bottom:2px solid var(--navy);padding-bottom:8px}.cjfl-text-lg .form-section-header .form-section-title{border-bottom:none;padding-bottom:0}.cjfl-text-lg .form-field label{font-size:13.2px}.cjfl-text-lg .form-field .form-input,.cjfl-text-lg .form-field .form-select{height:40px;font-size:14.3px}.cjfl-text-lg .form-textarea{padding:9px 11px;font-size:14.3px}.cjfl-text-lg .btn{padding:7px 13px;font-size:14.3px}.cjfl-text-lg .btn-sm{height:33px;padding:4px 11px;font-size:13.2px}.cjfl-text-lg .dialog-radio-pill{padding:4.4px 13px;font-size:12.1px}.cjfl-text-lg .cjfl-hint{font-size:12.1px}.cjfl-text-lg .cjfl-cust-readonly p{font-size:14.3px}.cjfl-text-lg .cjfl-cust-readonly p:first-child{font-size:16.5px}.cjfl-text-lg .cjfl-cust-readonly p:not(:first-child){font-size:13.7px}.cjfl-text-lg .cjfl-tech-add-btn{padding:7px 15px;font-size:13.2px}.cjfl-text-lg .cjfl-cust-pill{height:36px;padding:7px 15px;font-size:13.2px}.cjfl-text-lg .cjfl-cust-search-btn{height:36px}.cjfl-text-lg .cjfl-tech-card-name{font-size:13.2px}.cjfl-text-lg .nl-table{font-size:14.3px}.cjfl-text-lg .nl-table thead th{padding:8px 11px;font-size:13.2px}.cjfl-text-lg .nl-table tbody td{padding:8px 11px}.cjfl-text-lg .flex-1,.cjfl-text-lg .cjfl-services-fill{flex:auto;min-height:0}.cjfl-text-lg .cjfl-services-fill .nl-table{flex:1}.cjfl-inner-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.cjfl-col{flex-direction:column;gap:8px;min-width:0;display:flex}.cjfl-grow{flex-direction:column;flex:1;display:flex}.cjfl-textarea-fill{resize:none;flex:1;min-height:60px}.cjfl-appt-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.cjfl-mode-toggle{color:var(--text-secondary,#5a6a80);cursor:pointer;text-transform:none;letter-spacing:0;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.cjfl-mode-toggle input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.cjfl-toggle-track{background:#ccc;border-radius:20px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.cjfl-mode-toggle input:checked~.cjfl-toggle-track{background:var(--accent,var(--accent))}.cjfl-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.cjfl-mode-toggle input:checked~.cjfl-toggle-track:after{transform:translate(16px)}.cjfl-hint{color:var(--text-muted,#8a97a8);margin-top:2px;font-size:11px}.cjfl-schedule-btn{color:#fff;background:linear-gradient(135deg, var(--accent), #1f4f7a);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;font-weight:700;transition:all .15s;display:flex;box-shadow:0 2px 8px #2d6a9f59}.cjfl-schedule-btn:hover{background:linear-gradient(135deg,#3579b3,#24608f);transform:translateY(-1px);box-shadow:0 3px 10px #2d6a9f73}.cjfl-schedule-btn:active{transform:translateY(0)}.cjfl-sched-title{color:var(--text-secondary,#5a6a80);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:700}.cjfl-sched-value{border:1.5px solid var(--accent,var(--accent));color:var(--navy,var(--navy));background:#eef4fb;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:16px;font-weight:700;display:flex}.cjfl-sched-value svg{color:var(--accent,var(--accent));flex-shrink:0}.cjfl-cust-readonly{border:1.5px solid var(--accent,var(--accent));border-left:4px solid var(--accent,var(--accent));background:#eef4fb;border-radius:8px;margin-top:6px;padding:12px 14px}.cjfl-cust-readonly p{color:var(--text-main,var(--navy));margin:0 0 3px;font-size:13px}.cjfl-cust-readonly p:last-child{margin-bottom:0}.cjfl-cust-readonly p:first-child{color:var(--navy,var(--navy));font-size:15px;font-weight:800}.cjfl-cust-readonly p:not(:first-child){color:var(--text-secondary,#5a6a80);font-size:12.5px}.cjfl-tech-add-btn{color:#fff;background:linear-gradient(135deg, var(--accent), #1f4f7a);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 5px #2d6a9f66}.cjfl-tech-add-btn:hover{background:linear-gradient(135deg,#3579b3,#24608f);box-shadow:0 2px 7px #2d6a9f80}.cjfl-cust-pill{color:#fff;background:linear-gradient(135deg, var(--accent), #1f4f7a);cursor:pointer;opacity:.5;border:none;border-radius:8px;align-items:center;gap:6px;height:32px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 5px #2d6a9f66}.cjfl-cust-pill:hover{opacity:.8}.cjfl-cust-pill.active{opacity:1}.radio-group .cjfl-cust-pill{color:#fff;font-weight:700}.cjfl-cust-search-btn{height:32px}.cjfl-tech-card{border:1.5px solid var(--accent,var(--accent));background:#eef4fb;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;display:flex}.cjfl-tech-card-name{color:var(--navy,var(--navy));font-size:12px;font-weight:700}.cjfl-tech-card-remove{cursor:pointer;color:var(--text-secondary,#5a6a80);background:0 0;border:none;align-items:center;padding:0;display:flex}.cjfl-tech-card-remove:hover{color:#c0392b}.cjfl-block-list{flex-direction:column;gap:6px;margin-top:6px;display:flex;overflow-y:auto}.cjfl-block-row{border:1px solid var(--border-light,#dde3ed);color:var(--navy,var(--navy));background:#f2f5fa;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;line-height:1.4;display:flex}.cjfl-block-del{cursor:pointer;color:var(--text-muted,#8a97a8);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.cjfl-block-del:hover{color:#c0392b}.cjfl-block-summary{color:var(--text-secondary,#5a6a80);margin-top:2px;font-size:12px;font-weight:600}.cjfl-block-remain{color:#b26a00;font-weight:700}.cjfl-services-section{flex-direction:column;flex:1;min-height:0;display:flex}.cjfl-services-section .jfl-table-wrap{flex:1;overflow-y:auto}.jfl-loading,.jfl-empty{text-align:center;color:var(--text-secondary);padding:16px 0;font-size:13px}.jfl-table-wrap{overflow-x:auto}.jfl-table{width:100%}.jfl-check{cursor:pointer;width:16px;height:16px;accent-color:var(--navy)}.jfl-row-selected td{background:#f0f5ff}.jfl-total-row td{border-top:1px solid var(--border-light);background:#f5f7fb;padding:8px;font-size:13px}.nsi-layout{gap:0;height:520px;display:flex;overflow:hidden}.nsi-left{border-right:1px solid var(--border-light);flex-direction:column;flex-shrink:0;gap:0;width:300px;padding-right:18px;display:flex;overflow:hidden}.nsi-asset-row{cursor:pointer;border:1px solid #0000;border-radius:6px;flex-shrink:0;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.nsi-asset-row:hover{background:#f0f4ff}.nsi-asset-row--selected{background:#eef3ff;border-color:#b8ccf5}.nsi-asset-radio{border:2px solid #bbb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:border-color .12s;display:flex}.nsi-asset-row--selected .nsi-asset-radio{border-color:var(--navy)}.nsi-radio-dot{background:var(--navy);border-radius:50%;width:8px;height:8px}.nsi-asset-info{flex:1;min-width:0}.nsi-asset-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.nsi-asset-type{color:var(--text-secondary);font-size:11px}.nsi-no-assets{color:var(--text-secondary);padding:6px 10px;font-size:12px;font-style:italic}.nsi-asset-detail{border:1px solid var(--border-light);background:#f5f7fb;border-radius:8px;flex:1;min-height:0;margin-top:12px;padding:12px 14px;overflow-y:auto}.nsi-asset-detail-title{color:var(--navy);margin-bottom:10px;font-size:13px;font-weight:700;line-height:1.3}.nsi-asset-detail-grid{grid-template-columns:auto 1fr;gap:5px 10px;font-size:12px;display:grid}.nsi-asset-detail-grid>span:nth-child(odd){color:var(--text-secondary);white-space:nowrap;font-weight:600}.nsi-asset-detail-grid>span:nth-child(2n){color:var(--text)}.nsi-vin{word-break:break-all;font-family:monospace;font-size:11px}.nsi-asset-detail-empty{color:var(--text-secondary);font-size:12px;font-style:italic}.nsi-right{flex-direction:column;flex:1;gap:16px;min-width:0;padding-left:20px;display:flex;overflow-y:auto}.nsi-price-symbol{color:#777;pointer-events:none;font-size:.9rem;position:absolute;left:11px}.nsi-price-input{padding-left:22px!important}.nsi-price-note{color:var(--text-secondary);margin-top:3px;font-size:11px}.nsi-summary{background:#f0f5ff;border:1px solid #c8d8f5;border-radius:8px;flex-direction:column;gap:5px;margin-top:auto;padding:12px 14px;font-size:13px;display:flex}.nsi-summary-row{color:var(--text-secondary);justify-content:space-between;gap:8px;display:flex}.nsi-summary-row>span:last-child{color:var(--text);text-align:right;font-weight:500}.nsi-summary-total{border-top:1px solid #c8d8f5;margin-top:3px;padding-top:6px;font-weight:700;color:var(--navy)!important}.nsi-summary-total>span:last-child{font-size:14px;color:#1a7535!important}.nsi-footer{border-top:1px solid var(--border-light);flex-shrink:0;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.nsi2-layout{flex-direction:column;gap:0;height:72vh;min-height:480px;max-height:720px;display:flex}.nsi2-asset-strip{border-bottom:1px solid var(--border-light);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:10px 0;display:flex}.nsi2-asset-label{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:600}.nsi2-asset-current{color:var(--text);border:1px solid var(--border-light);background:#f4f6fa;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.nsi2-asset-select{border:1px solid var(--border-light);color:var(--text);cursor:pointer;background:#f4f6fa;border-radius:6px;min-width:180px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s}.nsi2-asset-select:hover{background:#e8eef9;border-color:#b8ccf5}.nsi2-asset-select:focus{border-color:var(--navy);background:#fff;outline:none}.nsi2-asset-hint{color:var(--text-secondary);font-size:11px;font-style:italic}.nsi2-filter-bar{flex-shrink:0;align-items:center;gap:10px;padding:10px 0 8px;display:flex;position:relative}.nsi2-filter-input-wrap{flex:1;position:relative}.nsi2-custom-btn{white-space:nowrap;flex-shrink:0}.nsi2-filter-input{border:1px solid var(--border-light);width:100%;color:var(--text);background:#fafbfc;border-radius:6px;outline:none;padding:7px 32px 7px 12px;font-size:13px;transition:border-color .15s}.nsi2-filter-input:focus{border-color:var(--navy);background:#fff}.nsi2-filter-clear{color:#bbb;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;position:absolute;right:10px}.nsi2-filter-clear:hover{color:#888}.nsi2-custom-remove{color:#bbb;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.nsi2-custom-remove:hover{color:#c62828}.nsi2-table-wrap{border:1px solid var(--border-light);border-radius:6px;flex:1;min-height:0;overflow-y:auto}.nsi2-table{border-collapse:collapse;width:100%;font-size:13px}.nsi2-table thead{z-index:2;background:#f0f3f9;position:sticky;top:0}.nsi2-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);border-bottom:1px solid var(--border-light);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:700}.nsi2-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid #f0f2f6;padding:8px 10px}.nsi2-table tbody tr:last-child td{border-bottom:none}.nsi2-row{cursor:pointer;transition:background .1s}.nsi2-row:hover{background:#f0f5ff}.nsi2-row--selected{background:#dce8ff!important}.nsi2-row--selected td{color:var(--navy)}.nsi2-code{color:var(--text-secondary);white-space:nowrap;font-family:monospace;font-size:12px}.nsi2-svc-name{font-weight:600}.nsi2-dur{text-align:center;color:var(--text-secondary);white-space:nowrap}.nsi2-price{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.nsi2-empty{text-align:center;color:#bbb;padding:28px 0;font-style:italic}.nsi2-check{cursor:pointer;width:15px;height:15px;accent-color:var(--navy)}.nsi2-sel-count{color:var(--navy);font-size:13px;font-weight:700}.nsi2-price-inp--inline{width:90px;font-size:12px;padding:3px 6px 3px 18px!important}.nsi2-footer{border-top:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 0;display:flex}.nsi2-footer-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.nsi2-footer-right{flex-shrink:0;gap:8px;display:flex}.nsi2-selected-summary{align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.nsi2-sel-svc{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-weight:600;overflow:hidden}.nsi2-sel-sep{color:#bbb;flex-shrink:0}.nsi2-sel-opt{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.nsi2-sel-price{color:#1a7535;white-space:nowrap;flex-shrink:0;margin-left:4px;font-weight:700}.nsi2-sel-hint{color:#bbb;font-size:12px;font-style:italic}.nsi2-sel-label{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.nsi2-custom-price{align-items:center;gap:8px;display:flex}.nsi2-price-wrap{align-items:center;display:flex;position:relative}.nsi2-price-sym{color:#777;pointer-events:none;font-size:13px;position:absolute;left:9px}.nsi2-price-inp{border:1px solid var(--border-light);border-radius:5px;outline:none;width:110px;padding:5px 8px 5px 20px;font-size:13px}.nsi2-price-inp:focus{border-color:var(--navy)}.checkout-modal{flex-direction:column;flex:1;gap:24px;min-height:0;padding:20px;display:flex;overflow-y:auto}.checkout-modal-footer{background:var(--bg-white,#fff);flex-shrink:0;margin:0;padding:14px 20px}.checkout-print-header{display:none}.checkout-section{flex-direction:column;gap:12px;display:flex}.checkout-bottom-row{align-items:flex-start;gap:20px;display:flex}.checkout-summary-section{flex:none;min-width:320px;max-width:400px}.checkout-payment-section{flex:1;min-width:280px}.checkout-section-title{color:var(--navy);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding-bottom:8px;font-size:14px;font-weight:700;display:flex}.checkout-items-table{border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.checkout-summary{border:1px solid var(--border-light);background:#f8f9fa;border-radius:6px;flex-direction:column;gap:8px;padding:16px;display:flex}.checkout-summary-row{justify-content:space-between;align-items:center;gap:24px;padding:6px 0;font-size:.9rem;display:flex}.checkout-summary-row.subtotal-row{border-top:1px solid #ddd;margin-top:4px;padding-top:10px;font-weight:600}.checkout-summary-row.grand-total-row{border-top:2px solid #ccc;margin-top:10px;padding-top:12px;font-size:1.1rem;font-weight:700}.checkout-summary-label{color:#555;white-space:nowrap}.checkout-summary-value{text-align:right;white-space:nowrap;font-weight:600}.ea-notif-section{grid-column:1/-1;padding:0!important}.ea-notif-toggle{all:unset;cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:10px 16px;transition:background .12s;display:flex}.ea-notif-toggle:hover{background:#eef1f7}.ea-notif-count{background:var(--navy,var(--navy));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:600;display:inline-flex}.ea-notif-body{padding:0 16px 12px;overflow-x:auto}.ea-notif-empty{color:var(--text-secondary,#888);text-align:center;padding:10px 0;font-size:.82rem}.ea-notif-empty--err{color:#c62828}.ea-notif-table{border-collapse:collapse;width:100%;font-size:.8rem}.ea-notif-table th{text-align:left;color:#888;border-bottom:1px solid var(--border-light,#e5e7eb);white-space:nowrap;padding:4px 8px;font-size:.72rem;font-weight:600}.ea-notif-table td{vertical-align:middle;white-space:nowrap;border-bottom:1px solid #f0f2f5;padding:5px 8px}.ea-notif-row--fail td{background:#fff5f5}.ea-notif-td-time{color:#555;font-variant-numeric:tabular-nums}.ea-notif-td-ch{align-items:center;gap:3px;display:flex}.ea-notif-td-recip{text-overflow:ellipsis;max-width:160px;overflow:hidden}.ea-notif-td-by{color:#888;font-size:.76rem}.ea-notif-badge{color:#3a5170;text-transform:capitalize;background:#e8edf5;border-radius:4px;padding:2px 7px;font-size:.72rem;font-weight:600;display:inline-block}.ea-notif-badge--scheduled{color:#1a6aaa;background:#def}.ea-notif-badge--changed{color:#a06800;background:#fff3d9}.ea-notif-badge--canceled{color:#b52828;background:#fde8e8}.ea-notif-badge--reminder{color:#6040aa;background:#ede5ff}.ea-notif-badge--followup{color:#1a7840;background:#dff4e8}.ea-notif-badge--manual{color:#444;background:#e8e8e8}.ea-notif-status{align-items:center;gap:3px;font-size:.75rem;font-weight:600;display:inline-flex}.ea-notif-status--sent{color:#1a7535}.ea-notif-status--fail{color:#c62828;cursor:help}.ea-notif-resend-btn{min-width:unset!important;padding:3px 6px!important}@keyframes ea-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ea-spin{animation:.7s linear infinite ea-spin}.checkout-summary-row.grand-total-row .checkout-summary-value{color:#1a7535;font-size:1.2rem}.checkout-input-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.checkout-input-row label{color:#555;white-space:nowrap;font-size:.9rem;font-weight:500}.checkout-input-row input,.checkout-input-row select{border:1px solid var(--border);border-radius:4px;outline:none;flex:1;min-width:120px;max-width:200px;padding:6px 10px;font-size:.875rem;transition:border-color .15s}.checkout-input-row input:focus,.checkout-input-row select:focus{border-color:var(--accent)}.checkout-payment-placeholder{text-align:center;border:1px solid var(--border-light);background:#f8f9fa;border-radius:6px;padding:20px}.checkout-payment-balance{border:1px solid var(--border-light);background:#f8f9fa;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;font-size:.95rem;display:flex}.checkout-payment-balance strong{font-size:1.1rem}.checkout-invoice-status{text-transform:uppercase;letter-spacing:.4px;color:#334155;background:#e2e8f0;border-radius:10px;padding:3px 8px;font-size:.75rem;font-weight:600}.checkout-invoice-status.status-paid{color:#15803d;background:#dcfce7}.checkout-invoice-status.status-partially_paid{color:#92400e;background:#fef3c7}.checkout-invoice-status.status-open{color:#334155;background:#e2e8f0}.checkout-payment-methods{flex-wrap:wrap;gap:8px;display:flex}.checkout-cash-form,.checkout-external-form{flex-direction:column;gap:4px;display:flex}.checkout-external-form textarea{border:1px solid var(--border);resize:vertical;border-radius:4px;flex:1;min-width:120px;padding:6px 10px;font-family:inherit;font-size:.875rem}.checkout-payment-error{color:var(--danger,#dc2626);margin:4px 0;font-size:.85rem}.checkout-payment-history{border-top:1px solid var(--border-light);margin-top:14px;padding-top:10px;font-size:.85rem}.checkout-payment-history-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted,#888);margin-bottom:8px;font-size:11px;font-weight:700}.checkout-payment-history-row{color:#555;background:#f8faf9;border:1px solid #dceee4;border-left:4px solid #1e8e3e;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.checkout-payment-history-method{color:var(--navy,#1e293b);font-size:14px;font-weight:700}.checkout-payment-history-amount{color:#1e8e3e;font-size:16px;font-weight:700}.checkout-payment-history-row.partially-refunded{background:#fff8f0;border-color:#fbe0c4}.checkout-payment-history-row.refunded{background:#f8f8f8;border-color:#e5e5e5}.checkout-payment-history-row.refunded .checkout-payment-history-method,.checkout-payment-history-row.refunded .checkout-payment-history-amount{color:#999;text-decoration:line-through}@media print{body *{visibility:hidden}.modal-overlay,.modal-overlay *{visibility:visible}.modal-header,.modal-close,.no-print,.form-footer,.checkout-input-row,.checkout-payment-balance,.checkout-payment-methods,.checkout-cash-form,.checkout-external-form,.checkout-payment-history{display:none!important}.checkout-print-header{border-bottom:2px solid #333;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;display:flex!important}.checkout-print-title h1{color:#333;margin:0;font-size:24px}.checkout-print-title p{color:#666;margin:4px 0 0;font-size:16px}.checkout-print-date{color:#666;font-size:14px}.modal-overlay{background:0 0;padding:0;position:static}.modal{box-shadow:none;border-radius:0;width:100%;max-width:100%;max-height:none;margin:0}.modal-body{padding:20px;overflow:visible}.checkout-items-table{page-break-inside:avoid;border:1px solid #333}.ov-svc-table{width:100%}.ov-svc-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#333!important;background:#f0f0f0!important;border-bottom:2px solid #333!important}.ov-svc-table tbody tr{border-bottom:1px solid #ddd}.checkout-bottom-row{display:block}.checkout-summary-section,.checkout-payment-section{page-break-inside:avoid;max-width:100%;margin-bottom:20px}.checkout-summary{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #333;background:#f8f8f8!important}.checkout-summary-row.grand-total-row{border-top:2px solid #333}.checkout-summary-row.grand-total-row .checkout-summary-value{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#1a7535!important}.checkout-payment-placeholder{display:none}.checkout-section{page-break-inside:avoid}}@media (width<=768px){.checkout-bottom-row{flex-direction:column}.checkout-summary-section,.checkout-payment-section{max-width:100%}}:root{--circuit-navy-950:#040e24;--circuit-navy-900:#06142a;--circuit-navy-800:#0b2343;--circuit-blue-700:#0752a0;--circuit-blue-500:#1689e8;--circuit-blue-400:#32b3ff;--circuit-cyan-400:#45d9f4;--circuit-cyan-200:#8debfa;--circuit-white-ice:#f5f8ff;--circuit-text-muted:#a9c6df;--circuit-background:#040e24;--circuit-surface:#06142a;--circuit-surface-raised:#0b2343;--circuit-primary:#1689e8;--circuit-primary-hover:#32b3ff;--circuit-highlight:#45d9f4;--circuit-text:#f5f8ff;--circuit-text-secondary:#a9c6df;--circuit-border:#23405e;--circuit-motion-logo-enter:.7s;--circuit-motion-glow-pulse:3.6s;--circuit-motion-orbit-rotation:45s;--circuit-motion-particle-drift:8s;--circuit-motion-screen-exit:.35s;--navy:var(--circuit-navy-950);--navy-light:var(--circuit-navy-800);--navy-dark:var(--circuit-navy-900);--primary:var(--circuit-primary);--accent:var(--circuit-primary);--accent-dark:var(--circuit-blue-700);--accent-hover:var(--circuit-primary-hover);--highlight:var(--circuit-highlight);--bg:#f0f0f0;--bg-subtle:#f7f8fa;--bg-white:#fff;--bg-card:#fff;--white:#fff;--border:#d4d4d4;--border-light:#e8e8e8;--text:#1a1a1a;--text-secondary:#555;--text-muted:#888;--text-muted-aa:#46566b;--text-faint-aa:#5a687c;--surface-1:#f3f6fa;--surface-2:#e6ecf3;--border-subtle:#dde4ec;--border-strong:#c3cddb;--control-border:#7d8da3;--status-green-text:#1a6b2d;--status-red-text:#b02a37;--status-amber-text:#8a5a00;--status-purple-text:#5a32a3;--green:#28a745;--orange:#fd7e14;--yellow:#ffc107;--red:#e74c3c;--grey:#6c757d;--purple:#9b59b6;--blue:var(--accent);--gold:#f39c12;--radius:6px;--shadow:0 2px 8px #0000001f;--shadow-sm:0 1px 3px #00000014;--brand-gradient:linear-gradient(135deg, var(--circuit-blue-700) 20%, var(--circuit-navy-800) 60%, var(--circuit-navy-950) 100%);--topbar-gradient:linear-gradient(90deg, var(--circuit-blue-700) 0%, var(--circuit-navy-800) 55%, var(--circuit-navy-950) 100%)}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-mark{flex:none;width:38px;height:38px;display:block}.brand-mark--sm{width:26px;height:26px}.brand-name{color:var(--navy);letter-spacing:1px;font-size:1.3rem;font-weight:800}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-width:160px;--sidebar-collapsed:52px;--topbar-height:50px;--tabbar-height:36px}html,body,#root{height:100%;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;overflow:hidden}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}.admin-sidebar{background:var(--navy);color:#e6ecf5;border-right:1px solid var(--navy-dark);flex-direction:column;width:220px;min-width:220px;height:100%;display:flex}.admin-sidebar-nav{flex-direction:column;flex:1;gap:1px;padding:8px 8px 16px;display:flex;overflow-y:auto}.admin-nav-group-label{text-transform:uppercase;letter-spacing:.6px;color:#7f92ad;padding:12px 10px 4px;font-size:10.5px;font-weight:700}.admin-nav-group-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:4px;width:100%;padding:10px 10px 4px 6px;display:flex}.admin-nav-group-toggle:hover:not(:disabled){color:#cdd7e6}.admin-nav-group-toggle:disabled{cursor:default}.admin-nav-section{flex-direction:column;gap:1px;display:flex}.admin-nav-search{flex-shrink:0;padding:8px 8px 0;position:relative}.admin-nav-search-icon{color:#7f92ad;pointer-events:none;margin-top:4px;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.admin-nav-search-input{box-sizing:border-box;color:#fff;background:#ffffff12;border:1px solid #ffffff24;border-radius:6px;width:100%;padding:7px 10px 7px 30px;font-size:13px}.admin-nav-search-input::placeholder{color:#7f92ad}.admin-nav-search-input:focus{border-color:var(--navy-light,#4a74b4);background:#ffffff1a;outline:none}.admin-nav-empty{color:#7f92ad;padding:12px 10px;font-size:12.5px}.admin-nav-bulk{color:#7f92ad;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px 0;font-size:11.5px;display:flex}.admin-nav-bulk-btn{color:#9fb2cc;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:11.5px}.admin-nav-bulk-btn:hover:not(:disabled){color:#fff;text-decoration:underline}.admin-nav-bulk-btn:disabled{opacity:.4;cursor:default}.admin-nav-item{color:#cdd7e6;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;line-height:1.2;text-decoration:none;display:flex}.admin-nav-item:hover{color:#fff;background:#ffffff0f}.admin-nav-item.active{background:var(--navy-light);color:#fff;font-weight:600}.admin-nav-item.child{padding-left:22px;font-size:12.5px}.admin-nav-icon{flex-shrink:0}.admin-sidebar-header,.admin-sidebar-backdrop{display:none}@media (width<=768px){.admin-sidebar{z-index:400;width:min(86vw,320px);min-width:0;height:auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);visibility:hidden;transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:4px 0 24px #00000059}.admin-sidebar.open{visibility:visible;transition:transform .22s,visibility;transform:translate(0)}.admin-sidebar-backdrop{z-index:399;opacity:0;visibility:hidden;background:#0a14238c;transition:opacity .22s,visibility 0s linear .22s;display:block;position:fixed;inset:0}.admin-sidebar-backdrop.open{opacity:1;visibility:visible;transition:opacity .22s,visibility}.admin-sidebar-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 8px 0 16px;display:flex}.admin-sidebar-title{color:#fff;letter-spacing:1px;text-transform:uppercase;font-size:15px;font-weight:700}.admin-sidebar-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.admin-sidebar-close:active{background:#ffffff1f}.admin-sidebar-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:2px;padding:8px 10px 24px}.admin-nav-group-label{padding:16px 12px 6px;font-size:11.5px}.admin-nav-group-toggle{min-height:44px;padding:12px 10px 6px 8px}.admin-nav-search{padding:10px 10px 0}.admin-nav-bulk{padding:10px 14px 0}.admin-nav-bulk-btn{padding:8px 4px;font-size:13px}.admin-nav-search-input{padding:10px 12px 10px 34px;font-size:15px}.admin-nav-search-icon{left:22px}.admin-nav-item{border-radius:8px;min-height:48px;padding:10px 12px;font-size:15px}.admin-nav-item.child{padding-left:26px;font-size:15px}.admin-nav-item:hover{color:#cdd7e6;background:0 0}.admin-nav-item.active:hover{background:var(--navy-light);color:#fff}.admin-nav-item:active{background:#ffffff1f}}@media (prefers-reduced-motion:reduce){.admin-sidebar,.admin-sidebar-backdrop{transition:none!important}}.tabbar{height:var(--tabbar-height);border-bottom:1px solid var(--border);scrollbar-width:none;background:#e8e8e8;flex-shrink:0;align-items:flex-end;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tab{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:#d4d4d4;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:6px;min-height:30px;padding:6px 14px;font-size:12px;transition:background .12s,color .12s;display:flex}.tab:hover{color:var(--text);background:#eaeaea}.tab.active{background:var(--bg-white);color:var(--text);font-weight:600}.tab-close{width:16px;height:16px;color:var(--text-muted);background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.tab-close:hover{color:var(--text);background:#0000001a}.topbar{height:var(--topbar-height);background:var(--topbar-gradient);z-index:200;border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex;position:relative}.topbar-left{flex-shrink:0;align-items:center;gap:8px;width:220px;display:flex}.app-title{color:#fff;letter-spacing:2px;text-transform:uppercase;font-size:20px;font-weight:700}.app-subtitle{color:#ffffff8c;letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:600}.topbar-center{flex:1}.topbar-right{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;width:auto;min-width:220px;display:flex}.notif-wrap{position:relative}.alert-bell-count{color:#fff;text-align:center;background:#d97706;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:1px}.alert-bell-count.critical{background:var(--red,#dc2626)}.notif-btn{border-radius:var(--radius);color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,color .12s,border-color .12s;display:flex;position:relative}.notif-btn:hover,.notif-btn--active{color:#fff;background:#ffffff1a;border-color:#fff3}.user-menu{position:relative}.user-btn{color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;min-width:0;padding:4px 8px;transition:background .15s;display:flex}.user-btn:hover{background:#ffffff1a}.user-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.user-info{flex-direction:column;align-items:flex-start;display:flex}.user-name{font-size:13px;font-weight:600;line-height:1.2}.user-role{color:#fff9;font-size:11px;line-height:1.2}.chevron{color:#fff9;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.dropdown-menu{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:1000;background:#fff;min-width:180px;padding:4px 0;position:absolute;top:calc(100% + 6px);right:0}.app-switcher-menu{min-width:200px;left:0;right:auto}.app-switcher-current{color:var(--text-muted);cursor:default}.dropdown-item{width:100%;color:var(--text);text-align:left;box-sizing:border-box;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:13px;text-decoration:none;transition:background .12s;display:flex}.dropdown-item:hover{background:var(--bg)}.dropdown-item.danger{color:var(--red)}.dropdown-item.danger:hover{background:#fff5f5}.dropdown-divider{background:var(--border-light);height:1px;margin:4px 0}.topbar-menu-btn{display:none}@media (width<=768px){.topbar{height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));gap:4px}.topbar-menu-btn{display:flex}.topbar .notif-btn{width:44px;height:44px}.topbar-left{gap:6px;width:auto;min-width:0}.app-title{letter-spacing:1px;font-size:16px}.app-subtitle{letter-spacing:.5px;font-size:11px}.topbar-right{gap:0;min-width:0}.user-btn{min-height:44px;padding:4px}.user-info,.user-btn .chevron{display:none}.user-avatar{width:34px;height:34px}.dropdown-menu{min-width:220px;max-width:calc(100vw - 16px)}.dropdown-item{min-height:48px;padding:10px 16px;font-size:15px}}.admin-placeholder-icon{opacity:.22;margin-bottom:8px}.catalog-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.catalog-table-wrap{border:1px solid var(--border,#e2e8f0);border-radius:8px;overflow-x:auto}.catalog-table{border-collapse:collapse;width:100%;font-size:13px}.catalog-table th{text-align:left;color:var(--text-secondary,#4a5568);background:var(--surface-subtle,#f7fafc);border-bottom:1px solid var(--border,#e2e8f0);white-space:nowrap;padding:10px 12px;font-weight:600}.catalog-table td{border-bottom:1px solid var(--border-subtle,#edf2f7);vertical-align:middle;padding:10px 12px}.catalog-table tbody tr:last-child td{border-bottom:none}.catalog-table tbody tr:hover td{background:var(--surface-hover,#f7fafc)}.catalog-badge{text-transform:capitalize;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.catalog-badge--pending{color:#92400e;background:#fef3c7}.catalog-badge--approved{color:#065f46;background:#d1fae5}.catalog-badge--denied{color:#991b1b;background:#fee2e2}.catalog-badge--merged{color:#1e40af;background:#dbeafe}.catalog-badge--vin{color:#5b21b6;text-transform:none;white-space:nowrap;background:#ede9fe}.catalog-source-sub{color:var(--text-secondary,#718096);white-space:nowrap;margin-top:2px;font-size:11px}.catalog-source-plain{color:var(--text-secondary,#4a5568);white-space:nowrap;font-size:12px}.catalog-mono{letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.catalog-review-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 16px;display:flex}.catalog-review-filters .form-input{width:auto;min-width:120px}.catalog-review-filters .catalog-filter-year{width:70px;min-width:0}.catalog-evidence{margin-top:14px}.catalog-evidence-empty{color:var(--text-secondary,#718096);font-size:13px}.catalog-evidence-table{border-collapse:collapse;background:#fff;width:100%;font-size:12px}.catalog-evidence-table th,.catalog-evidence-table td{border:1px solid var(--border-subtle,#edf2f7);text-align:left;vertical-align:top;padding:6px 8px}.catalog-evidence-table th{color:var(--text-secondary,#4a5568);background:var(--surface-subtle,#f7fafc);white-space:nowrap;font-weight:600}.catalog-actions{flex-wrap:nowrap;gap:4px;display:flex}.catalog-edit-row td{background:var(--surface-subtle,#f7fafc);padding:10px 12px}.catalog-edit-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catalog-edit-label{color:var(--text-secondary,#4a5568);white-space:nowrap;font-size:12px;font-weight:600}.catalog-merge-form{padding:4px 0}.catalog-merge-info{color:var(--text-primary,#1a202c);margin-bottom:4px;font-size:13px}.catalog-expand-btn{cursor:pointer;color:var(--text-secondary,#718096);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px 4px;display:flex}.catalog-expand-btn:hover{background:var(--surface-hover,#edf2f7);color:var(--text-primary,#1a202c)}.catalog-detail-row td{border-bottom:1px solid var(--border,#e2e8f0);padding:0!important}.catalog-detail-panel{background:var(--surface-subtle,#f7fafc);border-top:1px solid var(--border-subtle,#edf2f7);padding:14px 16px}.catalog-detail-cols{flex-wrap:wrap;gap:32px;display:flex}.catalog-detail-col{flex:1;min-width:160px}.catalog-detail-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary,#718096);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.catalog-detail-field{align-items:baseline;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.catalog-detail-field span{color:var(--text-secondary,#718096);flex-shrink:0;min-width:52px}.catalog-detail-field strong{color:var(--text-primary,#1a202c);font-weight:500}.catalog-detail-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.catalog-detail-tag--edited{color:#92400e;background:#fef3c7}.catalog-detail-tag--unchanged{color:#065f46;background:#d1fae5}.checkin-detail{background:#fff;flex-direction:column;height:100%;display:flex;overflow:hidden}.checkin-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.checkin-header-left{align-items:center;gap:12px;display:flex}.checkin-header-left h2{color:#111827;margin:0;font-size:1.05rem;font-weight:700}.checkin-job-num{color:#6b7280;background:#e5e7eb;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:500}.checkin-customer-name{color:#374151;font-size:.9rem;font-weight:600}.checkin-done-badge{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;display:flex}.checkin-body{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.checkin-top-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}@media (width<=700px){.checkin-top-row{grid-template-columns:1fr}}.checkin-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.checkin-section-title{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;align-items:center;gap:6px;margin-bottom:12px;font-size:.72rem;font-weight:700;display:flex}.checkin-edit-btn{text-transform:none;letter-spacing:0;color:#4b5563;border-color:#d1d5db;align-items:center;gap:3px;margin-left:auto;padding:2px 8px;font-size:.72rem;font-weight:500;display:inline-flex}.checkin-info-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.ci-field{flex-direction:column;gap:2px;display:flex}.ci-field label{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.ci-field span{color:#111827;font-size:.875rem;font-weight:500}.ci-field .form-input,.ci-field .form-select{margin-top:2px}.checkin-services-list{margin:0;padding:0 0 0 18px;list-style:outside}.checkin-services-list li{color:#374151;padding:3px 0;font-size:.875rem;line-height:1.4}.checkin-pickup-options{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.checkin-radio-label{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:.875rem;font-weight:500;display:flex}.checkin-radio-label input[type=radio]{accent-color:#2563eb;width:14px;height:14px}.checkin-footer{background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding:14px 24px;display:flex}.checkin-already-done{color:#065f46;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.checkin-loading,.checkin-empty{color:#9ca3af;padding:2px 0;font-size:.85rem}.checkin-vehicle-select-row{margin-bottom:12px}.checkin-mileage-row{max-width:220px;margin-top:14px}.checkin-vehicle-picker{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:14px;padding:8px;display:flex}.checkin-vehicle-option{cursor:pointer;border:1px solid #0000;border-radius:5px;flex-direction:column;gap:2px;padding:8px 10px;transition:background .1s;display:flex}.checkin-vehicle-option:hover{background:#f3f4f6}.checkin-vehicle-option.active{background:#eff6ff;border-color:#bfdbfe}.cvo-name{color:#111827;font-size:.875rem;font-weight:600}.cvo-plate{color:#6b7280;font-size:.78rem}.cvo-vin{color:#9ca3af;font-family:monospace;font-size:.72rem}.split-layout{flex:1;min-height:0;display:flex;overflow:hidden}.split-left{border-right:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.split-right{background:var(--bg);border-left:1px solid var(--border);flex:0 0 360px;width:360px;max-width:500px;overflow:auto}.split-toolbar{background:var(--bg-white);border-bottom:1px solid var(--border-light);flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.no-selection{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.detail-panel{background:var(--bg-white);flex-direction:column;height:100%;display:flex}.detail-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.detail-name{color:var(--navy);align-items:center;gap:6px;font-size:16px;font-weight:700;display:flex}.detail-actions{gap:8px;display:flex}.detail-tabs{border-bottom:1px solid var(--border);flex-shrink:0;padding:0 12px;display:flex}.detail-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-size:12px;font-weight:500;transition:color .12s,border-color .12s}.detail-tab:hover{color:var(--text)}.detail-tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:700}.detail-body{flex:1;padding:16px;overflow:auto}.summary-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.info-group{background:var(--bg);border-radius:8px;padding:14px}.info-group h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:10px;font-size:12px;font-weight:700}.info-row{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:5px 0;font-size:13px;display:flex}.info-row:last-child{border-bottom:none}.info-row span:first-child{color:var(--text-secondary)}.info-row span:last-child{color:var(--text);font-weight:500}.empty-tab{height:120px;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.assets-tab{flex-direction:column;gap:14px;display:flex}.assets-toolbar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tab-loading{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.asset-group{background:var(--bg);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.asset-group-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border-light);background:var(--bg-white);margin:0;padding:8px 12px;font-size:11px;font-weight:700}.asset-table{border-collapse:collapse;width:100%;font-size:12px}.asset-table thead th{background:var(--bg-white);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 10px;font-size:11px;font-weight:600}.asset-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .1s}.asset-table tbody tr:last-child{border-bottom:none}.asset-table tbody tr:hover{background:var(--bg-hover,#f5f7fb)}.asset-table td{color:var(--text);vertical-align:middle;padding:7px 10px}.asset-vin{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-family:monospace;font-size:11px;overflow:hidden}.asset-notes{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--text-secondary);overflow:hidden}.asset-actions{white-space:nowrap;text-align:right;width:60px}.asset-actions .btn{margin-left:2px;padding:3px 5px}.split-right{flex:0 0 360px;max-width:500px;overflow:auto}.cdet-panel{background:var(--bg-white);flex-direction:column;height:100%;display:flex}.cdet-header{border-bottom:1px solid var(--border);background:var(--bg-white);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.cdet-header-left{align-items:center;gap:8px;min-width:0;display:flex}.cdet-name{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:15px;font-weight:700;display:flex;overflow:hidden}.cdet-num{color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px}.cdet-header-actions{flex-shrink:0;gap:6px;display:flex}.cdet-error{color:#c62828;background:#fff0f0;border-bottom:1px solid #ffcdd2;padding:6px 16px;font-size:12px}.cdet-scroll{flex-direction:column;flex:1;display:flex;overflow:hidden auto}.cdet-info-grid{flex:1;grid-template-columns:340px 1fr;align-items:start;gap:0 20px;min-height:0;padding:14px;display:grid}.cdet-left-col{flex-direction:column;gap:12px;display:flex}.cdet-right-col{flex-direction:column;min-height:0;display:flex}.cdet-section{background:var(--bg);border:1px solid var(--border-light);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.cdet-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:2px;font-size:10px;font-weight:700}.cdet-field{flex-direction:column;gap:2px;display:flex}.cdet-field>label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-size:10px;font-weight:600}.cdet-field-row{align-items:flex-end;gap:8px;display:flex}.cdet-field.flex-1{flex:1}.form-input-sm{border-radius:5px;height:28px;padding:0 7px;font-size:12px}.form-input-sm.w-full{box-sizing:border-box;width:100%}textarea.form-input-sm{height:auto;padding:5px 7px}.cdet-vip-toggle{border:1px solid var(--border);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;margin-bottom:2px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.cdet-vip-toggle.active{color:#b45309;background:#fff8e1;border-color:#f59e0b}.cdet-toggle-row{gap:6px;display:flex}.radio-opt{text-align:center;border:1px solid var(--border);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;flex:1;padding:4px 0;font-size:11px;font-weight:600;transition:background .12s,color .12s}.radio-opt.active{background:var(--navy);color:#fff;border-color:var(--navy)}.cdet-summary{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.cdet-stat{background:var(--bg);border:1px solid var(--border-light);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;display:flex}.cdet-stat-value{color:var(--navy);font-size:15px;font-weight:700}.cdet-stat-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-size:10px;font-weight:600}.cdet-tabs{border-bottom:1px solid var(--border);background:var(--bg-white);flex-shrink:0;display:flex}.cdet-tab-body{flex:1;padding:14px 0 0;overflow:auto}.csum-panel{background:var(--bg-white);flex-direction:column;height:100%;display:flex}.csum-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.csum-name{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;font-size:15px;font-weight:700;display:flex;overflow:hidden}.csum-body{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.csum-row{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.csum-row:last-child{border-bottom:none}.csum-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);flex:0 0 110px;font-size:11px;font-weight:600}.csum-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;min-width:0;font-weight:500;display:flex;overflow:hidden}.csum-divider{background:var(--border);height:1px;margin:6px 0}.csum-section-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);margin-bottom:2px;font-size:10px;font-weight:700}.csum-loading{color:var(--text-muted);padding:4px 0;font-size:12px}.csum-hint{color:var(--text-muted);text-align:center;border-top:1px solid var(--border-light);margin-top:auto;padding:10px 16px;font-size:11px}.cdd-modal{flex-direction:column;width:min(1200px,96vw);min-height:80vh;max-height:92vh;display:flex;overflow:hidden}.cdd-modal-header{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.cdd-header-left{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.cdd-header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.cdd-actions{opacity:0;pointer-events:none;align-items:center;gap:6px;max-width:0;transition:max-width .22s,opacity .16s,transform .22s,margin-right .22s;display:flex;overflow:hidden;transform:translate(4px)}.cdd-actions.cdd-actions-visible{opacity:1;pointer-events:auto;max-width:220px;margin-right:4px;transform:translate(0)}.cdd-body{flex-direction:column;flex:1;display:flex;overflow:hidden auto}.page{background:var(--bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.page-header{background:var(--bg-white);border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 20px 0}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.page-title{color:var(--navy);font-size:18px;font-weight:700}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-body{flex-direction:column;flex:1;min-height:0;padding:16px 20px;display:flex;overflow:hidden}.btn{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover{background:var(--navy-light)}.btn-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn-danger{color:var(--red);background:0 0;border-color:#f5c6cb}.btn-danger:hover{background:#fff5f5}.btn-success{color:#1a7535;background:0 0;border-color:#b2dfbf}.btn-success:hover{background:#f0faf3}.btn-icon{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);background:0 0;align-items:center;padding:6px;transition:all .12s;display:inline-flex}.btn-icon:hover{background:var(--bg);color:var(--text)}.form-select,.form-input{border:1px solid var(--border);border-radius:var(--radius);height:32px;color:var(--text);background:#fff;outline:none;padding:0 10px;font-size:13px;transition:border-color .12s}.form-select:focus,.form-input:focus{border-color:var(--accent)}.form-select:disabled{color:#888;cursor:not-allowed;opacity:1;background:#c8cfd8;border-color:#b0b8c4}.last-updated{color:var(--text-muted);font-size:11px}.dash-tabs{gap:0;display:flex}.dash-tab{color:var(--text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 18px;font-size:13px;font-weight:500;transition:color .12s,border-color .12s}.dash-tab:hover{color:var(--text)}.dash-tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:700}.dashboard-today{flex-direction:column;flex:1;gap:20px;min-height:0;display:flex;overflow-y:auto}.today-split{flex:1;grid-template-columns:1fr 1fr;align-items:start;gap:20px;min-height:0;display:grid}.today-col{flex-direction:column;gap:16px;min-width:0;display:flex}.today-col-heading{text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);border-bottom:2px solid var(--border-light);padding-bottom:8px;font-size:11px;font-weight:700}.today-col .metric-group-cards{flex-wrap:wrap}.today-col .dash-section{margin:0}.today-charts-row{align-items:stretch;gap:16px;display:flex}.today-charts-row>.dash-section{margin:0}.today-subtabs{display:none}@media (width<=1200px){.today-split{grid-template-columns:1fr}.today-subtabs{border-bottom:1px solid var(--border-light);gap:4px;display:flex}.today-col-inactive{display:none}}.metric-grid{flex-wrap:wrap;gap:12px;display:flex}.today-top-row{align-items:flex-start;gap:16px;display:flex}.today-insights-col{flex-shrink:0;align-self:stretch;width:220px}.today-metrics-col{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.metric-group{flex-direction:column;gap:5px;display:flex}.metric-group-label{text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary);padding:0 2px;font-size:10px;font-weight:700}.metric-group-cards{flex-wrap:wrap;gap:10px;display:flex}.metric-group-cards .metric-card{flex:150px;padding:12px 14px}.metric-card{background:var(--bg-white);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:8px;flex:180px;min-width:0;padding:14px 16px;position:relative}.metric-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:10px;right:10px}.metric-value{color:var(--text);white-space:nowrap;margin-top:3px;font-size:22px;font-weight:700;line-height:1.2}.metric-info{width:100%;min-width:0}.metric-label{color:var(--text-secondary);padding-right:26px;font-size:12px}.insights-section{grid-template-columns:1fr 1fr;gap:16px;display:grid}.insights-card,.schedule-preview{background:var(--bg-white);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:8px;padding:16px}.insights-card h3,.schedule-preview h3,.dash-section h3{color:var(--navy);margin-bottom:12px;font-size:14px;font-weight:700}.insights-card ul{flex-direction:column;gap:6px;padding-left:16px;display:flex}.insights-card li{color:var(--text-secondary);font-size:13px}.apt-list{flex-direction:column;gap:8px;display:flex}.apt-item{background:var(--bg);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:flex}.apt-time{color:var(--navy);flex-shrink:0;width:45px;font-weight:700}.apt-details{flex:1}.apt-customer{color:var(--text);font-weight:600}.apt-service{color:var(--text-secondary);margin-top:1px}.apt-location{color:var(--text-muted,#8a9bb0);margin-top:2px;font-size:11px}.apt-status{color:var(--accent);font-size:11px;font-weight:600}.overview-dash{grid-template-columns:1fr 1fr;align-content:start;gap:16px;display:grid;overflow-y:auto}.dash-section{background:var(--bg-white);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:8px;padding:16px}.pipeline-bars{flex-direction:column;gap:8px;display:flex}.pipeline-row{align-items:center;gap:10px;font-size:12px;display:flex}.pipeline-label{width:130px;color:var(--text-secondary);flex-shrink:0}.pipeline-bar-bg{background:var(--bg);border-radius:5px;flex:1;height:10px;overflow:hidden}.pipeline-bar-fill{border-radius:5px;height:100%;transition:width .3s}.pipeline-count{text-align:right;width:60px;color:var(--text);font-weight:600}.big-stat{flex-direction:column;align-items:center;gap:6px;padding:20px 0;display:flex}.big-number{color:var(--navy);font-size:48px;font-weight:800}.big-sub{color:var(--text-secondary);font-size:13px}.dash-table{border-collapse:collapse;width:100%;font-size:13px}.dash-table th,.dash-table td{text-align:left;border-bottom:1px solid var(--border-light);padding:8px 10px}.dash-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.dash-table td:not(:first-child),.dash-table th:not(:first-child){text-align:right}.dash-table tbody tr:last-child td{border-bottom:none}.form-row{gap:12px;margin-bottom:12px;display:flex}.form-row .form-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.form-field label{color:var(--text-secondary);font-size:12px;font-weight:600}.form-field input,.form-field select{border:1px solid var(--border);border-radius:var(--radius);height:34px;color:var(--text);background:#fff;outline:none;padding:0 10px;font-size:13px}.form-field input:focus,.form-field select:focus{border-color:var(--accent)}.form-field select:disabled{color:#999;background:#eef0f2}.target-month-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.target-month-cell{flex-direction:column;gap:3px;display:flex}.target-month-cell label{color:var(--text-secondary);font-size:11px}.target-month-cell input{border:1px solid var(--border);border-radius:var(--radius);outline:none;height:30px;padding:0 8px;font-size:12px}.target-group{margin-bottom:18px}.target-group-title{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:700}.target-row{border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding:8px 4px;display:flex}.target-row:last-child{border-bottom:none}.target-row-hidden{opacity:.5}.target-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.target-row-info{flex:1;min-width:0}.target-row-name{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.target-row-meta{color:var(--text-secondary);margin-top:2px;font-size:11px}.target-badge{text-transform:uppercase;letter-spacing:.02em;color:var(--accent);background:var(--accent-light,#2d6a9f1f);border-radius:8px;padding:1px 7px;font-size:10px;font-weight:600}.target-row-actions{flex-shrink:0;gap:4px;display:flex}.target-row-actions .btn-icon{border:none;padding:4px 6px;font-size:13px}.di-page{flex-direction:column;gap:24px;max-width:900px;margin:0 auto;padding:24px;display:flex}.di-steps{background:var(--bg-card,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;align-items:center;gap:0;padding:16px 24px;display:flex}.di-step{color:var(--text-muted,#9ba5ae);flex:1;align-items:center;gap:8px;font-size:.82rem;display:flex}.di-step.active{color:var(--text-primary,#1e2d3d);font-weight:600}.di-step.done{color:var(--success,#22c55e)}.di-step-num{border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.di-step.active .di-step-num{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:#fff}.di-step.done .di-step-num{background:var(--success,#22c55e);border-color:var(--success,#22c55e);color:#fff}.di-step-line{background:var(--border-light,#e5e7eb);flex:1;height:2px;margin:0 12px}.di-card{background:var(--bg-card,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;flex-direction:column;gap:16px;padding:24px;display:flex}.di-card h3{color:var(--text-primary,#1e2d3d);margin:0;font-size:1.05rem;font-weight:700}.di-subtitle{color:var(--text-muted,#9ba5ae);margin:0;font-size:.84rem}.di-req-badge{color:#dc2626;background:#fef2f2;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:600}.di-upload-zone{border:2px dashed var(--border-light,#d1d5db);cursor:pointer;color:var(--text-secondary,#4b5563);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:32px 20px;font-size:.88rem;transition:border-color .15s,background .15s;display:flex}.di-upload-zone:hover{border-color:var(--accent,#3b82f6);background:var(--bg-hover,#f5f8ff)}.di-upload-hint{color:var(--text-muted,#9ba5ae);font-size:.77rem}.di-selected-file{color:var(--text-muted,#64748b);background:var(--bg-light,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:.84rem;display:flex}.di-file-summary{color:var(--success,#22c55e);background:#f0fdf4;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.84rem;display:flex}.di-error{color:var(--error,#dc2626);align-items:center;gap:6px;margin:0;font-size:.84rem;display:flex}.di-row{align-items:center;gap:12px;display:flex}.di-label{color:var(--text-secondary,#374151);white-space:nowrap;font-size:.84rem;font-weight:600}.di-map-table{border:1px solid var(--border-light,#e5e7eb);border-radius:6px;flex-direction:column;gap:2px;max-height:420px;display:flex;overflow-y:auto}.di-map-header{background:var(--bg-surface,#f9fafb);text-transform:uppercase;color:var(--text-muted,#6b7280);border-bottom:1px solid var(--border-light,#e5e7eb);grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px 12px;font-size:.75rem;font-weight:700;display:grid}.di-map-row{border-bottom:1px solid var(--border-light,#f3f4f6);grid-template-columns:1fr 1fr 1fr;align-items:center;gap:8px;padding:7px 12px;display:grid}.di-map-row:last-child{border-bottom:none}.di-col-name{color:var(--text-primary,#1e2d3d);text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;font-weight:600;overflow:hidden}.di-field-select{font-size:.82rem}.di-sample{color:var(--text-muted,#9ba5ae);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.di-warn{color:#92400e;background:#fffbeb;border:1px solid #fbbf24;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.83rem;display:flex}.di-info{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.83rem;display:flex}.di-preview-wrap{border:1px solid var(--border-light,#e5e7eb);border-radius:6px;overflow-x:auto}.di-preview-table{border-collapse:collapse;width:100%;font-size:.82rem}.di-preview-table th{background:var(--bg-surface,#f9fafb);text-transform:uppercase;color:var(--text-muted,#6b7280);text-align:left;border-bottom:1px solid var(--border-light,#e5e7eb);white-space:nowrap;padding:8px 10px;font-size:.75rem;font-weight:700}.di-preview-table td{border-bottom:1px solid var(--border-light,#f3f4f6);color:var(--text-primary,#1e2d3d);text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:7px 10px;overflow:hidden}.di-skip-log .di-preview-table td{white-space:normal;text-overflow:unset;word-break:break-word;vertical-align:top;max-width:none;overflow:visible}.di-preview-table tr:last-child td{border-bottom:none}.di-result-stats{flex-wrap:wrap;gap:16px;display:flex}.di-stat{background:var(--bg-surface,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:90px;padding:14px 20px;display:flex}.di-stat span{color:var(--text-primary,#1e2d3d);font-size:1.6rem;font-weight:700;line-height:1}.di-stat label{text-transform:uppercase;color:var(--text-muted,#9ba5ae);font-size:.75rem;font-weight:600}.di-stat-green span{color:var(--success,#22c55e)}.di-stat-yellow span{color:#f59e0b}.di-stat-red span{color:var(--error,#dc2626)}.di-result-error{color:var(--error,#dc2626);align-items:center;gap:8px;font-weight:600;display:flex}.di-skip-log summary{cursor:pointer;color:var(--text-secondary,#374151);padding:6px 0;font-size:.84rem;font-weight:600}.di-footer{border-top:1px solid var(--border-light,#e5e7eb);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.di-progress-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.di-progress-dialog{background:var(--bg-card,#fff);border:1px solid var(--border-light,#e5e7eb);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;padding:32px 28px;display:flex;box-shadow:0 8px 32px #0003}.di-progress-spinner{color:var(--accent,#3b82f6);animation:1s linear infinite di-spin}@keyframes di-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.di-progress-text{flex-direction:column;gap:6px;display:flex}.di-progress-text strong{color:var(--text-primary,#1e2d3d);font-size:1rem;font-weight:700}.di-progress-text span{color:var(--text-muted,#6b7280);font-size:.84rem;line-height:1.5}.job-detail{background:var(--bg);flex-direction:column;height:100%;display:flex;overflow-y:auto}.job-detail-header{background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:10px 16px 12px}.job-detail-title-row{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:6px;display:grid}.job-detail-title{color:var(--navy);grid-column:1;justify-self:start;align-items:center;gap:8px;font-size:1.1rem;display:flex}.job-number{font-weight:700}.job-separator{color:#aaa}.job-customer{color:#333;font-size:1rem;font-weight:500}.job-detail-title-row .nj-estimated-prominent{grid-column:2;justify-self:center}.job-detail-actions{grid-column:3;justify-self:end;align-items:center;gap:8px;display:flex}.jd-panel{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.jd-panel-customer,.jd-panel-asset{flex-shrink:0}.jd-panel-header{color:#333;background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.jd-panel-header-actions{align-items:center;gap:4px;display:flex}.jd-panel-body{flex:1;padding:14px;overflow:visible}.jd-panel .jd-meta-item{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.jd-panel .jd-meta-item:last-child{margin-bottom:0}.jd-panel .jd-meta-item label{text-transform:uppercase;letter-spacing:.4px;color:#999;font-size:.78rem;font-weight:600}.jd-panel .jd-meta-item .jd-meta-value{color:#222;font-size:.9rem;font-weight:500}.jd-asset-group{margin-bottom:12px}.jd-asset-group:last-child{margin-bottom:0}.jd-asset-group-title{text-transform:uppercase;letter-spacing:.4px;color:#999;margin:0 0 6px;font-size:.7rem;font-weight:600}.jd-asset-item{border-bottom:1px solid #eee;justify-content:space-between;align-items:flex-start;padding:8px 0;display:flex}.jd-asset-item:last-child{border-bottom:none}.jd-asset-info{flex-direction:column;flex:1;gap:2px;display:flex}.jd-asset-name{color:#222;font-size:.85rem;font-weight:600}.jd-asset-detail{color:#666;font-size:.75rem}.jd-asset-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.jd-panel-scheduling .jd-panel-body{overflow:visible}.jd-sched-table th:first-child,.jd-sched-table td:first-child{padding-left:14px}.jd-sched-table th:last-child,.jd-sched-table td:last-child{text-align:right;padding-right:14px}.jd-sched-table tbody tr.jd-sched-row{cursor:pointer;transition:background .12s}.jd-sched-table tbody tr.jd-sched-row--readonly{cursor:default}.jd-sched-table tbody tr.jd-sched-row:not(.jd-sched-row--readonly):hover td{background:#eef2ff}.jd-meta-item{flex-direction:column;gap:4px;display:flex}.jd-meta-item label{text-transform:uppercase;letter-spacing:.4px;color:#999;font-size:.7rem;font-weight:600}.jd-meta-value{color:#222;font-size:.85rem;font-weight:500}.jd-job-grid{flex-direction:column;gap:6px;display:flex}.job-meta-row{flex-wrap:wrap;gap:24px;display:flex}.job-meta-item{flex-direction:column;gap:2px;display:flex}.jm-label{text-transform:uppercase;letter-spacing:.4px;color:#999;font-size:.7rem;font-weight:600}.jm-value{color:#222;font-size:.88rem;font-weight:500}.jm-total{color:var(--accent);font-weight:700}.job-detail-body{flex:1;align-items:flex-start;gap:16px;min-height:0;padding:16px;display:flex;overflow:visible}.job-left-col{flex-direction:column;flex-shrink:0;gap:12px;width:clamp(200px,20%,270px);display:flex}.jd-info-group{background:#f9f9f9;border:1px solid #e8e8e8;border-radius:8px;padding:12px 14px}.jd-info-group-grow{flex:1}.jd-info-group h4{text-transform:uppercase;letter-spacing:.5px;color:#999;margin:0 0 10px;font-size:.73rem;font-weight:600}.jd-field{border-bottom:1px solid #eee;flex-direction:column;gap:2px;padding:5px 0;display:flex}.jd-field:last-child{border-bottom:none}.jd-field label{color:#888;font-size:.72rem}.jd-field span{color:#222;font-size:.85rem;font-weight:500}.jd-inline-select{color:#222;cursor:pointer;-webkit-appearance:auto;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:1px 4px;font-size:.85rem;font-weight:500}.jd-inline-select:hover{background:#f7f7f7;border-color:#ccc}.jd-inline-select:focus{background:#fff;border-color:#4a90e2}.jd-inline-input{color:#222;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;min-width:0;padding:1px 4px;font-size:.85rem;font-weight:500}.jd-inline-input:hover{background:#f7f7f7;border-color:#ccc}.jd-inline-input:focus{background:#fff;border-color:#4a90e2}.jd-inline-input::placeholder{color:#bbb;font-weight:400}.jd-assets-panel{flex-direction:column;height:100%;display:flex}.job-right-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:visible}.job-tasks-col{background:#fafafa;border-left:1px solid #e0e0e0;flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:visible}.job-tasks-header{text-transform:uppercase;letter-spacing:.5px;color:#999;background:#fff;border-bottom:1px solid #e8e8e8;flex-shrink:0;align-items:center;gap:7px;padding:10px 14px;font-size:.73rem;font-weight:600;display:flex}.job-tasks-body{padding:12px;overflow:visible}@media (width<=1400px){.job-tasks-col{display:none}}.job-sub-tabs{scrollbar-width:none;-ms-overflow-style:none;background:#fff;border-bottom:1px solid #ddd;flex-shrink:0;padding:0 16px;display:flex;overflow:auto hidden}.job-sub-tabs::-webkit-scrollbar{display:none}.job-sub-tab{color:#666;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;flex-shrink:0;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.job-sub-tab:hover{color:var(--accent);background:#f8f8f8;border-radius:6px 6px 0 0}.job-sub-tab.active{color:var(--accent);border-bottom-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.job-sub-content{overflow:visible}.jd-sub-body{padding:2px}.job-overview-panel{flex-direction:column;flex:1;display:flex;overflow:visible}.job-section{border-bottom:1px solid #eee}.job-section:last-child{border-bottom:none}.job-header{text-transform:uppercase;letter-spacing:.5px;color:#999;z-index:1;background:#fafafa;border-bottom:1px solid #f0f0f0;align-items:center;gap:6px;padding:8px 18px 7px;font-size:.71rem;font-weight:600;display:flex;position:sticky;top:0}.job-header-btn{text-transform:none;letter-spacing:0;height:auto;margin-left:auto;padding:2px 7px;font-size:.68rem}.job-body{padding:14px 18px}.job-svc-scroll{flex:1;overflow:visible}.job-svc-table{border-collapse:collapse;width:100%;font-size:12px}.job-svc-table thead tr{border-bottom:1px solid #eee}.job-svc-table th{color:#999;text-align:left;z-index:2;background:#fafafa;padding:7px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.job-svc-table td{color:#333;border-bottom:1px solid #f4f4f4;padding:8px 12px}.job-svc-table tbody tr:last-child td{border-bottom:none}.job-svc-table tbody tr:nth-child(odd){background:#fff}.job-svc-table tbody tr:nth-child(2n){background:#f5f7fb}.job-svc-table tfoot td{background:#fafafa;border-top:1px solid #eee;padding:7px 12px}.job-svc-total{margin-top:auto}.job-svc-del{cursor:pointer;color:#ccc;background:0 0;border:none;border-radius:3px;padding:0 2px;font-size:16px;line-height:1}.job-svc-del:hover{color:#c0392b;background:#fde8e8}.job-details-textarea{resize:vertical;color:#333;box-sizing:border-box;background:#fff;border:1px solid #e8e8e8;border-radius:5px;outline:none;flex:1;width:100%;height:100%;min-height:120px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}.job-details-textarea:focus{border-color:var(--primary,#3b82f6);box-shadow:0 0 0 3px #3b82f614}.job-svc-row{border-top:1px solid #eee;border-bottom:1px solid #eee;display:flex}.job-svc-row .job-section{border-bottom:none}.job-svc-main{flex-direction:column;flex:2;min-width:0;display:flex}.job-svc-main .job-header{text-transform:none;letter-spacing:0;color:#333;font-size:16px}.job-svc-main .job-body{flex-direction:column;flex:1;min-height:250px;display:flex}.job-svc-side{border-left:1px solid #eee;flex-direction:column;flex:1;min-width:0;display:flex}.job-svc-side .job-body{flex-direction:column;flex:1;display:flex}.job-svc-side .job-details-textarea{flex:1}.service-line{background:#fff;border:1px solid #e4e4e4;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.service-line-name{color:var(--navy);align-items:center;font-size:.9rem;font-weight:600;display:flex}.service-line-meta{align-items:center;gap:12px;display:flex}.service-tech{color:#666;font-size:.8rem}.service-price{color:var(--accent);font-size:.9rem;font-weight:700}.jd-activity-list{flex-direction:column;gap:10px;display:flex}.jd-activity-item{background:#fff;border:1px solid #e4e4e4;border-radius:8px;padding:12px 14px}.jd-activity-header{justify-content:space-between;margin-bottom:6px;display:flex}.jd-activity-user{color:var(--navy);font-size:.85rem;font-weight:600}.jd-activity-time{color:#999;font-size:.8rem}.jd-activity-msg{color:#444;margin-top:4px;font-size:.86rem}.jd-activity-type{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:4px;font-size:.8rem;font-weight:600}.jd-activity-outcome{color:#3b5bdb;background:#f0f4ff;border-radius:4px;margin-bottom:4px;padding:1px 7px;font-size:.78rem;font-weight:600;display:inline-block}.jd-activity-notes{color:#444;white-space:pre-wrap;margin:0;font-family:inherit;font-size:.84rem}.jd-notes-card{background:#fff;border:1px solid #e4e4e4;border-radius:8px;padding:14px 16px}.jd-notes-card h4{text-transform:uppercase;letter-spacing:.4px;color:#aaa;margin:0 0 8px;font-size:.78rem;font-weight:600}.jd-notes-card p{color:#777;margin:0;font-size:.88rem}.notes-panel{background:#fff;flex-direction:column;height:100%;display:flex}.notes-header{border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.notes-title{color:#222;font-size:.95rem;font-weight:700}.notes-status{font-size:.8rem;font-weight:500}.notes-status--saved{color:#1a7535}.notes-status--unsaved{color:#856404}.notes-status--saving{color:#888;font-style:italic}.notes-status--error{color:#c0392b}.notes-body{flex:1;padding:14px 18px;display:flex;overflow:hidden}.notes-textarea{resize:none;border:1px solid #ddd;border-radius:6px;flex:1;padding:12px 14px;font-family:inherit;font-size:.875rem;line-height:1.6;transition:border-color .15s}.notes-textarea:focus{border-color:#0078d4;outline:none}.notes-footer{background:#fafafa;border-top:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 18px 10px;display:flex}.notes-last-saved{color:#999;font-size:.78rem}.notes-count{color:#aaa;font-size:.78rem}.jd-time-card{background:#fff;border:1px solid #e4e4e4;border-radius:8px;padding:14px 16px}.jd-time-row{border-bottom:1px solid #f2f2f2;justify-content:space-between;padding:7px 0;font-size:.86rem;display:flex}.jd-time-row:last-child{border-bottom:none}.jd-time-row>span:first-child{color:#777}.jd-time-row>span:last-child{color:#222;font-weight:500}.tt-panel{flex-direction:column;gap:16px;display:flex}.tt-summary{background:#fff;border:1px solid #e4e4e4;border-radius:8px;align-items:center;gap:24px;padding:12px 18px;display:flex}.tt-stat{flex-direction:column;align-items:center;min-width:56px;display:flex}.tt-stat-value{color:var(--navy);font-size:1.35rem;font-weight:700;line-height:1.2}.tt-stat-label{color:#999;text-transform:uppercase;letter-spacing:.4px;font-size:.7rem}.tt-actions{margin-left:auto}.tt-actions-row{gap:8px;display:flex}.tt-clockin-bar{align-items:center;gap:6px;display:flex}.tt-clockin-input{border:1px solid #d0d5dd;border-radius:6px;outline:none;width:160px;padding:5px 10px;font-size:.84rem}.tt-clockin-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #6366f11f}.tt-active-timers{flex-direction:column;gap:10px;display:flex}.tt-active-label{text-transform:uppercase;letter-spacing:.5px;color:#f59e0b;font-size:.72rem;font-weight:700}.tt-clock-cards{flex-wrap:wrap;gap:10px;display:flex}.tt-clock-card{background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);border:1.5px solid #fcd34d;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:140px;padding:12px 20px;display:flex}.tt-clock-tech{color:var(--navy);font-size:.82rem;font-weight:700}.tt-clock-elapsed{font-variant-numeric:tabular-nums;color:#b45309;letter-spacing:1px;font-size:1.65rem;font-weight:800;line-height:1.2}.tt-clock-since{color:#aaa;margin-bottom:6px;font-size:.72rem}.tt-clock-out-btn{color:#92400e;cursor:pointer;background:#fef3c7;border:1px solid #fcd34d;border-radius:20px;padding:3px 12px;font-size:.78rem;font-weight:600;transition:background .12s}.tt-clock-out-btn:hover{background:#fde68a}.tt-timeline{background:#fff;border:1px solid #e4e4e4;border-radius:8px;align-items:center;gap:0;padding:12px 18px;display:flex}.tt-timeline-point{flex-shrink:0;align-items:center;gap:10px;display:flex}.tt-tl-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tt-tl-dot-start{background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.tt-tl-dot-end{background:#6366f1;box-shadow:0 0 0 3px #e0e7ff}.tt-tl-label{text-transform:uppercase;letter-spacing:.4px;color:#aaa;font-size:.7rem;font-weight:700}.tt-tl-value{color:var(--navy);margin-top:1px;font-size:.84rem;font-weight:600}.tt-timeline-spine{flex:1;justify-content:center;align-items:center;padding:0 12px;display:flex;position:relative}.tt-timeline-spine:before{content:"";background:repeating-linear-gradient(90deg,#d1d5db 0 6px,#0000 6px 12px);height:1px;position:absolute;top:50%;left:0;right:0}.tt-tl-span-label{color:#6366f1;white-space:nowrap;background:#f9fafb;border:1px solid #e0e7ff;border-radius:20px;padding:2px 10px;font-size:.78rem;font-weight:700;position:relative}.tt-breakdown{background:#fff;border:1px solid #e4e4e4;border-radius:8px;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.tt-breakdown-title{text-transform:uppercase;letter-spacing:.4px;color:#aaa;margin-bottom:2px;font-size:.72rem;font-weight:700}.tt-breakdown-row{align-items:center;gap:10px;display:flex}.tt-breakdown-name{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:90px;font-size:.84rem;font-weight:600;overflow:hidden}.tt-breakdown-bar-wrap{background:#f0f2f5;border-radius:4px;flex:1;height:8px;overflow:hidden}.tt-breakdown-bar{background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:4px;min-width:4px;height:100%;transition:width .4s}.tt-breakdown-hours{color:var(--accent);text-align:right;flex-shrink:0;width:48px;font-size:.84rem;font-weight:700}.tt-breakdown-pct{color:#aaa;text-align:right;flex-shrink:0;width:32px;font-size:.75rem}.tt-table-total td{background:#f7f8fa;border-top:2px solid #e4e4e4;padding:8px 12px}.tt-total-label{text-transform:uppercase;letter-spacing:.4px;color:#888;text-align:right;font-size:.78rem;font-weight:700}.tt-empty{text-align:center;color:#bbb;padding:36px 0;font-size:.88rem}.tt-table-wrap{background:#fff;border:1px solid #e4e4e4;border-radius:8px;overflow-x:auto}.tt-table{border-collapse:collapse;width:100%;font-size:.84rem}.tt-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:#888;white-space:nowrap;background:#f7f8fa;border-bottom:1px solid #eee;padding:8px 12px;font-size:.72rem;font-weight:600}.tt-table tbody tr:not(:last-child) td{border-bottom:1px solid #f2f2f2}.tt-table tbody tr:hover td{background:#fafbfc}.tt-table td{color:#333;vertical-align:middle;padding:9px 12px}.tt-tech{color:var(--navy);font-weight:600}.tt-hours{color:var(--accent);white-space:nowrap;font-weight:600}.tt-notes{color:#666;text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.tt-none{color:#ccc}.tt-row-actions{justify-content:flex-end;gap:4px;display:flex}.tt-btn-edit,.tt-btn-del{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.95rem;transition:background .12s,border-color .12s;display:flex}.tt-btn-edit{color:#555}.tt-btn-edit:hover{color:var(--accent);background:#eef2ff;border-color:#c5cef6}.tt-btn-del{color:#999}.tt-btn-del:hover{color:#d32f2f;background:#fff0f0;border-color:#f5c6cb}.nte-form{flex-direction:column;gap:14px;display:flex}.nte-duration{background:#f0f4f8;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.nte-duration-label{color:#666;font-size:.8rem;font-weight:600}.nte-duration-value{color:var(--accent);font-size:1rem;font-weight:700}.nte-duration-invalid{color:#d32f2f}.lead-detail .jd-info-group,.lead-detail .jd-panel-asset{border-radius:0}.lead-left-col{background:#fafafa;border-right:1px solid #e0e0e0;flex-direction:column;flex-shrink:0;gap:12px;width:280px;padding:16px;display:flex;overflow-y:auto}.lead-right-col{flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden}.stage-bar-row{align-items:center;gap:14px;padding:10px 0 6px;display:flex}.stage-bar{border-radius:6px;flex:1;display:flex;overflow:hidden}.stage-chevron{text-transform:uppercase;letter-spacing:.4px;cursor:pointer;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%);border:none;flex:1;padding:8px 8px 8px 16px;font-size:.7rem;font-weight:600;transition:filter .15s;position:relative}.stage-chevron.first{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);padding-left:12px}.stage-chevron.last{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,11px 50%)}.stage-chevron:hover{filter:brightness(.93)}.stage-chevron.active{box-shadow:inset 0 -2px #0003}.stage-chevron-wrap{flex:1;display:flex;position:relative}.stage-chevron-wrap .stage-chevron{flex:1}.stage-chevron-wrap:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:200;letter-spacing:.2px;background:#1a1a2e;border-radius:5px;padding:4px 9px;font-size:.71rem;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.stage-chevron-wrap:before{content:"";pointer-events:none;opacity:0;z-index:200;border:5px solid #0000;border-top-color:#1a1a2e;transition:opacity .15s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.stage-chevron-wrap:hover:after,.stage-chevron-wrap:hover:before{opacity:1}.lead-amount{color:var(--navy);white-space:nowrap;font-size:.95rem;font-weight:700}.apt-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;display:flex;overflow:hidden}.apt-card:last-child{margin-bottom:0}.apt-card-date{background:#f8f9fa;border-right:1px solid #e0e0e0;flex-shrink:0;width:155px;padding:14px}.apt-card-day{color:#999;text-transform:uppercase;font-size:.73rem;font-weight:600}.apt-card-full{color:#333;margin:2px 0 6px;font-size:.9rem;font-weight:700}.apt-card-time{color:#666;font-size:.8rem}.apt-card-info{flex:1;padding:14px}.apt-card-service{color:#222;margin-bottom:6px;font-size:.93rem;font-weight:600}.apt-card-meta{color:#666;margin-bottom:8px;font-size:.8rem}.apt-status-badge{color:#fff;background:#9b59b6;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.lead-tasks-col{background:#fafafa;border-left:1px solid #e0e0e0;flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.lead-tasks-header{text-transform:uppercase;letter-spacing:.5px;color:#999;background:#fff;border-bottom:1px solid #e8e8e8;flex-shrink:0;align-items:center;gap:7px;padding:10px 14px;font-size:.73rem;font-weight:600;display:flex}.tasks-panel{flex-direction:column;flex:1;gap:6px;display:flex;overflow:visible}.task-input-row{gap:6px;margin-bottom:8px;display:flex}.task-input{border:1px solid #ddd;border-radius:4px;outline:none;flex:1;padding:6px 8px;font-size:.85rem}.task-input:focus{border-color:var(--accent)}.task-add-btn{padding:0 14px;font-size:1.3rem;line-height:1}.task-row{background:#fff;border:1px solid #e8e8e8;border-radius:5px;align-items:flex-start;gap:8px;padding:7px 8px;transition:background .1s;display:flex}.task-row:hover{background:#f8f9fa}.task-row.task-done{background:#fafafa}.task-check{accent-color:#28a745;cursor:pointer;flex-shrink:0;width:15px;height:15px;margin-top:2px}.task-body{flex:1;min-width:0}.task-title{color:#333;font-size:.86rem;line-height:1.3}.task-done .task-title{color:#999;text-decoration:line-through}.task-meta{color:#888;margin-top:2px;font-size:.76rem}.task-completed-at{color:#aaa;margin-top:2px;font-size:.75rem;font-style:italic}.task-delete{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:0 2px;font-size:1.2rem;line-height:1}.task-delete:hover{color:#dc3545;background:#ffe6e6}.task-empty{color:#bbb;text-align:center;padding:32px 0;font-size:.85rem}.task-section-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px;font-size:.75rem;font-weight:600}.analytics-panel{gap:0}.analytics-title{color:#222;margin:0 0 18px;font-size:1.05rem;font-weight:700}.analytics-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat-label{color:#666;font-size:.82rem;font-weight:500}.stat-value{font-size:1.9rem;font-weight:700;line-height:1.1}.stat-sub{color:#999;margin-top:2px;font-size:.75rem}.stat-green .stat-value{color:#28a745}.stat-red .stat-value{color:#dc3545}.stat-amber .stat-value{color:#f0ad4e}.stat-blue .stat-value{color:#0078d4}.stat-purple .stat-value{color:#6f42c1}.overview-panel{flex-direction:column;display:flex;overflow:visible}.ov-section{border-bottom:1px solid #eee}.ov-section:last-child{border-bottom:none}.ov-header{text-transform:uppercase;letter-spacing:.5px;color:#999;z-index:1;background:#fafafa;border-bottom:1px solid #f0f0f0;align-items:center;gap:6px;padding:8px 18px 7px;font-size:.71rem;font-weight:600;display:flex;position:sticky;top:0}.ov-header-btn{text-transform:none;letter-spacing:0;height:auto;margin-left:auto;padding:2px 7px;font-size:.68rem}.ov-body{padding:8px 4px}.ov-svc-scroll{flex:1;overflow:visible}.ov-svc-table{border-collapse:collapse;width:100%;font-size:12px}.ov-svc-table thead tr{border-bottom:1px solid #eee}.ov-svc-table th{color:#999;text-align:left;z-index:2;background:#fafafa;padding:7px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.ov-svc-table td{color:#333;border-bottom:1px solid #f4f4f4;padding:8px 12px}.ov-svc-table tbody tr:last-child td{border-bottom:none}.ov-svc-table tbody tr:nth-child(odd){background:#fff}.ov-svc-table tbody tr:nth-child(2n){background:#f5f7fb}.ov-svc-table tfoot td{background:#fafafa;border-top:1px solid #eee;padding:7px 12px}.ov-svc-total{margin-top:auto}.ov-svc-del{cursor:pointer;color:#ccc;background:0 0;border:none;border-radius:3px;padding:0 2px;font-size:16px;line-height:1}.ov-svc-del:hover{color:#c0392b;background:#fde8e8}.ov-details-textarea{resize:vertical;color:#333;box-sizing:border-box;background:#fff;border:1px solid #e8e8e8;border-radius:5px;outline:none;width:100%;height:100%;min-height:120px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}.ov-details-textarea:focus{border-color:var(--primary,#3b82f6);box-shadow:0 0 0 3px #3b82f614}.ov-tasks-section .ov-body{padding:12px 14px}.ov-grid{grid-template-columns:1fr 1fr;display:grid}.ov-section.ov-right{border-left:1px solid #eee}.ov-section.ov-full{grid-column:1/-1}.ov-svc-row{border-top:1px solid #eee;border-bottom:1px solid #eee;flex-direction:row;gap:0;display:flex}@media (width<=1200px){.ov-svc-row{flex-direction:column}}.ov-svc-row .ov-section{border-bottom:none}.ov-svc-main{flex-direction:column;flex:1;min-width:0;display:flex}.ov-svc-side{border-left:1px solid #eee;flex-direction:column;flex:1;min-width:0;display:flex}.ov-svc-main .ov-header,.ov-svc-side .ov-header,.ov-grid .ov-section .ov-header{text-transform:none;letter-spacing:0;color:#333;font-size:16px}.ov-svc-main .ov-body{flex-direction:column;flex:1;min-height:200px;display:flex}.ov-parts-panel{border-left:1px solid #eee;flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=1200px){.ov-parts-panel{border-top:1px solid #eee;border-left:none}}.ov-parts-panel .ov-header{text-transform:none;letter-spacing:0;color:#333;font-size:16px}.ov-parts-panel .ov-body{flex-direction:column;flex:1;min-height:200px;display:flex}.ov-details-section{border-top:1px solid #eee;flex-direction:column;display:flex}.ov-details-section .ov-body{flex-direction:column;flex:1;min-height:150px;display:flex}.actions-panel{flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}.actions-panel-header{border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.actions-panel-title{color:#222;margin:0;font-size:.95rem;font-weight:700}.actions-panel-btns{align-items:center;gap:8px;display:flex}.act-quoted-btn{color:#856404;cursor:pointer;background:#fff8e1;border:1px solid #f0ad4e;border-radius:6px;height:30px;padding:4px 12px;font-size:12px;font-weight:500}.act-quoted-btn:hover{color:#fff;background:#f0ad4e}.actions-list{flex-direction:column;flex:1;gap:10px;padding:14px 18px;display:flex;overflow-y:auto}.actions-empty{text-align:center;color:#999;padding:40px 0;font-size:13px;font-style:italic}.action-card{background:#fff;border:1px solid #e4e4e4;border-radius:8px;padding:12px 14px}.action-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.action-card-user{color:var(--navy,var(--navy));font-size:.85rem;font-weight:600}.action-card-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.action-card-ts{color:#999;white-space:nowrap;font-size:.8rem}.action-edit-btn{color:#0078d4;cursor:pointer;background:0 0;border:1px solid #0078d4;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:500}.action-edit-btn:hover{color:#fff;background:#0078d4}.action-card-action{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.action-type-badge{color:#1a56b8;background:#e8f0fe;border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:500}.action-type-badge--system{color:#7c3aed;background:#f3e8ff}.action-card--system{background:#fdfbff;border-color:#e9d8fd}.action-card-sys-msg{color:#444;white-space:pre-wrap;font-size:.84rem}.action-arrow{color:#aaa;font-size:.78rem}.action-outcome-badge{letter-spacing:.2px;border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:600}.action-outcome-badge--green{color:#1e7e34;background:#e6f4ea}.action-outcome-badge--amber{color:#856404;background:#fff3cd}.action-outcome-badge--red{color:#c0392b;background:#fde8e8}.action-outcome-badge--grey{color:#555;background:#f0f0f0}.action-card-notes{color:#444;font-size:.86rem;line-height:1.4}.activity-filter-bar{border-bottom:1px solid #f0f0f0;gap:6px;padding:8px 16px 6px;display:flex}.activity-filter-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #e0e0e0;border-radius:20px;padding:3px 12px;font-size:.78rem;transition:background .15s,color .15s,border-color .15s}.activity-filter-btn:hover{background:#f4f4f4;border-color:#ccc}.activity-filter-btn.active{background:var(--navy,var(--navy));border-color:var(--navy,var(--navy));color:#fff}.action-card--comment{background:#f0faf4;border-color:#b2dfca}.action-type-badge--comment{color:#155724;background:#d4edda}.act-comment-del{color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 2px;font-size:1rem;line-height:1}.act-comment-del:hover{color:#c0392b;background:#fde8e8}.activity-comment-input{background:#fafafa;border-top:1px solid #f0f0f0;align-items:flex-end;gap:8px;padding:10px 14px 12px;display:flex}.activity-comment-input textarea{resize:none;border:1px solid #ddd;border-radius:6px;flex:1;padding:7px 10px;font-family:inherit;font-size:.85rem;line-height:1.4;transition:border-color .15s}.activity-comment-input textarea:focus{border-color:#0078d4;outline:none}.activity-comment-post{background:var(--navy,var(--navy));color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:7px 16px;font-size:.84rem;font-weight:500;transition:background .15s}.activity-comment-post:hover:not(:disabled){background:#0e1f33}.activity-comment-post:disabled{opacity:.45;cursor:not-allowed}.act-dialog-overlay{z-index:600;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.act-dialog{background:#fff;border-radius:10px;flex-direction:column;width:min(560px,95vw);max-height:85vh;display:flex;box-shadow:0 8px 32px #0000002e}.act-dialog-header{color:#222;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.act-dialog-body{flex-direction:column;gap:14px;padding:18px;display:flex;overflow-y:auto}.act-dialog-footer{border-top:1px solid #eee;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.act-stage-hint{color:var(--accent);background:#e8f0fe;border:1px solid #c5d8f5;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;display:flex}.act-stage-hint strong{color:#1a4d80}.act-stage-hint--same{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.act-stage-hint--same strong{color:#374151}.form-textarea{resize:vertical;color:#333;box-sizing:border-box;border:1px solid #dce1e6;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.form-textarea:focus{border-color:#0078d4;outline:none}.w-full{width:100%}.filter-row{flex-wrap:wrap;gap:8px;padding-bottom:10px;display:flex}.filter-search{width:220px}.table-footer{background:var(--bg-white);border-top:1px solid var(--border-light);color:var(--text-muted);flex-shrink:0;padding:6px 12px;font-size:12px}.icon-vip{color:var(--gold)}.icon-flagged{color:var(--orange)}.qv-host{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.login-root{background:var(--brand-gradient);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:40px 44px;box-shadow:0 20px 60px #00000059}.login-logo{margin-bottom:24px}.login-title{color:#333;margin:0 0 24px;font-size:1.1rem;font-weight:600}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:5px;display:flex}.login-field label{color:#444;font-size:.82rem;font-weight:600}.login-input{border:1px solid #d0d5dd;border-radius:7px;outline:none;padding:9px 12px;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--accent,#6366f1);box-shadow:0 0 0 3px #6366f126}.login-error{color:#c62828;background:#fff0f0;border:1px solid #f5c6cb;border-radius:6px;padding:9px 12px;font-size:.85rem}.login-btn{background:var(--accent,#6366f1);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:10px;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s}.login-btn:hover:not(:disabled){background:#4f52d0}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-row{gap:12px;display:flex}.login-row .login-field{flex:1}.login-footer{text-align:center;color:#666;margin-top:20px;font-size:.84rem}.login-footer-link{color:var(--accent,#6366f1);cursor:pointer;background:0 0;border:none;padding:0;font-size:.84rem;font-weight:600;text-decoration:underline}.login-pw-wrap{position:relative}.login-pw-wrap .login-input{box-sizing:border-box;width:100%;padding-right:38px}.login-pw-toggle{cursor:pointer;color:#999;background:0 0;border:none;align-items:center;padding:2px;line-height:1;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-pw-toggle:hover{color:#333}.login-footer-link:hover{color:#4f52d0}@media (width<=768px){.login-card{max-width:440px;padding:36px 32px}.login-input{height:46px;padding:0 12px;font-size:16px}.login-pw-wrap .login-input{padding-right:42px}.login-btn{height:48px;font-size:1rem}}@media (width<=480px){.login-root{align-items:flex-start;padding:0}.login-card{max-width:100%;min-height:100dvh;padding:calc(48px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));box-shadow:none;border-radius:0;flex-direction:column;display:flex}.login-form{flex:1;gap:20px}.login-logo{margin-bottom:32px}.login-logo .brand-mark{width:44px;height:44px}.login-logo .brand-name{font-size:1.5rem}.login-title{margin-bottom:28px;font-size:1.2rem}.login-field label{font-size:.88rem}.login-input{border-radius:10px;height:50px;padding:0 14px;font-size:16px}.login-pw-wrap .login-input{padding-right:50px}.login-pw-toggle{padding:13px;right:2px}.login-btn{border-radius:10px;height:52px;margin-top:8px;font-size:1.05rem}.login-btn:active{transform:scale(.98)}.login-error{padding:11px 14px;font-size:.9rem}.login-footer{margin-top:auto;padding-top:24px;font-size:.88rem}.login-footer-link{font-size:.88rem}}.nl-page{background:var(--bg,#f3f4f6);flex-direction:column;height:100%;display:flex;overflow:hidden}.nl-page-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.nl-page-title{color:#111827;align-items:baseline;gap:8px;margin:0;font-size:1.05rem;font-weight:700;display:flex}.nl-page-lead-num{color:#6b7280;font-size:.88em;font-weight:400}.nl-page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nl-page-body{flex:1;padding:20px 24px;overflow-y:auto}.nf-page{background:var(--bg);height:100%;display:flex;overflow:hidden}.nf-left{border-right:1px solid var(--border);background:var(--bg-white);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden}.nf-list-header{border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:8px;padding:16px 16px 12px;display:flex}.nf-page-title{color:var(--text);flex:1;margin:0;font-size:17px;font-weight:700}.nf-list-toolbar{align-items:center;gap:6px;display:flex}.nf-btn-text{color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:background .12s;display:flex}.nf-btn-text:hover{background:var(--bg)}.nf-btn-primary{background:var(--navy);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.nf-btn-primary:hover{background:var(--navy-dark)}.nf-filter-tabs{border-bottom:1px solid var(--border-light);flex-shrink:0;gap:4px;padding:8px 12px;display:flex}.nf-filter-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.nf-filter-tab:hover{background:var(--bg);color:var(--text)}.nf-filter-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.nf-tab-count{background:var(--red);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:inline-flex}.nf-list{flex:1;overflow-y:auto}.nf-list-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:40px 24px;font-size:13px;display:flex}.nf-list-item{border:none;border-bottom:1px solid var(--border-light);text-align:left;cursor:pointer;background:0 0;align-items:flex-start;gap:10px;width:100%;padding:12px 12px 12px 20px;transition:background .1s;display:flex;position:relative}.nf-list-item:hover{background:var(--bg)}.nf-list-item--active{background:#1e3a5f12}.nf-list-item--unread{background:#1e3a5f0a}.nf-item-dot{background:var(--navy);border-radius:50%;width:6px;height:6px;position:absolute;top:14px;left:8px}.nf-item-icon{flex-shrink:0;margin-top:2px}.nf-item-text{flex:1;min-width:0}.nf-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.nf-list-item--active .nf-item-title,.nf-list-item:hover .nf-item-title{white-space:normal}.nf-list-item--unread .nf-item-title{font-weight:700}.nf-item-meta{align-items:center;gap:6px;margin-top:3px;display:flex}.nf-item-time{color:var(--text-muted);font-size:11px}.nf-item-chevron{color:var(--text-muted);flex-shrink:0;margin-top:3px}.nf-right{flex-direction:column;flex:1;display:flex;overflow:hidden}.nf-detail-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.nf-detail{flex:1;padding:28px 32px;overflow-y:auto}.nf-detail-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.nf-detail-badges{flex-wrap:wrap;gap:6px;display:flex}.nf-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.nf-detail-actions{gap:6px;display:flex}.nf-icon-btn{border:1px solid var(--border);border-radius:var(--radius);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:all .12s;display:flex}.nf-icon-btn:hover{background:var(--bg);color:var(--text)}.nf-icon-btn--danger:hover{border-color:var(--red);color:var(--red);background:#fef2f2}.nf-detail-title{color:var(--text);margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.3}.nf-detail-date{color:var(--text-muted);border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;font-size:12px;display:flex}.nf-detail-audience{color:var(--navy-light);background:#1e3a5f14;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.nf-detail-body{color:var(--text);font-size:14px;line-height:1.7}.nf-body-h2{color:var(--text);margin:20px 0 6px;font-size:17px;font-weight:700}.nf-body-h3{color:var(--text);margin:14px 0 4px;font-size:14px;font-weight:700}.nf-body-p{margin:4px 0}.nf-body-li{color:var(--text);margin:2px 0 2px 20px;list-style-type:disc}.nf-detail-nobody{color:var(--text-muted);font-size:13px;font-style:italic}.nf-compose{background:var(--bg-white);flex-direction:column;flex:1;display:flex;overflow:hidden}.nf-compose-header{color:var(--text);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:8px;padding:16px 24px;font-size:15px;font-weight:700;display:flex}.nf-compose-close{border-radius:var(--radius);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;transition:background .12s;display:flex}.nf-compose-close:hover{background:var(--bg);color:var(--text)}.nf-compose-body{flex-direction:column;flex:1;gap:14px;padding:20px 24px;display:flex;overflow-y:auto}.nf-form-row{gap:12px;display:flex}.nf-form-field{flex-direction:column;flex:1;gap:5px;display:flex}.nf-form-field--full{flex:unset;width:100%}.nf-form-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.nf-required{color:var(--red)}.nf-form-field input,.nf-form-field select,.nf-form-field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);resize:vertical;padding:8px 10px;font-size:13px;transition:border-color .12s,box-shadow .12s}.nf-form-field input:focus,.nf-form-field select:focus,.nf-form-field textarea:focus{border-color:var(--navy-light);background:var(--bg-white);outline:none;box-shadow:0 0 0 2px #1e3a5f1a}.nf-category-preview{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border-light);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.nf-target-label{color:var(--text-muted);margin-left:auto;font-size:11px}.nf-audience-row{flex-direction:column;gap:8px;display:flex}.nf-radio-group{flex-wrap:wrap;gap:8px;display:flex}.nf-radio-option{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .12s;display:flex}.nf-radio-option input[type=radio]{accent-color:var(--navy);width:14px;height:14px}.nf-radio-option:hover{background:var(--bg);border-color:var(--border);color:var(--text)}.nf-radio-option--active{border-color:var(--navy-light);color:var(--navy);background:#1e3a5f14;font-weight:600}.nf-role-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);width:100%;padding:7px 10px;font-size:13px;transition:border-color .12s}.nf-role-select:focus{border-color:var(--navy-light);background:var(--bg-white);outline:none;box-shadow:0 0 0 2px #1e3a5f1a}.nf-form-error{color:var(--red);border-radius:var(--radius);background:#fef2f2;padding:6px 10px;font-size:12px}.nf-compose-footer{border-top:1px solid var(--border-light);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.nf-btn-cancel{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;padding:7px 16px;font-size:13px;transition:background .12s}.nf-btn-cancel:hover{background:var(--bg)}.nf-btn-send{background:var(--navy);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:6px;padding:7px 18px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.nf-btn-send:hover:not(:disabled){background:var(--navy-dark)}.nf-btn-send:disabled{opacity:.5;cursor:not-allowed}.portal-bookings-page{flex-direction:column;height:100%;padding:24px;display:flex;overflow:hidden}.pb-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.pb-header h1{color:var(--navy);margin:0;font-size:1.3rem}.pb-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pb-filter-chip{border:1px solid var(--border);color:var(--text-muted);background:#fff;border-radius:999px;padding:5px 14px;font-size:.82rem}.pb-filter-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.pb-body{flex:1;gap:16px;display:flex;overflow:hidden}.pb-list{border:1px solid var(--border);background:#fff;flex-direction:column;flex:1;max-width:420px;display:flex;overflow-y:auto}.pb-row{border-bottom:1px solid var(--border);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.pb-row:last-child{border-bottom:none}.pb-row.active,.pb-row:hover{background:#f5f7fa}.pb-row__title{color:var(--navy);font-size:.92rem;font-weight:600}.pb-row__sub{color:var(--text-muted);margin-top:2px;font-size:.8rem}.pb-row__meta{color:var(--text-muted);flex-direction:column;align-items:flex-end;gap:6px;font-size:.78rem;display:flex}.pb-detail{border:1px solid var(--border);background:#fff;flex:1.4;padding:20px;overflow-y:auto}.pb-detail__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.pb-detail__title{align-items:center;gap:10px;display:flex}.pb-detail__header h2{color:var(--navy);margin:0;font-size:1.1rem}.pb-detail__row{border-bottom:1px solid #f1f1f1;justify-content:space-between;padding:6px 0;font-size:.9rem;display:flex}.pb-detail__row span:first-child{color:var(--text-muted)}.pb-detail__notes{background:#f8fafc;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:.85rem}.pb-actions{flex-wrap:wrap;gap:10px;display:flex}.pb-actions .btn{align-items:center;gap:6px;display:inline-flex}.pb-converted{color:var(--green);font-size:.9rem;font-weight:600}.pb-converted--link{cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;text-decoration:underline;display:inline-flex}.pb-converted--link:hover{opacity:.8}.pb-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:.9rem}.pb-error{color:var(--red);margin-top:12px;font-size:.85rem}.btn-outline{color:var(--navy);border:1px solid var(--border);background:#fff}.btn-outline:hover{background:#f5f7fa}.bd-tabs{gap:8px;margin-bottom:16px;display:flex}.bd-tab{border:1px solid var(--border);color:var(--text-muted);background:#fff;border-radius:8px;padding:8px 18px;font-size:.88rem;font-weight:600}.bd-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.ba-wrap{height:100%;padding:0 24px 24px;overflow-y:auto}.ba-range{color:var(--text-muted);margin-bottom:16px;font-size:.82rem}.ba-stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.ba-stat-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:16px}.ba-stat-value{color:var(--navy);font-size:1.6rem;font-weight:700}.ba-stat-label{color:var(--text-muted);margin-top:4px;font-size:.82rem}.ba-stat-sub{color:var(--text-muted);margin-top:2px;font-size:.72rem}.profile-page{background:var(--bg);flex-direction:column;flex:1;gap:20px;padding:24px 28px;display:flex;overflow-y:auto}.profile-header{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:20px;padding:24px 28px;display:flex}.profile-avatar-lg{background:var(--navy);color:#fff;letter-spacing:1px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:26px;font-weight:700;display:flex;box-shadow:0 2px 10px #192b4440}.profile-header-info{flex-direction:column;gap:8px;display:flex}.profile-display-name{color:var(--navy);font-size:22px;font-weight:700;line-height:1.2}.profile-meta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.profile-role-badge{color:#fff;letter-spacing:.3px;text-transform:capitalize;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.profile-email{color:var(--text-secondary);align-items:center;gap:5px;font-size:13px;display:flex}.profile-body{align-items:flex-start;gap:20px;min-height:0;display:flex}.profile-left{flex-direction:column;flex-shrink:0;gap:20px;width:300px;display:flex}.profile-right{flex:1;min-width:0}.profile-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px}.profile-card-full{height:100%}.profile-card-title{color:var(--navy);border-bottom:1px solid var(--border-light);align-items:center;gap:7px;margin-bottom:14px;padding-bottom:10px;font-size:13px;font-weight:600;display:flex}.profile-info-list{flex-direction:column;gap:0;display:flex}.profile-info-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13px;display:flex}.profile-info-row:last-child{border-bottom:none}.profile-info-label{color:var(--text-muted);flex-shrink:0;font-size:12px}.profile-info-value{color:var(--text);text-align:right;word-break:break-word;font-weight:500}.profile-stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-stat-item{background:var(--bg);border-radius:var(--radius);text-align:center;padding:12px 10px}.profile-stat-value{margin-bottom:4px;font-size:24px;font-weight:700;line-height:1}.profile-stat-label{color:var(--text-muted);font-size:11px}.profile-active-timers{flex-direction:column;gap:8px;display:flex}.profile-timer-row{background:var(--bg-secondary,#f5f7fa);border:1px solid var(--border-light,#e8ecf0);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.profile-timer-info{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-timer-job{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.profile-timer-customer{color:var(--text-secondary);font-weight:400}.profile-timer-elapsed{font-variant-numeric:tabular-nums;color:var(--green,#28a745);letter-spacing:.5px;font-size:1.05rem;font-weight:700}.profile-clockout-btn{white-space:nowrap;flex-shrink:0}.activity-feed{flex-direction:column;gap:0;display:flex}.activity-item{border-bottom:1px solid var(--border-light);align-items:flex-start;gap:12px;padding:11px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:1px;display:flex}.activity-content{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.activity-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.activity-user{color:var(--navy);white-space:nowrap;font-size:13px;font-weight:600;line-height:1.3}.activity-action{color:var(--text-secondary);font-size:13px;line-height:1.4}.activity-notes{color:var(--text-muted);font-size:12px;font-style:italic;line-height:1.3}.activity-empty{text-align:center;color:var(--text-muted);padding:32px;font-size:13px}.activity-time{color:var(--text-muted);font-size:11px}.pw-change-form{flex-direction:column;gap:12px;display:flex}.pw-change-field{flex-direction:column;gap:5px;display:flex}.pw-change-field label{color:var(--text-muted);font-size:12px;font-weight:500}.pw-change-error{color:var(--red);border-radius:var(--radius);background:#c6282814;padding:7px 10px;font-size:12px}.pw-change-success{color:var(--green);border-radius:var(--radius);background:#2e7d3214;padding:7px 10px;font-size:12px}.pw-change-btn{width:100%}.pw-change-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.strength-meter{align-items:center;gap:8px;margin-top:6px;display:flex}.strength-meter-track{flex:1;gap:3px;display:flex}.strength-meter-segment{background:var(--border-light,#e0e0e0);border-radius:2px;flex:1;height:4px;transition:background .15s}.strength-meter-label{white-space:nowrap;font-size:11px;font-weight:600}.quotes-metrics{flex-wrap:wrap;gap:20px;padding-bottom:10px;display:flex}.q-metric{background:var(--bg);border-radius:6px;flex-direction:column;align-items:center;min-width:80px;padding:6px 12px;display:flex}.q-metric-val{color:var(--navy);font-size:18px;font-weight:700}.q-metric-label{color:var(--text-muted);margin-top:2px;font-size:11px}.date-range{color:var(--navy);padding:0 4px;font-size:13px;font-weight:600}.sched-filter-bar{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0 2px;display:flex}.sched-bar-sep{background:var(--border-light,#dde3ed);flex-shrink:0;width:1px;height:20px;margin:0 2px;display:inline-block}.sched-view-switcher{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.sched-filter-select{border:1px solid var(--border-light,#dde3ed);background:var(--bg-white,#fff);height:30px;color:var(--text-main,var(--navy));cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7a99'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border-radius:6px;min-width:120px;padding:0 28px 0 10px;font-size:12px;font-weight:500;transition:border-color .15s}.sched-filter-select:focus{border-color:var(--navy,var(--navy));outline:none}.sched-filter-select option{font-weight:400}.sched-filter-clear{border:1px solid var(--border-light,#dde3ed);height:30px;color:var(--text-muted,#6b7a99);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.sched-filter-clear:hover{color:#c0392b;background:#fef2f2;border-color:#f5c6c6}.sched-filter-badge{background:var(--navy,var(--navy));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:inline-flex}.sched-filter-count{color:var(--text-muted,#6b7a99);margin-left:4px;font-size:12px}.week-view{flex-direction:column;min-width:800px;display:flex}.week-header{border-bottom:2px solid var(--border);background:var(--bg-white);z-index:5;display:flex;position:sticky;top:0}.time-gutter{flex-shrink:0;width:60px}.week-day-header{text-align:center;border-left:1px solid #b0bcc8;flex:1;padding:8px 4px}.week-day-header.today .day-num{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.day-name{color:var(--text-muted);text-transform:uppercase;font-size:11px;display:block}.day-num{color:var(--text);margin-top:2px;font-size:15px;font-weight:700;display:block}.week-body{display:flex}.time-column{flex-shrink:0;width:60px}.hour-slot{height:64px;color:var(--text-muted);border-bottom:1px solid #b0bcc8;border-right:1px solid #b0bcc8;justify-content:flex-end;align-items:flex-start;padding-top:4px;padding-right:8px;font-size:11px;display:flex}.day-column{border-left:1px solid #b0bcc8;flex:1;min-width:0;position:relative}.hour-cell{border-bottom:1px solid #b0bcc8;height:64px}.apt-block{color:#fff;cursor:pointer;z-index:1;border:1.5px solid #00000038;border-left:3px solid #0000004d;border-radius:4px;padding:4px 6px;font-size:11px;position:absolute;left:3px;right:3px;overflow:hidden;box-shadow:0 1px 3px #0000002e}.apt-block-time{opacity:.9;font-size:10px;font-weight:700}.apt-block-name{margin-top:1px;font-weight:600}.apt-block-job{opacity:.85;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;font-weight:600;overflow:hidden}.apt-block-svc{opacity:.85;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;overflow:hidden}.agenda-view{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.agenda-item{align-items:flex-start;gap:16px;display:flex}.agenda-date{width:90px;color:var(--text-secondary);flex-shrink:0;padding-top:4px;font-size:12px;font-weight:600}.agenda-block{border-left:4px solid var(--accent);background:var(--bg-white);box-shadow:var(--shadow-sm);border-radius:0 6px 6px 0;flex:1;padding:10px 14px}.agenda-time{color:var(--text-muted);font-size:11px}.agenda-customer{color:var(--navy);margin-top:2px;font-size:14px;font-weight:700}.agenda-details{color:var(--text-secondary);margin-top:2px;font-size:12px}.agenda-status{color:var(--accent);margin-top:4px;font-size:11px;font-weight:600}.day-view{flex-direction:column;min-width:480px;display:flex}.day-view-header{border-bottom:2px solid var(--border);background:var(--bg-white);z-index:5;display:flex;position:sticky;top:0}.day-view-title{text-align:center;border-left:1px solid #b0bcc8;flex:1;padding:10px 4px}.day-view-title.today .day-num{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.day-view-body{display:flex}.day-column--single{border-left:1px solid #b0bcc8;flex:1;min-height:1024px;position:relative}.apt-block-tech{opacity:.85;margin-top:1px;font-size:10px}.apt-block--overdue{outline:2px solid #a93226}.apt-block--rework{outline:2px solid #6c3483}.apt-block--cancelled{opacity:.45;filter:grayscale(60%)}.apt-block--cancelled .apt-block-name{text-decoration:line-through}.apt-block--selected{z-index:2;outline:3px solid #202a35}.day-view-empty{text-align:center;color:var(--text-muted);padding:48px;font-size:14px}.month-view{flex-direction:column;min-width:700px;padding:0;display:flex}.month-header{border-bottom:2px solid var(--border);background:var(--bg-white);z-index:5;grid-template-columns:repeat(7,1fr);display:grid;position:sticky;top:0}.month-day-name{text-align:center;text-transform:uppercase;color:var(--text-muted);border-left:1px solid #b0bcc8;padding:8px 4px;font-size:11px;font-weight:700}.month-day-name:first-child{border-left:none}.month-grid{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(100px,auto);display:grid}.month-cell{cursor:pointer;background:var(--bg-white);border-bottom:1px solid #b0bcc8;border-right:1px solid #b0bcc8;min-height:100px;padding:4px 6px 6px;transition:background .1s}.month-cell:hover{background:#f0f4fa}.month-cell.other-month{background:#f8f9fb}.month-cell.other-month .month-cell-num{color:#bbc5d5}.month-cell.today{background:#eef3fc}.month-cell-num{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:600;line-height:1}.today-num{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.month-cell-apts{flex-direction:column;gap:2px;display:flex}.month-apt{color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;align-items:center;gap:4px;padding:2px 5px;font-size:11px;display:flex;overflow:hidden}.month-apt:hover{opacity:.85}.month-apt--cancelled{opacity:.45;filter:grayscale(60%)}.month-apt--cancelled .month-apt-name{text-decoration:line-through}.month-apt-time{flex-shrink:0;font-size:10px;font-weight:700}.month-apt-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-apt-more{color:var(--text-muted);cursor:pointer;padding:1px 4px;font-size:11px;font-weight:600}.month-apt-more:hover{color:var(--navy);text-decoration:underline}.anh-page{flex-direction:column;display:flex;overflow:hidden}.anh-filters{border-bottom:1px solid var(--border-light,#e5e7eb);background:#f9fafb;flex-wrap:wrap;flex-shrink:0;gap:8px;padding:12px 20px;display:flex}.anh-filter-field{align-items:center;display:flex;position:relative}.anh-filter-icon{color:#aaa;pointer-events:none;position:absolute;left:8px}.anh-filter-input{width:180px;height:34px;font-size:.83rem;padding-left:26px!important}.anh-clear-btn,.anh-refresh-btn{align-items:center;gap:4px;padding:5px 10px;font-size:.82rem;display:flex}.anh-error{color:#b52828;background:#fde8e8;border:1px solid #f5c0c0;border-radius:6px;flex-shrink:0;margin:12px 20px;padding:8px 12px;font-size:.83rem}.anh-table-wrap{flex:1;padding:0 20px 12px;overflow:auto}.anh-table{border-collapse:collapse;width:100%;font-size:.82rem}.anh-table th{text-align:left;color:#666;border-bottom:1px solid var(--border-light,#e5e7eb);white-space:nowrap;z-index:1;background:#fff;padding:8px 10px;font-size:.74rem;font-weight:700;position:sticky;top:0}.anh-table td{vertical-align:middle;white-space:nowrap;border-bottom:1px solid #f0f2f5;padding:7px 10px}.anh-row--fail td{background:#fff8f8}.anh-td-sm{color:#555;font-size:.78rem}.anh-td-ch{align-items:center;gap:4px;display:flex}.anh-td-recip{text-overflow:ellipsis;max-width:180px;overflow:hidden}.anh-empty{text-align:center;color:#aaa;padding:24px;font-size:.83rem}.anh-event-badge{text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-block}.anh-status-badge{border-radius:4px;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-block}.anh-status-badge--scheduled{color:#1a6aaa;background:#def}.anh-status-badge--in-progress{color:#a06800;background:#fff3d9}.anh-status-badge--completed{color:#1a7840;background:#dff4e8}.anh-status-badge--cancelled{color:#b52828;background:#fde8e8}.anh-status-badge--no-show{color:#7040aa;background:#f0e8f8}.anh-load-more{flex-shrink:0;justify-content:center;padding:12px 0;display:flex}.page-body.resource-scroll{scrollbar-width:auto;scrollbar-color:#98a4b5 #eef1f6}.page-body.resource-scroll::-webkit-scrollbar-track{background:#eef1f6}.page-body.resource-scroll::-webkit-scrollbar-thumb{background:#98a4b5;border:3px solid #eef1f6;border-radius:8px}.page-body.resource-scroll::-webkit-scrollbar-thumb:hover{background:#7b8899}.page-body.resource-scroll::-webkit-scrollbar:vertical{width:16px}.page-body.resource-scroll::-webkit-scrollbar:horizontal{height:22px}.resource-calendar{flex-direction:column;width:fit-content;min-width:100%;display:flex}.rc-head-h{z-index:10;background:var(--bg-white,#fff);border-bottom:2px solid var(--border,#b0bcc8);display:flex;position:sticky;top:0}.rc-row-gutter{z-index:11;background:var(--bg-white,#fff);border-right:1px solid #b0bcc8;flex-shrink:0;width:160px;position:sticky;left:0}.rc-hours-row{display:flex}.rc-hour-label{box-sizing:border-box;color:var(--text-muted,#6b7a99);border-left:1px solid #b0bcc8;flex-shrink:0;padding:8px 0 8px 6px;font-size:11px}.rc-hour-label:last-child{border-right:1px solid #b0bcc8}.rc-hour-label--half{color:#b7c0cd;border-left-style:dashed;border-left-color:#d7dde5;font-size:10px}.rc-rows{flex-direction:column;display:flex}.rc-row{border-bottom:1px solid #b0bcc8;display:flex}.rc-row:first-child{border-top:1px solid #b0bcc8}.rc-row-label{box-sizing:border-box;z-index:5;background:var(--bg-white,#fff);text-transform:uppercase;letter-spacing:.05em;width:160px;color:var(--navy,var(--navy));white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #b0bcc8;flex-shrink:0;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:flex;position:sticky;left:0;overflow:hidden}.rc-row-track{display:flex;position:relative}.rc-row--drop-target{background:#2f9e6b1a}.rc-row--drop-target .rc-row-label{background:#2f9e6b29}.rc-row--drop-blocked{cursor:not-allowed;background:#c0392b14}.rc-row--drop-blocked .rc-row-label{background:#c0392b24}.rc-hour-cell-v{box-sizing:border-box;border-left:1px solid #b0bcc8;flex-shrink:0}.rc-hour-cell-v:last-child{border-right:1px solid #b0bcc8}.rc-hour-cell-v--half{border-left-style:dashed;border-left-color:#d7dde5}.rc-apt{color:#fff;cursor:grab;z-index:1;border:1.5px solid #00000038;border-left:4px solid #0000004d;border-radius:5px;padding:6px 9px;font-size:13px;transition:filter .1s;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0000002e}.rc-apt:hover{filter:brightness(1.12);z-index:2}.rc-apt--overdue{outline:2px solid #a93226}.rc-apt--cancelled{opacity:.45;filter:grayscale(60%)}.rc-apt--block{border-style:dashed;border-color:#fff9}.rc-apt--rework{outline:2px solid #6c3483}.rc-apt--dragging{cursor:grabbing;opacity:.9;z-index:60;transition:none;box-shadow:0 8px 20px #0006}.rc-apt-time{opacity:.9;white-space:nowrap;font-size:11px;font-weight:700}.rc-apt-job{opacity:.85;white-space:nowrap;margin-top:1px;font-size:10px;font-weight:600}.rc-apt-customer{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;font-weight:700;overflow:hidden}.rc-apt-meta{align-items:baseline;gap:6px;margin-top:2px;display:flex;overflow:hidden}.rc-apt-service{opacity:.9;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:12px;overflow:hidden}.rc-apt-tech{opacity:.8;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:11px;overflow:hidden}.resource-undo-btn{border:1px solid var(--border-light,#dde3ed);color:#c3cad6;cursor:not-allowed;background:0 0;border-radius:6px;align-items:center;gap:5px;height:30px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex}.resource-undo-btn.active{color:#fff;cursor:pointer;background:#b8860b;border-color:#b8860b;animation:1.4s ease-in-out infinite resource-undo-glow;box-shadow:0 0 0 3px #b8860b40}.resource-undo-btn.active:hover{background:#9c7209;border-color:#9c7209}@keyframes resource-undo-glow{0%,to{box-shadow:0 0 0 3px #b8860b40}50%{box-shadow:0 0 0 6px #b8860b14}}.resource-filter-bar{border-bottom:1px solid var(--border-light,#dde3ed);background:#f8f9fb;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;display:flex}.resource-bar-sep{background:var(--border-light,#dde3ed);flex-shrink:0;width:1px;height:20px;margin:0 2px;display:inline-block}.resource-chips-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7a99);flex-shrink:0;font-size:11px;font-weight:700}.resource-chip{border:1px solid var(--border-light,#dde3ed);height:26px;color:var(--text-main,var(--navy));cursor:pointer;white-space:nowrap;background:#fff;border-radius:13px;padding:0 10px;font-size:11px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.resource-chip:hover{background:#edf0f7;border-color:#b0bcc8}.resource-chip.active{background:var(--navy,var(--navy));border-color:var(--navy,var(--navy));color:#fff}.resource-view-controls{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.resource-saved-views{align-items:center;gap:4px;display:flex}.resource-saved-del-btn{border:1px solid var(--border-light,#dde3ed);color:#aaa;cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:26px;height:30px;font-size:15px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:flex}.resource-saved-del-btn:hover{color:#c0392b;background:#fef2f2;border-color:#f5c6c6}.save-view-field{margin-bottom:18px}.save-view-field:last-of-type{margin-bottom:0}.save-view-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7a99);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.save-view-scope-group{flex-direction:column;gap:8px;display:flex}.save-view-scope-option{text-align:left;border:1px solid var(--border-light,#dde3ed);cursor:pointer;background:#fff;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.save-view-scope-option:hover{background:#f8f9fb;border-color:#b0bcc8}.save-view-scope-option.active{border-color:var(--navy,var(--navy));background:#eef1f7}.save-view-scope-radio{border:2px solid #b0bcc8;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:2px;transition:border-color .12s;position:relative}.save-view-scope-option.active .save-view-scope-radio{border-color:var(--navy,var(--navy))}.save-view-scope-option.active .save-view-scope-radio:after{content:"";background:var(--navy,var(--navy));border-radius:50%;position:absolute;inset:3px}.save-view-scope-text{flex-direction:column;gap:2px;min-width:0;display:flex}.save-view-scope-name{color:var(--text-main,var(--navy));font-size:13px;font-weight:600}.save-view-scope-desc{color:var(--text-muted,#6b7a99);font-size:11.5px}.save-view-footer{border-top:1px solid var(--border-light,#dde3ed);justify-content:flex-end;gap:8px;margin-top:22px;padding-top:16px;display:flex}.sd-page{box-sizing:border-box;flex:1;width:100%;max-width:860px;min-height:0;margin:0 auto;padding:28px 40px;overflow-y:auto}.sd-search-wrap{border:1.5px solid var(--border,#e2e8f0);background:#fff;border-radius:10px;align-items:center;gap:8px;height:48px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 4px #0000000f}.sd-search-wrap:focus-within{border-color:var(--navy,#1e3a5f);box-shadow:0 0 0 3px #1e3a5f14}.sd-search-icon{color:#94a3b8;flex-shrink:0}.sd-search-input{color:var(--text,#1e293b);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.sd-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:flex}.sd-clear:hover{color:var(--text,#1e293b)}.sd-meta{color:#94a3b8;margin:6px 0 0 2px;font-size:.82rem}.sd-filters{flex-wrap:wrap;gap:6px;margin:18px 0;display:flex}.sd-filter{border:1.5px solid var(--border,#e2e8f0);color:#64748b;cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:5px;padding:5px 14px;font-size:.82rem;font-weight:500;transition:all .15s;display:flex}.sd-filter:hover:not(.sd-filter--active){border-color:var(--navy,#1e3a5f);color:var(--navy,#1e3a5f)}.sd-filter--active{background:var(--navy,#1e3a5f);border-color:var(--navy,#1e3a5f);color:#fff}.sd-filter--empty{opacity:.4;pointer-events:none}.sd-count{background:#0000001a;border-radius:10px;padding:1px 6px;font-size:.68rem;font-weight:700}.sd-filter--active .sd-count{background:#ffffff40}.sd-results{flex-direction:column;gap:6px;display:flex}.sd-loading{color:#64748b;align-items:center;gap:10px;padding:32px 0;font-size:.9rem;display:flex}.sd-spinner{flex-shrink:0;animation:.8s linear infinite sr-spin}@keyframes sr-spin{to{transform:rotate(360deg)}}.sd-empty{text-align:center;color:#94a3b8;padding:48px 0;font-size:.9rem}.sd-item{border:1px solid var(--border,#e2e8f0);cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:14px;width:100%;padding:13px 16px;transition:background .1s,border-color .15s,box-shadow .15s;display:flex}.sd-item:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 6px #0000000f}.sd-item-icon{flex-shrink:0;align-items:center;display:flex}.sd-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sd-item-title{color:var(--text,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}.sd-item-sub{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.sd-item-badge{border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:.72rem;font-weight:600}.svc-table{border-collapse:collapse;width:100%;font-size:13px}.svc-filter-bar{align-items:center;gap:8px;padding:10px 0 12px;display:flex}.svc-search-box{flex:1;min-width:0;position:relative}.svc-search-icon{color:var(--text-muted,#999);pointer-events:none;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.svc-search-input{border:1px solid var(--border);border-radius:var(--radius,6px);width:100%;padding:7px 28px;font-size:13px}.svc-search-input:focus{border-color:var(--accent,#3b5bdb);outline:none}.svc-search-clear{cursor:pointer;color:var(--text-muted,#999);background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.svc-search-clear:hover{color:var(--text-secondary)}.svc-category-filter{width:auto;min-width:160px;padding:7px 8px;font-size:13px}.svc-table-wrap{flex:1;min-height:0;overflow:auto}.svc-table-wrap:focus{outline:none}.svc-table-wrap:focus-visible{outline:2px solid var(--accent,#3b5bdb);outline-offset:-2px}.svc-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.svc-th-sortable:hover{color:var(--text-primary,#333)}.svc-th-sortable-inner{align-items:center;gap:3px;display:inline-flex}.svc-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;background:#f4f4f6;padding:8px 10px;font-size:12px;font-weight:600}.svc-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:8px 10px}.svc-table tr{cursor:pointer;transition:background .1s}.svc-table tbody tr:nth-child(odd){background:#fff}.svc-table tbody tr:nth-child(2n){background:#f5f7fb}.svc-table tbody tr:hover{background:#eaecf5!important}.svc-table tbody tr.selected{background:#e8f0fe!important}.cat-badge{color:#004085;background:#cce5ff;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.row-actions{gap:4px;display:flex}.split-section-title{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}code{background:var(--bg);color:var(--navy);border:1px solid var(--border-light);border-radius:3px;padding:1px 5px;font-size:12px}.svc-task-row{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius);align-items:flex-start;gap:10px;margin-bottom:6px;padding:8px 10px;transition:opacity .15s,border-color .15s;display:flex}.svc-task-row.dragging{opacity:.4;border-color:var(--primary,#3b5bdb);border-style:dashed}.svc-task-drag-handle{color:var(--text-muted);cursor:grab;flex-shrink:0;align-items:center;margin-top:3px;display:flex}.svc-task-drag-handle:active{cursor:grabbing}.svc-task-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.svc-task-actions .btn-icon:disabled{opacity:.3;cursor:not-allowed}.svc-task-order{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:11px;font-weight:600;display:flex}.svc-task-body{flex:1;min-width:0}.svc-task-title{color:var(--text-primary,#1a1a2e);font-size:13px;font-weight:500}.svc-task-desc{color:var(--text-muted);margin-top:2px;font-size:12px}.svc-task-remove{color:#c0392b;opacity:.6;flex-shrink:0}.svc-right-tabs{border-bottom:2px solid var(--border,#e4e7ed);align-items:center;gap:2px;margin-bottom:12px;padding-bottom:0;display:flex}.svc-right-tab{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;margin-bottom:-2px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s}.svc-right-tab:hover{color:var(--navy,#1a1a2e)}.svc-right-tab.active{color:var(--navy,#1a1a2e);border-bottom-color:var(--primary,#3b5bdb)}.svc-right-tab-action{margin-left:auto;padding:4px 10px;font-size:.78rem}.svc-task-remove:hover{opacity:1}.svc-split-layout .split-right{flex:1;width:auto;max-width:none}.svc-task-add{border:1px dashed var(--border);border-radius:var(--radius);background:#f8f9fc;flex-direction:column;gap:8px;margin-top:4px;padding:12px;display:flex}.settings-layout{gap:0;height:100%;display:flex;overflow:hidden}.settings-nav{border-right:1px solid var(--border-light);background:var(--bg);flex-shrink:0;width:200px;padding:8px 0;overflow-y:auto}.settings-nav-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:0;padding:9px 20px;font-size:13px;transition:background .12s,color .12s;display:block}.settings-nav-item:hover{color:var(--navy);background:#f0f2f8}.settings-nav-item.active{color:var(--navy);border-right:3px solid var(--navy);background:#e8ecf8;font-weight:600}.settings-content{flex-direction:column;flex:1;gap:20px;padding:5px 5px 10px;display:flex;overflow-y:auto}.settings-section{border:1px solid var(--border-light);border-radius:var(--radius);background:#fff;padding:10px 10px 16px}.settings-section-title{color:var(--navy);border-bottom:1px solid var(--border-light);margin-bottom:16px;padding-bottom:10px;font-size:13px;font-weight:700}.settings-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 20px;font-size:13px;display:flex}.settings-save-row{align-items:center;gap:12px;padding-top:4px;display:flex}.settings-saved-msg{color:#2e7d32;font-size:12px;font-weight:500}.settings-nav-divider{background:var(--border-light);height:1px;margin:8px 12px}.settings-nav-group-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;padding:6px 16px 2px;font-size:10.5px;font-weight:700}.settings-nav-item-admin{color:var(--text-secondary);font-size:12.5px}.settings-nav-item-admin.active{color:var(--purple,#7c3aed);border-right:3px solid var(--purple,#7c3aed);background:#ede8f8}.facility-columns{align-items:flex-start;gap:28px;display:flex}.facility-col{flex:1;min-width:0}.admin-list{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.admin-row-wrap{border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.admin-row-wrap .admin-row{border:none;border-radius:0}.admin-empty{color:var(--text-muted);padding:6px 2px;font-size:12px}.admin-row{background:var(--bg-subtle,#f8f9fc);border:1px solid var(--border-light);border-radius:6px;align-items:center;gap:8px;min-height:36px;padding:6px 8px;display:flex}.admin-row.editing{border-color:var(--navy);background:#fff}.admin-row.add-row{border:1px dashed var(--border-light);background:0 0;margin-bottom:10px}.admin-row-name{color:var(--text);flex:1;font-size:13px}.admin-row-tag{color:var(--text-muted);background:var(--border-light);border-radius:4px;padding:1px 7px;font-size:11px}.admin-row-input{flex:1;height:28px;padding:0 8px;font-size:13px}.admin-row-select{flex:1;max-width:180px;height:28px;padding:0 6px;font-size:13px}.icon-btn{cursor:pointer;width:26px;height:26px;color:var(--text-muted);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.icon-btn:hover{color:var(--navy);background:#e8ecf8}.icon-btn.icon-btn-danger:hover{color:var(--danger,#d32f2f);background:#fee}.icon-btn.icon-btn-confirm{color:#2e7d32}.icon-btn.icon-btn-confirm:hover{color:#2e7d32;background:#e8f5e9}.icon-btn.icon-btn-cancel:hover{color:var(--danger,#d32f2f);background:#fee}.btn-sm{white-space:nowrap;align-items:center;gap:4px;height:28px;padding:4px 10px;font-size:12px;display:flex}.bh-grid{flex-direction:column;gap:4px;display:flex}.bh-header,.bh-row{border-radius:6px;grid-template-columns:120px 60px 140px 140px 1fr;align-items:center;gap:10px;padding:6px 8px;display:grid}.bh-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-light);margin-bottom:2px;padding-bottom:4px;font-size:11px;font-weight:600}.bh-row{background:var(--bg-subtle,#f8f9fc);border:1px solid var(--border-light)}.bh-row-closed{opacity:.6}.bh-col-toggle{justify-self:center}.bh-day-label{color:var(--text);font-size:13px;font-weight:500}.bh-closed-label{color:var(--text-muted);padding-left:4px;font-size:12px;font-style:italic}.bh-select{width:130px;height:28px;padding:0 6px;font-size:13px}.bh-copy-btn{border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:2px 8px;font-size:11px;transition:background .1s,color .1s}.bh-copy-btn:hover{color:var(--navy);border-color:var(--navy);background:#e8ecf8}.bh-toggle{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.bh-toggle input{opacity:0;width:0;height:0}.bh-toggle-track{background:#ccc;border-radius:20px;transition:background .2s;position:absolute;inset:0}.bh-toggle-track:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.bh-toggle input:checked+.bh-toggle-track{background:var(--navy)}.bh-toggle input:checked+.bh-toggle-track:before{transform:translate(16px)}.toggle-switch{cursor:pointer;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:#ccc;border-radius:20px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--navy)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.tenant-table-shell{border:1px solid var(--border-light);background:#fff;border-radius:8px;overflow:hidden}.tenant-detail-section{background:linear-gradient(#fcfdff 0%,#f8fafe 100%)}.tenant-detail-grid{grid-template-columns:1.2fr 1fr;gap:14px;display:grid}.tenant-detail-card{border:1px solid var(--border-light);background:#fff;border-radius:10px;padding:14px}.tenant-card-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:12px;font-weight:700}.tenant-meta-row{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.tenant-user-row{gap:10px}.tenant-user-email{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}@media (width<=1000px){.tenant-detail-grid{grid-template-columns:1fr}}.settings-toggle{cursor:pointer;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.settings-toggle-on{background:var(--primary,#0d6efd)}.settings-toggle-off{background:#ccc}.settings-toggle-knob{pointer-events:none;background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px}.settings-toggle-on .settings-toggle-knob{left:23px}.settings-toggle-off .settings-toggle-knob{left:3px}.settings-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;gap:24px;padding:16px 0;display:flex}.settings-row:last-of-type{border-bottom:none}.settings-row-info{flex:1}.settings-row-label{color:var(--navy,#1a1a2e);margin-bottom:4px;font-size:14px;font-weight:600}.settings-row-sub{color:var(--text-muted,#666);font-size:13px;line-height:1.5}.import-log-table{border-collapse:collapse;width:100%;font-size:.84rem}.import-log-table th{background:var(--bg-surface,#f9fafb);text-transform:uppercase;color:var(--text-muted,#6b7280);text-align:left;border-bottom:2px solid var(--border-light,#e5e7eb);white-space:nowrap;padding:8px 12px;font-size:.73rem;font-weight:700}.import-log-table td{border-bottom:1px solid var(--border-light,#f3f4f6);color:var(--text-primary,#1e2d3d);vertical-align:middle;padding:9px 12px}.import-log-row:hover td{background:var(--bg-hover,#f8fafc)}.import-log-row.expanded td{background:var(--bg-surface,#f9fafb)}.import-log-row-inprogress td{color:#92400e;background:#fffbeb!important}.import-log-row-inprogress:hover td{background:#fef3c7!important}.import-log-ins{color:var(--success,#22c55e);font-weight:600}.import-log-skip{color:#f59e0b;font-weight:600}.import-log-err{color:var(--error,#dc2626);font-weight:600}.import-log-by{color:var(--text-muted,#6b7280);font-size:.8rem}.import-log-expand-btn{white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;display:inline-flex}.import-log-detail-row td{background:var(--bg-surface,#f9fafb);padding:0 12px 12px}.import-log-detail-table{border-collapse:collapse;border:1px solid var(--border-light,#e5e7eb);border-radius:6px;width:100%;font-size:.8rem;overflow:hidden}.import-log-detail-table th{background:var(--bg-card,#fff);text-transform:uppercase;color:var(--text-muted,#6b7280);text-align:left;border-bottom:1px solid var(--border-light,#e5e7eb);padding:6px 10px;font-size:.72rem;font-weight:700}.import-log-detail-table td{border-bottom:1px solid var(--border-light,#f3f4f6);word-break:break-word;white-space:normal;padding:6px 10px}.import-log-detail-table tr:last-child td{border-bottom:none}.users-filter-row{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px;display:flex}.users-filter-search{width:220px}.users-error{color:#c62828;background:#fff0f0;flex-shrink:0;padding:12px 20px}.users-loading{text-align:center;color:#aaa;padding:40px}.users-body{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.users-table-pane{flex-direction:column;flex:1;min-width:0;max-width:75%;display:flex;overflow:hidden}.udp-panel{background:#f8f9fa;border-left:2px solid #dee2e6;flex-direction:column;flex:1;min-width:240px;max-width:420px;display:flex;overflow:hidden}.udp-topbar{background:#fff;border-bottom:1px solid #dee2e6;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.udp-label{text-transform:uppercase;letter-spacing:.6px;color:#aaa;font-size:.78rem;font-weight:600}.udp-body{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.udp-empty{color:#bbb;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:20px;font-size:.85rem;display:flex}.udp-empty p{margin:0}.udp-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:10px 12px}.udp-card-title{text-transform:uppercase;letter-spacing:.7px;color:#adb5bd;margin-bottom:8px;font-size:.7rem;font-weight:700}.udp-user-name{color:#212529;margin-bottom:8px;font-size:1rem;font-weight:700;line-height:1.3}.udp-badge-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.udp-role-pill{color:#1a56a0;background:#e8f0fe;border-radius:10px;padding:2px 8px;font-size:.78rem;font-weight:500;display:inline-block}.udp-info-row{border-bottom:1px solid #f2f2f2;align-items:flex-start;gap:8px;padding:4px 0;font-size:.84rem;display:flex}.udp-info-row:last-child{border-bottom:none}.udp-info-label{color:#888;flex-shrink:0;min-width:80px;font-size:.8rem}.udp-info-value{color:#212529;word-break:break-word;flex:1}.inv-panel{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 16px 16px;display:flex}.inv-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.inv-count{color:#888;font-size:.82rem}.inv-actions{align-items:center;gap:8px;display:flex}.inv-toast{color:#fff;background:#212529;border-radius:6px;padding:8px 14px;font-size:.82rem;animation:.15s fadeIn}.inv-cb-col{width:36px;padding:4px 8px!important}.inv-cb-btn{cursor:pointer;color:#6c757d;background:0 0;border:none;align-items:center;padding:0;display:flex}.inv-cb-btn:hover{color:#212529}
