.msgr-app{display:grid;grid-template-columns:240px 1fr;height:100%;min-height:0;background:#fff;color:#1d1d1f;font:13.5px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;position:relative}.msgr-app.msgr-app-page{grid-template-columns:320px 1fr;height:calc(100vh - var(--arcomm-nav-h, 64px));min-height:520px}.msgr-sidebar{display:flex;flex-direction:column;border-right:1px solid #e5e5ea;background:#f6f6f6;min-height:0}.msgr-sidebar-header{padding:12px 12px 8px;border-bottom:1px solid #e5e5ea;background:#f6f6f6f0;position:sticky;top:0;z-index:1;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.msgr-sidebar-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.msgr-sidebar-title{font-size:17px;font-weight:700}.msgr-new-btn{appearance:none;background:transparent;border:none;padding:6px;border-radius:6px;color:#007aff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.msgr-new-btn:hover{background:#e5e5ea}.msgr-new-btn-active{background:#007aff;color:#fff}.msgr-new-btn-active:hover{background:#0069d9}.msgr-search-wrap{position:relative}.msgr-search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%)}.msgr-search{width:100%;font:inherit;padding:7px 12px 7px 30px;background:#e3e3e8;border:none;border-radius:8px;outline:none}.msgr-search::placeholder{color:#8e8e93}.msgr-search:focus{background:#fff;box-shadow:0 0 0 2px #007aff}.msgr-convo-list{flex:1;overflow-y:auto;padding:4px 0}.msgr-convo-item{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;border-radius:7px;margin:1px 4px;transition:background .08s}.msgr-convo-item:hover{background:#ececf0}.msgr-convo-item.active{background:#007aff;color:#fff}.msgr-convo-item.active .msgr-convo-preview,.msgr-convo-item.active .msgr-convo-time{color:#fffc}.msgr-convo-item.active .msgr-convo-title{color:#fff}.msgr-convo-meta{flex:1;min-width:0}.msgr-convo-top-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.msgr-convo-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msgr-convo-time{font-size:11.5px;color:#8e8e93;white-space:nowrap}.msgr-convo-preview-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.msgr-convo-preview{font-size:12.5px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.msgr-unread-dot{width:9px;height:9px;border-radius:50%;background:#007aff;flex-shrink:0}.msgr-convo-item.active .msgr-unread-dot{background:#fff}.msgr-empty{color:#8e8e93;font-size:13px;padding:24px 16px;text-align:center}.msgr-feed-wrap{display:flex;flex-direction:column;min-height:0;min-width:0;background:#fff;position:relative}.msgr-dropzone-overlay{position:absolute;inset:6px;z-index:30;display:flex;align-items:center;justify-content:center;background:#007aff0f;border:2.5px dashed #007aff;border-radius:12px;pointer-events:none}.msgr-dropzone-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;padding:18px 26px;border-radius:14px;box-shadow:0 8px 28px #0000002e;color:#007aff;font-weight:700;font-size:14px}.msgr-feed-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8e8e93;height:100%}.msgr-feed-empty-icon{margin-bottom:14px}.msgr-feed-empty-title{font-weight:600;font-size:15px;color:#1d1d1f}.msgr-feed-empty-sub{font-size:13px;margin-top:4px}.msgr-feed-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #e5e5ea;background:#fffffff0;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);min-height:50px}.msgr-feed-header-left{display:flex;align-items:center;gap:10px}.msgr-feed-header-titles{line-height:1.2}.msgr-feed-title{font-weight:600;font-size:14px}.msgr-feed-subtitle{font-size:11.5px;color:#8e8e93;margin-top:2px}.msgr-feed-header-actions{display:flex;gap:6px}.msgr-header-btn{font:inherit;font-size:12.5px;padding:6px 12px;background:transparent;border:1px solid #d1d1d6;color:#1d1d1f;border-radius:6px;cursor:pointer}.msgr-header-btn:hover{background:#f2f2f7}.msgr-header-btn-danger{color:#b00020;border-color:#f1c4ca}.msgr-header-btn-danger:hover{background:#fdecea;border-color:#e5a7ae}.msgr-feed{flex:1;overflow-y:auto;padding:12px 16px 8px;display:flex;flex-direction:column;gap:2px}.msgr-load-more{text-align:center;font-size:12px;color:#8e8e93;padding:8px}.msgr-date-divider{text-align:center;font-size:11.5px;color:#8e8e93;margin:14px 0 8px;font-weight:500}.msg-row{display:flex;align-items:flex-end;gap:6px;margin:0;padding:1px 0}.msg-row-mine{justify-content:flex-end}.msg-row-theirs{justify-content:flex-start}.msg-avatar-col{width:28px;display:flex;align-items:flex-end;flex-shrink:0}.msg-content-col{max-width:78%;display:flex;flex-direction:column}.msg-row-mine .msg-content-col{align-items:flex-end}.msg-row-theirs .msg-content-col{align-items:flex-start}.msg-sender-name{font-size:11px;color:#8e8e93;margin:2px 10px}.msg-bubble{position:relative;padding:7px 12px;border-radius:18px;font-size:14px;line-height:1.35;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.msg-mine{background:#007aff;color:#fff;border-bottom-right-radius:18px}.msg-theirs{background:#e9e9eb;color:#1d1d1f;border-bottom-left-radius:18px}.msg-mine.msg-tail{border-bottom-right-radius:6px}.msg-theirs.msg-tail{border-bottom-left-radius:6px}.msg-body{white-space:pre-wrap}.msg-attachments{display:flex;flex-wrap:wrap;gap:4px;margin:-2px -4px 2px}.msg-bubble:has(.msg-body) .msg-attachments{margin-bottom:6px}.msg-attachment-img{max-width:220px;max-height:260px;border-radius:14px;display:block;cursor:pointer;background:#f2f2f7}.msg-pending{font-size:10px;opacity:.8;font-style:italic;margin-top:2px}.msg-time{font-size:10.5px;color:#8e8e93;margin:2px 12px 4px}.msg-time-mine{align-self:flex-end}.msg-time-theirs{align-self:flex-start}.msg-read-receipt{font-size:11px;font-weight:500;color:#8e8e93;align-self:flex-end;margin:1px 12px 5px;-webkit-user-select:none;user-select:none}.msg-reply-thread{appearance:none;background:transparent;border:none;padding:0;margin:2px 0 0;cursor:pointer;font:inherit;text-align:inherit;display:flex;flex-direction:column;max-width:100%}.msg-reply-mine{align-items:flex-end}.msg-reply-theirs{align-items:flex-start}.msg-reply-quote{display:flex;flex-direction:column;gap:1px;background:#f2f2f7;border:1px solid #e3e3e8;border-radius:14px;padding:5px 10px 6px;max-width:100%;opacity:.92}.msg-reply-thread:hover .msg-reply-quote{background:#eaeaef}.msg-reply-quote-sender{font-size:11px;font-weight:600;color:#8e8e93}.msg-reply-quote-line{display:flex;align-items:center;gap:6px}.msg-reply-quote-thumb{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0}.msg-reply-quote-body{font-size:12.5px;line-height:1.3;color:#636366;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.msg-reply-stem{width:2px;height:9px;background:#c7c7cc;border-radius:1px}.msg-reply-mine .msg-reply-stem{margin-right:22px}.msg-reply-theirs .msg-reply-stem{margin-left:22px}.composer{display:flex;align-items:flex-end;gap:8px;padding:8px 12px 10px;border-top:1px solid #e5e5ea;background:#fff}.composer-plus-wrap{position:relative}.composer-plus{appearance:none;border:none;background:#f2f2f7;width:30px;height:30px;border-radius:50%;color:#8e8e93;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.composer-plus:hover{background:#e5e5ea;color:#1d1d1f}.composer-plus:disabled{opacity:.4;cursor:default}.composer-menu{position:absolute;bottom:calc(100% + 6px);left:0;background:#fff;border:1px solid #d1d1d6;border-radius:10px;box-shadow:0 6px 22px #0000001f;min-width:160px;overflow:hidden;z-index:10}.composer-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;font:inherit;font-size:13.5px;cursor:pointer;text-align:left}.composer-menu button:hover{background:#f2f2f7}.menu-ico{width:20px;text-align:center}.composer-input-wrap{flex:1;position:relative;display:flex;flex-direction:column;border:1px solid #d1d1d6;border-radius:18px;background:#fff;padding:4px 40px 4px 12px;min-height:30px}.composer-input-wrap:focus-within{border-color:#007aff;box-shadow:0 0 0 2px #007aff26}.composer-input{width:100%;resize:none;border:none;outline:none;background:transparent;font:inherit;font-size:14px;line-height:1.4;padding:4px 0;min-height:22px;max-height:160px}.composer-send{position:absolute;right:4px;bottom:4px;width:26px;height:26px;background:#007aff;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.composer-send:disabled{background:#c7c7cc;cursor:default}.composer-file-chips{display:flex;flex-wrap:wrap;align-items:flex-start;max-height:180px;overflow-y:auto}.composer-file-chip{display:inline-flex;align-items:flex-start;gap:4px;padding:6px 6px 2px 2px}.composer-file-chip img{max-width:80px;max-height:80px;border-radius:8px;object-fit:cover}.composer-file-chip button{background:#0000008c;color:#fff;border:none;width:20px;height:20px;border-radius:50%;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:-14px}.composer-reply-banner{display:flex;align-items:center;gap:8px;padding:5px 2px 6px;border-bottom:1px solid #e5e5ea;margin-bottom:2px}.composer-reply-info{flex:1;min-width:0}.composer-reply-label{font-size:11.5px;font-weight:600;color:#007aff}.composer-reply-snippet{font-size:12px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-reply-cancel{flex-shrink:0;background:#f2f2f7;color:#8e8e93;border:none;width:20px;height:20px;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.composer-reply-cancel:hover{background:#e5e5ea;color:#1d1d1f}.msgr-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000}.msgr-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000040;width:460px;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;overflow:hidden}.msgr-modal-sm{width:380px}.msgr-modal-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e5e5ea}.msgr-modal-title{font-weight:700;font-size:15px;flex:1}.msgr-modal-close{appearance:none;background:transparent;border:none;font-size:22px;line-height:1;color:#8e8e93;cursor:pointer;width:28px;height:28px;border-radius:50%}.msgr-modal-close:hover{background:#f2f2f7;color:#1d1d1f}.msgr-modal-search,.msgr-modal-group-name{margin:0 16px 8px;padding:8px 12px;border:none;border-bottom:1px solid #e5e5ea;background:#fff;outline:none;font:inherit}.msgr-modal-search:focus,.msgr-modal-group-name:focus{border-color:#007aff}.msgr-mode-toggle{display:inline-flex;background:#f2f2f7;border-radius:7px;padding:2px}.msgr-mode-toggle button{appearance:none;border:none;background:transparent;padding:4px 12px;font:inherit;font-size:12.5px;border-radius:5px;cursor:pointer;color:#1d1d1f}.msgr-mode-toggle button.active{background:#fff;box-shadow:0 1px 3px #0000001f}.msgr-selected-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 8px}.msgr-chip{display:inline-flex;align-items:center;gap:4px;background:#e5f1ff;color:#007aff;padding:3px 4px 3px 10px;border-radius:12px;font-size:12px}.msgr-chip button{appearance:none;background:transparent;border:none;color:#007aff;font-size:14px;line-height:1;cursor:pointer;width:18px;height:18px;border-radius:50%}.msgr-chip button:hover{background:#007aff26}.msgr-user-list{flex:1;overflow-y:auto;padding:4px 0}.msgr-user-row{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer}.msgr-user-row:hover{background:#f6f6f6}.msgr-user-row.selected{background:#e5f1ff}.msgr-user-meta{flex:1;min-width:0}.msgr-user-name{font-size:13.5px;font-weight:500}.msgr-user-role{font-size:11.5px;color:#8e8e93;text-transform:capitalize}.msgr-check{color:#007aff;font-weight:700}.msgr-section-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8e8e93;padding:10px 16px 4px}.msgr-modal-note{margin:8px 16px 0;padding:8px 10px;background:#fff8e1;border:1px solid #f0e0a8;border-radius:6px;font-size:12.5px;color:#6b5e1f}.msgr-member-remove{appearance:none;border:none;background:transparent;color:#b00020;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:50%}.msgr-member-remove:hover:not(:disabled){background:#b000201a}.msgr-member-remove:disabled{color:#c7c7cc;cursor:default}.msgr-member-add{color:#007aff;font-size:18px;font-weight:700;line-height:1;padding:0 6px}.msgr-modal-error{color:#b00020;font-size:12.5px;padding:4px 16px 8px}.msgr-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e5e5ea}.msgr-btn-primary{appearance:none;background:#007aff;color:#fff;border:none;padding:7px 16px;font:inherit;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer}.msgr-btn-primary:hover:not(:disabled){background:#0069d9}.msgr-btn-primary:disabled{background:#c7c7cc;cursor:default}.msgr-btn-secondary{appearance:none;background:#f2f2f7;border:1px solid #d1d1d6;color:#1d1d1f;padding:7px 16px;font:inherit;font-size:13px;border-radius:6px;cursor:pointer}.msgr-btn-secondary:hover{background:#e5e5ea}.msgr-btn-danger{appearance:none;background:#ff3b30;color:#fff;border:none;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer}.msgr-photo-preview-wrap{display:flex;align-items:center;justify-content:center;padding:32px 16px 12px}.msgr-photo-preview{width:160px;height:160px;border-radius:50%;object-fit:cover}.photo-crop-wrap{display:flex;align-items:center;justify-content:center;padding:24px 16px 10px}.photo-crop-viewport{position:relative;border-radius:50%;overflow:hidden;background:#f2f2f7;border:1px solid #e5e5ea;cursor:grab;touch-action:none;box-shadow:inset 0 0 0 6px #0000000a}.photo-crop-viewport.dragging{cursor:grabbing}.photo-crop-viewport:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 2000px #ffffff8c;pointer-events:none;opacity:0}.photo-crop-controls{display:flex;align-items:center;gap:10px;padding:4px 24px 8px}.photo-zoom-slider{flex:1;accent-color:#007aff;cursor:pointer}.photo-zoom-btn{appearance:none;border:1px solid #d1d1d6;background:#f2f2f7;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1;color:#1d1d1f;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.photo-zoom-btn:hover:not(:disabled){background:#e5e5ea}.photo-zoom-btn:disabled{opacity:.4;cursor:default}.photo-crop-hint{text-align:center;font-size:11.5px;color:#8e8e93;padding:0 16px 8px}.msgr-lightbox{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10001;cursor:zoom-out}.msgr-lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:4px}.msgr-archive-link{position:absolute;bottom:10px;left:16px;background:transparent;border:none;color:#007aff;font:inherit;font-size:11.5px;cursor:pointer;padding:4px 6px;border-radius:4px}.msgr-archive-link:hover{background:#007aff14}.msgr-archive-pane{display:flex;flex-direction:column;min-width:0}.msgr-archive-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid #e5e5ea;background:#fafafa}.msgr-archive-title{flex:1;font-weight:600;font-size:13.5px;display:flex;align-items:baseline;gap:10px;min-width:0}.msgr-archive-meta{font-weight:400;color:#8e8e93;font-size:11.5px}.msgr-archive-actions{display:flex;gap:6px}@media print{.msgr-app{display:block;height:auto}.msgr-sidebar,.no-print,.composer,.msgr-feed-header-actions,.msgr-archive-toolbar{display:none!important}.msgr-feed-wrap,.msgr-archive-pane{display:block;overflow:visible}.msgr-feed{overflow:visible;padding:0}.msg-bubble{box-shadow:none;border:1px solid #ccc}.msg-mine{background:#fff;color:#000}}@media(max-width:720px){.msgr-app{grid-template-columns:1fr;grid-template-rows:1fr}.msgr-sidebar{display:block}.msgr-app.has-selection .msgr-sidebar,.msgr-feed-wrap{display:none}.msgr-app.has-selection .msgr-feed-wrap{display:flex}}.msgr-modal{position:fixed;z-index:2147483000;background:#fff;border:1px solid #d6d9e0;border-radius:12px;box-shadow:0 18px 60px #0000004d,0 2px 8px #00000026;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.msgr-modal-titlebar{flex:0 0 auto;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 14px;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}.msgr-modal-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.3px}.msgr-modal-close{appearance:none;border:none;background:#ffffff24;color:#fff;width:28px;height:28px;border-radius:7px;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.msgr-modal-close:hover{background:#ffffff4d}.msgr-modal-body{flex:1 1 auto;min-height:0;min-width:0;display:flex;overflow:hidden}.msgr-modal-body>.msgr-app{flex:1 1 auto;height:100%;min-width:0}@media(max-width:720px){.msgr-modal{left:8px!important;top:8px!important;width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;border-radius:10px}}.zh-overlay{position:fixed;inset:0;background:#0f172a73;z-index:2147482500;display:flex;padding:16px;box-sizing:border-box}.zh{background:#fff;border-radius:10px;flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #0000004d}.zh-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #e2e8f0}.zh-title{font-size:16px;color:var(--navy, #1B3A5F);margin-right:auto}.zh-date{display:flex;align-items:center;gap:6px}.zh-date input{font:inherit;font-size:13px;padding:4px 6px;border:1px solid #cbd5e1;border-radius:6px}.zh-actions{display:flex;gap:6px;flex-wrap:wrap}.zh-trucks{display:flex;gap:8px;padding:8px 14px;overflow-x:auto;border-bottom:1px solid #e2e8f0;min-height:48px;align-items:center}.zh-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;font:inherit;font-size:11.5px;color:#475569;white-space:nowrap}.zh-chip b{font-size:13px;color:#1e293b}.zh-chip.on{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb inset}.zh-body{flex:1;min-height:0;display:flex}.zh-map{flex:1 1 auto;min-width:0;position:relative}.zh-side{flex:0 0 340px;max-width:45%;overflow-y:auto;padding:10px 14px;border-left:1px solid #e2e8f0;font-size:12.5px}.zh-h{font-weight:700;font-size:14px;color:var(--navy, #1B3A5F);margin-bottom:6px}.zh-row{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid #f1f5f9}.zh-row span{color:#64748b}.zh-row b{text-align:right;color:#1e293b;overflow-wrap:anywhere}.zh-row em{font-style:normal;font-weight:400;color:#64748b}.zh-sec{font-weight:700;color:var(--navy, #1B3A5F);margin:12px 0 4px}.zh-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.zh-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:1px 6px 1px 1px;border-radius:4px;background:#f8fafc;border:1px solid #e2e8f0}.zh-badge i,.zh-list i{font-style:normal;color:#fff;font-weight:700;font-size:9.5px;border-radius:3px;padding:1px 4px;min-width:12px;text-align:center;display:inline-block}.zh-list{list-style:none;margin:0;padding:0}.zh-list li button{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f1f5f9;padding:4px 2px;font:inherit;font-size:12px;color:#334155;cursor:pointer}.zh-list li button:hover{background:#f8fafc}.zh-muted{color:#64748b;font-size:12px}.zh-err{color:#b91c1c;font-size:12px}.zh-note{margin-top:10px;font-size:11px;color:#94a3b8;line-height:1.45}@media(max-width:760px){.zh-overlay{padding:0}.zh{border-radius:0}.zh-body{flex-direction:column}.zh-map{flex:0 0 55vh}.zh-side{flex:1 1 auto;max-width:none;border-left:0;border-top:1px solid #e2e8f0}}.zfm{position:fixed;z-index:2147482000;background:#fff;border:1px solid #d6d9e0;border-radius:12px;box-shadow:0 18px 60px #00000047,0 2px 8px #00000026;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.zfm-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;height:40px;padding:0 6px 0 12px;background:linear-gradient(180deg,#1b3a5f,#142c48);color:#fff;cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}.zfm-widget .zfm-head{height:30px;padding:0 4px 0 8px}.zfm-title{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.zfm-title-sm{font-size:11px;font-weight:600}.zfm-sub{font-weight:400;font-size:11px;opacity:.85;margin-left:6px}.zfm-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.zfm-btn{appearance:none;border:none;background:#ffffff24;color:#fff;height:26px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.zfm-btn:hover{background:#ffffff4d}.zfm-widget .zfm-btn{height:22px;padding:0 6px;font-size:10px}.zfm-x{width:26px;padding:0;font-size:13px}.zfm-body{flex:1 1 auto;min-height:0;display:flex}.zfm-body-row{flex-direction:row}.zfm-body-col{flex-direction:column}.zfm-map{position:relative;flex:1 1 auto;min-width:0;min-height:120px}.zfm-side{flex:0 0 auto;overflow-y:auto;padding:8px;background:#f8fafc}.zfm-body-row .zfm-side{width:230px;border-left:1px solid #e2e8f0}.zfm-body-col .zfm-side{max-height:40%;border-top:1px solid #e2e8f0}.zfm-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,rgba(27,58,95,.55) 50%,rgba(27,58,95,.55) 58%,transparent 58%,transparent 70%,rgba(27,58,95,.55) 70%,rgba(27,58,95,.55) 78%,transparent 78%);z-index:2}.zfm-bar{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:2147482000;display:flex;align-items:center;gap:4px;padding:4px;background:#1b3a5f;border-radius:20px;box-shadow:0 6px 20px #00000040}.zfm-bar-label{appearance:none;border:none;background:transparent;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.zfm-bar .zfm-btn{border-radius:14px}.zfm-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}@media(max-width:720px){.zfm-full{left:8px!important;width:calc(100vw - 16px)!important;top:64px!important;height:calc(100vh - 80px)!important}.zfm-full .zfm-resize{display:none}.zfm-full .zfm-head{cursor:default}.zfm-full .zfm-sub{display:none}}.rem-page{display:flex;flex-direction:column;gap:10px;min-height:calc(100vh - 120px)}.rem-demo-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fef9c3;border:1px solid #fde68a;color:#854d0e;border-radius:10px;padding:8px 12px;font-size:13px}.rem-demo-banner .rem-link{margin-left:auto}.rem-shell{display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;flex:1;min-height:560px}@media(max-width:1100px){.rem-shell{grid-template-columns:220px minmax(0,1fr)}.rem-detail{grid-column:1 / -1;border-left:none;border-top:1px solid #e2e8f0}}@media(max-width:720px){.rem-shell{grid-template-columns:1fr}.rem-side{border-right:none;border-bottom:1px solid #e2e8f0}}.rem-side{background:#f8fafc;border-right:1px solid #e2e8f0;padding:12px;overflow-y:auto}.rem-smart-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}.rem-smart{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 6px;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px;cursor:pointer;font-family:inherit}.rem-smart.on{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.rem-smart-icon{width:22px;height:22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}.rem-smart-count{justify-self:end;font-size:18px;font-weight:700;color:#0f172a}.rem-smart-label{grid-column:1 / -1;font-size:12px;font-weight:600;color:#475569}.rem-side-head{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#94a3b8;margin:4px 4px 6px}.rem-group{margin-bottom:8px}.rem-group-name{display:flex;align-items:center;gap:4px;background:none;border:none;font-weight:700;font-size:13px;color:#334155;cursor:pointer;padding:4px;font-family:inherit}.rem-listrow{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;border-radius:8px;padding:6px 8px 6px 18px;cursor:pointer;font-size:14px;color:#1e293b;font-family:inherit;text-align:left}.rem-listrow.sub{padding-left:38px;font-size:13px;color:#475569}.rem-listrow.on{background:#e0e7ff}.rem-listrow:hover:not(.on){background:#f1f5f9}.rem-listname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rem-listcount{color:#94a3b8;font-size:12px}.rem-dot{display:inline-block;width:8px;height:8px;border-radius:4px;margin-right:4px;vertical-align:middle}.rem-dot.big{width:10px;height:10px;border-radius:5px;margin:0}.rem-addinline{display:flex;align-items:center;gap:4px;background:none;border:none;color:#2563eb;font-size:12px;padding:4px 8px 4px 18px;cursor:pointer;font-family:inherit}.rem-addinline-form input{width:100%;box-sizing:border-box;font-size:13px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;margin:2px 0 4px}.rem-side-foot{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:6px}.rem-main{padding:16px 20px;overflow-y:auto;min-width:0;display:flex;flex-direction:column}.rem-main-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.rem-main-head h2{margin:0;font-size:22px;color:#0f172a;flex:1;min-width:140px}.rem-main-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rem-hint{background:#f1f5f9;color:#475569;border-radius:8px;padding:8px 10px;font-size:12px;margin:4px 0 8px;display:flex;gap:6px;align-items:center}.rem-quiet-notes{font-size:12px;color:#64748b;margin-bottom:8px}.rem-list{list-style:none;margin:0;padding:0}.rem-row{display:flex;align-items:flex-start;gap:10px;padding:9px 6px;border-bottom:1px solid #f1f5f9;cursor:pointer;border-radius:8px}.rem-row:hover{background:#f8fafc}.rem-row.sel{background:#eff6ff}.rem-check,.rem-restore{background:none;border:none;padding:0;color:#94a3b8;cursor:pointer;display:flex;margin-top:1px}.rem-check:hover:not(:disabled){color:#2563eb}.rem-check.done{color:#2563eb}.rem-check:disabled{cursor:default;opacity:.6}.rem-row-body{flex:1;min-width:0}.rem-row-title{font-size:15px;color:#0f172a;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.rem-strike{text-decoration:line-through;color:#94a3b8}.rem-row-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#64748b;margin-top:2px;align-items:center}.rem-overdue{color:#dc2626;font-weight:600}.rem-tag{background:#f1f5f9;border-radius:10px;padding:1px 8px}.rem-reason{color:#7c3aed;display:inline-flex;gap:4px;align-items:center;font-size:12px}.rem-rank{background:#7c3aed;color:#fff;border-radius:9px;min-width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.rem-pri-mark{font-weight:800}.rem-pri-high,.rem-pri-mark.rem-pri-high{color:#dc2626}.rem-pri-medium,.rem-pri-mark.rem-pri-medium{color:#ea580c}.rem-pri-low,.rem-pri-mark.rem-pri-low{color:#2563eb}.rem-pri{text-transform:capitalize;font-weight:600}.rem-flag{color:#ea580c;flex-shrink:0;margin-top:3px}.rem-empty{color:#94a3b8;padding:20px 6px;font-size:14px}.rem-quick{display:flex;align-items:center;gap:8px;color:#94a3b8;padding:10px 6px;border-top:1px solid #f1f5f9;margin-top:4px}.rem-quick input{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;background:transparent;color:#0f172a;min-width:0}.rem-quick.small input{font-size:13px}.rem-detail{width:340px;max-width:100%;box-sizing:border-box;border-left:1px solid #e2e8f0;padding:14px 16px;overflow-y:auto;background:#fff}@media(max-width:1100px){.rem-detail{width:auto}}.rem-detail-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;color:#334155;margin-bottom:8px;gap:8px}.rem-detail-head span{display:inline-flex;align-items:center;gap:6px}.rem-icon-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex}.rem-d-title{width:100%;box-sizing:border-box;font-size:17px;font-weight:600;border:1px solid transparent;border-radius:6px;padding:6px;font-family:inherit}.rem-d-title:focus,.rem-d-title:hover:not(:disabled){border-color:#cbd5e1}.rem-d-notes{width:100%;box-sizing:border-box;font-size:13px;border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;font-family:inherit;resize:vertical;margin:4px 0 8px}.rem-d-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.rem-d-grid input:not([type=checkbox]),.rem-d-grid select,.rem-d-link input{width:100%;box-sizing:border-box}.rem-d-grid label,.rem-d-link{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:#64748b}.rem-d-grid input,.rem-d-grid select,.rem-d-link input,.rem-d-panel select,.rem-d-panel input,.rem-claude select{font-size:13px;padding:6px;border:1px solid #cbd5e1;border-radius:6px;font-family:inherit;min-width:0}.rem-d-flag{flex-direction:row!important;align-items:center;gap:6px!important;font-size:13px!important;color:#334155!important}.rem-d-link{margin-top:8px}.rem-d-section{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#94a3b8;margin:14px 0 6px}.rem-subs{list-style:none;margin:0;padding:0}.rem-subs li{display:flex;gap:8px;align-items:center;font-size:13px;padding:3px 0}.rem-check.small{margin:0}.rem-d-collab{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rem-d-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin-top:8px;display:flex;flex-direction:column;gap:6px}.rem-d-panel-note{font-size:12px;color:#475569}.rem-d-person{display:flex;gap:8px;align-items:center;font-size:13px}.rem-d-delete{margin-top:10px;color:#b91c1c!important;display:inline-flex;gap:4px;align-items:center}.rem-history{list-style:none;margin:0;padding:0;font-size:12px;color:#475569}.rem-history li{padding:3px 0;border-bottom:1px dashed #f1f5f9}.rem-history span{color:#94a3b8;margin-right:4px}.rem-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#1e293b;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.rem-btn:hover{background:#f8fafc}.rem-btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.rem-btn-primary:hover{background:#1d4ed8}.rem-btn-quiet{color:#64748b}.rem-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:13px;padding:2px 4px;font-family:inherit}.rem-link:disabled{color:#cbd5e1;cursor:default}.rem-alert-overlay{position:fixed;inset:0;z-index:13000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px)}.rem-alert{background:#fff;border-radius:16px;width:100%;max-width:440px;max-height:100%;overflow-y:auto;padding:18px 20px;box-shadow:0 24px 60px #00000059}.rem-alert-head{display:flex;align-items:center;gap:8px;color:#2563eb;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.rem-alert-count{margin-left:auto;background:#eff6ff;color:#1d4ed8;border-radius:10px;padding:2px 8px;font-size:12px;text-transform:none;letter-spacing:0}.rem-alert-title{font-size:20px;font-weight:700;color:#0f172a;margin:10px 0 6px}.rem-alert-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#475569}.rem-alert-notes{background:#f8fafc;border-radius:8px;padding:8px 10px;font-size:13px;color:#334155;margin-top:10px;white-space:pre-wrap}.rem-alert-snooze{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:#334155}.rem-alert-snooze select{font-size:13px;padding:6px;border:1px solid #cbd5e1;border-radius:6px;font-family:inherit}.rem-alert-custom{font-weight:600}.rem-alert-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}@media(max-width:420px){.rem-alert-actions{grid-template-columns:1fr}}.rem-alert-actions .rem-btn{justify-content:center}.rem-alert-nav{display:flex;justify-content:space-between;margin-top:10px}.rem-alert-demo{margin-top:10px;font-size:11px;color:#a16207;text-align:center}.rem-claude{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:100%;display:flex;flex-direction:column;padding:16px;box-shadow:0 24px 60px #00000059}.rem-sim{font-style:normal;font-weight:500;font-size:11px;color:#a16207;background:#fef9c3;border-radius:8px;padding:1px 6px}.rem-chat{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0 8px;min-height:140px}.rem-bubble{max-width:85%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.4}.rem-bubble.claude{background:#f5f3ff;color:#3b0764;align-self:flex-start;border-bottom-left-radius:4px}.rem-bubble.you{background:#2563eb;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.rem-chips{display:flex;flex-wrap:wrap;gap:6px}.rem-chip{background:#fff;border:1px solid #c4b5fd;color:#5b21b6;border-radius:16px;padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit}.rem-chip:hover{background:#f5f3ff}.rem-proposal{border:1px solid #ddd6fe;background:#faf5ff;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.rem-proposal-title{font-size:16px;font-weight:700;color:#0f172a}.rem-proposal-subs{margin:0;padding-left:18px;font-size:13px;color:#334155}.rem-suggest{font-size:12px;color:#5b21b6}.rem-dt{grid-column:1 / -1;display:flex;flex-direction:column;gap:3px}.rem-dt-label{font-size:11px;font-weight:700;color:#64748b}.rem-dt-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.rem-d-grid .rem-dt-row input[type=date]{flex:1 1 130px;width:auto}.rem-d-grid .rem-dt-row select{width:auto;flex:0 0 auto;padding:6px 4px}.rem-dt-colon{font-weight:700;color:#64748b}.rem-error{margin:6px 12px;padding:8px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px}.rem-typing{opacity:.7;font-style:italic}.rem-tabs-page{display:flex;flex-direction:column;gap:8px}.rem-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.rem-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-bottom:2px solid transparent;background:none;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-bottom:-1px}.rem-tab:hover{color:#1e293b}.rem-tab.on{color:#2563eb;border-bottom-color:#2563eb}.rem-notes-views{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.rem-notes-views .rem-smart-icon{margin-right:2px}.rem-notes-search{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:4px 8px;color:#94a3b8}.rem-notes-search input{flex:1;min-width:0;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent;color:#0f172a;padding:3px 0}.rem-notes-icon{color:#94a3b8;flex-shrink:0;margin-top:2px}.rem-notes-tick{width:17px;height:17px;margin:3px 1px 0;flex-shrink:0;cursor:pointer}.rem-notes-preview{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rem-notes-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px;border-bottom:1px solid #f1f5f9}.rem-notes-danger{color:#b91c1c;border-color:#fecaca}.rem-notes-danger:disabled{color:#cbd5e1;border-color:#e2e8f0;cursor:default;background:#fff}.rem-notes-danger-solid{background:#b91c1c;border-color:#b91c1c;color:#fff}.rem-notes-danger-solid:hover{background:#991b1b}.rem-notes-confirm{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#b91c1c;font-weight:600}.rem-note-detail{width:480px;display:flex;flex-direction:column}@media(max-width:1100px){.rem-note-detail{width:auto}}.rem-note-body{width:100%;box-sizing:border-box;min-height:340px;flex:1;font-size:14px;line-height:1.5;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;font-family:inherit;resize:vertical;margin:6px 0 8px;white-space:pre-wrap;tab-size:4;color:#0f172a}.rem-note-body:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 2px #dbeafe}.rem-note-body:disabled{background:#f8fafc;color:#475569}.rem-smart[draggable=true]{cursor:grab}.rem-smart.drop,.rem-listrow.drop,.rem-group-name.drop{outline:2px dashed #2563eb;outline-offset:-2px;background:#eff6ff}.rem-ctx{position:fixed;z-index:1000;min-width:220px;max-width:280px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 30px #0f172a2e;padding:4px}.rem-ctx-title{font-size:11px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;padding:6px 10px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rem-ctx-item{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 10px;border-radius:7px;font-size:14px;color:#1e293b;cursor:pointer;font-family:inherit}.rem-ctx-item:hover,.rem-ctx-item:focus-visible{background:#f1f5f9;outline:none}.rem-ctx-item.danger{color:#b91c1c}.rem-ctx-item.danger:hover{background:#fef2f2}.rem-modal-back{position:fixed;inset:0;z-index:1001;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:16px}.rem-modal{background:#fff;border-radius:14px;padding:20px;width:100%;max-width:420px;box-shadow:0 20px 50px #0f172a40}.rem-modal h3{margin:0 0 8px;font-size:17px;color:#0f172a}.rem-modal p{margin:0 0 16px;font-size:14px;color:#475569;line-height:1.45}.rem-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.rem-btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.rem-btn-danger:hover{background:#991b1b}.rem-due-suggest{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:2px 0 6px;font-size:12px}.rem-due-link{display:inline-flex;align-items:center;gap:4px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.rem-due-link:hover{background:#dbeafe}.rem-due-from{color:#94a3b8}.rem-quick-due{display:inline-flex;align-items:center;gap:2px;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 4px 2px 10px;font-size:12px;font-weight:600;white-space:nowrap}.rem-showdone{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.rem-showdone input{width:16px;height:16px;cursor:pointer}.rem-smart,.rem-listrow,.rem-group-name{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.fx-alert-overlay{z-index:12990;align-items:flex-start;overflow-y:auto}.fx-alert-stack{display:flex;flex-direction:column;gap:12px;width:100%;max-width:440px;margin:auto 0}.fx-alert-stack .rem-alert{max-height:none;overflow:visible}.zb-dock{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:2147481000;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.zb-dock>*{pointer-events:auto}.zb-fab{width:52px;height:52px;border-radius:50%;border:none;background:#0c447c;color:#fff;box-shadow:0 4px 14px #00000040;cursor:pointer;display:flex;align-items:center;justify-content:center}.zb-fab:hover{background:#0a3864}.zb-bubble{position:relative;max-width:min(300px,calc(100vw - 32px));background:#fff;color:#1f2937;border:1px solid #d1d5db;border-radius:12px;padding:10px 28px 10px 12px;box-shadow:0 4px 14px #00000026;font-size:13px;line-height:1.4}.zb-bubble-x{position:absolute;top:4px;right:6px;border:none;background:none;font-size:18px;line-height:1;cursor:pointer;color:#6b7280}.zb-bubble-actions{display:flex;gap:12px;margin-top:6px}.zb-panel{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(400px,calc(100vw - 32px));height:min(580px,calc(100vh - 100px));z-index:2147481000;background:#fff;color:#1f2937;border:1px solid #d1d5db;border-radius:12px;box-shadow:0 10px 30px #00000040;display:flex;flex-direction:column;overflow:hidden;font-size:14px}.zb-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#0c447c;color:#fff}.zb-title{display:flex;align-items:center;gap:6px;font-weight:600}.zb-head-actions{display:flex;gap:4px}.zb-hbtn{border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;min-height:28px}.zb-hbtn:hover{background:#ffffff1f}.zb-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.zb-pad{padding:4px 2px}.zb-msg{max-width:88%;padding:8px 10px;border-radius:10px;white-space:pre-wrap;word-wrap:break-word;line-height:1.45}.zb-me{align-self:flex-end;background:#e8f0fa}.zb-bot{align-self:flex-start;background:#f3f4f6}.zb-muted{color:#6b7280}.zb-small{font-size:12px}.zb-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}.zb-link{border:none;background:none;padding:0;color:#0c447c;text-decoration:underline;cursor:pointer;font-size:inherit}.zb-export{padding:4px 10px;font-size:12px;color:#6b7280;border-top:1px solid #f0f0f0}.zb-depth{display:flex;justify-content:flex-end;gap:0;padding:4px 10px 0;font-size:12px}.zb-seg{border:1px solid #d1d5db;background:#fff;color:#374151;padding:2px 10px;cursor:pointer;font-size:12px;min-height:26px}.zb-seg:first-child{border-radius:6px 0 0 6px}.zb-seg:last-child{border-radius:0 6px 6px 0;border-left:none}.zb-seg-on{background:#0c447c;color:#fff;border-color:#0c447c}.zb-input{display:flex;gap:6px;padding:8px;border-top:1px solid #e5e7eb}.zb-input textarea{flex:1;resize:none;border:1px solid #d1d5db;border-radius:8px;padding:6px 8px;font:inherit;font-size:16px}.zb-send{border:none;background:#0c447c;color:#fff;border-radius:8px;padding:0 14px;cursor:pointer;min-height:40px}.zb-send:disabled{opacity:.5;cursor:default}.zb-note{padding:6px 10px;font-size:11px;color:#6b7280;background:#f9fafb;border-top:1px solid #e5e7eb}.zb-hrow{display:flex;align-items:center;gap:8px;border-bottom:1px solid #f0f0f0;padding:4px 0}.zb-hrow-on{background:#f3f7fc}.zb-hopen{flex:1;text-align:left;border:none;background:none;cursor:pointer;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:0}.zb-htitle{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zb-tips{display:flex;align-items:center;gap:6px;font-size:13px;margin-top:8px}.login-page{--lg-navy: #071523;--lg-panel: #0B1727;--lg-field: #0F2236;--lg-border: #27405A;--lg-green: #39A54A;--lg-cyan: #08BEE5;--lg-text: #FFFFFF;--lg-muted: #C3D0DC;--lg-soft: #8FA3B5;--lg-radius: 8px;--lg-s1: 4px;--lg-s2: 8px;--lg-s3: 12px;--lg-s4: 16px;--lg-s5: 24px;--lg-s6: 32px;--lg-s7: 48px;--lg-img-w: max(100vw, calc(100vh * 16 / 9));position:relative;min-height:100vh;min-height:100dvh;background:var(--lg-navy);color:var(--lg-text);font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}.login-shell{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.login-brand{position:absolute;left:calc(var(--lg-img-w) * .04);bottom:calc(var(--lg-img-w) * .025);z-index:1;display:flex;flex-direction:column;gap:calc(var(--lg-img-w) * .012);pointer-events:none;--lg-b: calc(.5*min(calc(var(--lg-img-w) / 1920), calc((100vw - var(--lg-img-w) * .43 - 40px) / 980))) }.login-brand-accent{position:absolute;left:calc(-1 * var(--lg-img-w) * .04);bottom:calc(-1 * var(--lg-img-w) * .025);width:calc(var(--lg-b) * 1150);height:calc(var(--lg-b) * 420);background:linear-gradient(100deg,#12422ab3,#1c683a66,#2d8c4600);clip-path:polygon(0 0,0 100%,100% 100%);z-index:-1}.login-brand-row{display:flex;align-items:center;gap:calc(var(--lg-b) * 28)}.login-brand-company{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--lg-b) * 12)}.login-brand-logo{height:calc(var(--lg-b) * 96);width:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}.login-brand-services{font-size:calc(var(--lg-b) * 15);font-weight:500;color:#fff;letter-spacing:.01em;text-shadow:0 1px 4px rgba(0,0,0,.6);padding-left:calc(var(--lg-b) * 4)}.login-brand-pipe{margin:0 calc(var(--lg-b) * 8);color:#fff9}.login-brand-sep{width:1px;height:calc(var(--lg-b) * 120);background:#ffffff8c;flex:0 0 1px}.login-brand-cert{height:calc(var(--lg-b) * 118);width:auto;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.login-brand-cert-vosb{height:calc(var(--lg-b) * 124)}.login-brand-tagline{text-align:left;text-transform:uppercase;letter-spacing:.34em;font-size:calc(var(--lg-b) * 22);font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);padding-top:calc(var(--lg-b) * 6)}.login-panel-wrap{position:relative;min-height:100vh;min-height:100dvh;display:flex;justify-content:flex-end}.login-panel{position:relative;width:clamp(320px,calc(var(--lg-img-w) * .24),480px);margin-right:calc(var(--lg-img-w) * .04);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lg-s6);padding:var(--lg-s7) 0 var(--lg-s6);box-sizing:border-box}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--lg-s5)}@media(prefers-reduced-motion:no-preference){.login-card{animation:loginCardIn .35s ease-out}@keyframes loginCardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}.login-header{display:flex;flex-direction:column;align-items:center;gap:var(--lg-s3);text-align:center}.login-logo{width:54px;height:54px;border-radius:10px;object-fit:contain;background:#fff}.login-logo.login-logo-stacked{width:auto;height:137px;border-radius:3px}.login-wordmark{margin:0;font-size:clamp(36px,3.1vw,46px);font-weight:800;letter-spacing:-.01em;line-height:1}.arcomm-prefix{color:#fff}.arcomm-suffix{color:var(--lg-green)}.login-platform{margin-top:calc(-1 * var(--lg-s1));font-size:14px;font-weight:500;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:#ffffffeb}.login-welcome{text-align:center}.login-welcome h2{margin:0 0 var(--lg-s2);font-size:28px;font-weight:700;color:#fff}.login-description{margin:0;font-size:14px;line-height:1.5;color:var(--lg-muted)}.login-info{display:flex;align-items:flex-start;gap:var(--lg-s2);padding:10px 12px;border-radius:var(--lg-radius);background:#152b42;color:#d8e4ed;font-size:13.5px;line-height:1.4}.login-info-icon{color:var(--lg-cyan);flex:0 0 auto;margin-top:2px}.login-error{background:#ef444424;border:1px solid rgba(239,68,68,.35);color:#fca5a5;padding:10px 12px;border-radius:var(--lg-radius);font-size:13.5px;line-height:1.4;text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--lg-s4)}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;font-weight:500;color:var(--lg-muted)}.login-field input{width:100%;height:46px;padding:0 14px;border-radius:var(--lg-radius);border:1px solid var(--lg-border);background:var(--lg-field);color:#fff;font-size:15px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.login-field input::placeholder{color:var(--lg-soft)}.login-field input.signin-code-input{text-align:center;letter-spacing:6px;font-size:22px;font-weight:700}.login-field input.signin-code-input::placeholder{color:#ffffff4d;font-weight:400;letter-spacing:6px}.login-field input:focus,.login-field input:focus-visible{border-color:var(--lg-cyan);box-shadow:0 0 0 3px #08bee538}.login-field input:-webkit-autofill,.login-field input:-webkit-autofill:hover,.login-field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px var(--lg-field) inset;border-color:var(--lg-border);transition:background-color 5000s ease-in-out 0s}.login-password-wrapper{position:relative}.login-password-wrapper input{padding-right:44px}.login-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:var(--lg-soft);cursor:pointer;padding:0}.login-password-toggle:hover{color:#fff}.login-password-toggle:focus-visible{outline:2px solid var(--lg-cyan);outline-offset:1px}.login-trust{display:flex;align-items:center;gap:var(--lg-s2);font-size:14px;color:#fff;cursor:pointer}.login-trust input{accent-color:var(--lg-cyan);width:16px;height:16px}.login-submit{width:100%;height:50px;margin-top:var(--lg-s1);border:none;border-radius:var(--lg-radius);background:linear-gradient(90deg,#05badd,#1053b5);color:#fff;font-size:16px;font-weight:700;font-family:inherit;letter-spacing:.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--lg-s2);box-shadow:0 2px 10px #05badd2e;transition:filter .15s ease,box-shadow .15s ease}.login-submit:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #05badd47}.login-submit:active:not(:disabled){filter:brightness(.96)}.login-submit:focus-visible{outline:2px solid #fff;outline-offset:2px}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:loginSpin .7s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-forgot{display:block;text-align:center;color:var(--lg-cyan);font-size:14px;text-decoration:none;font-family:inherit}.login-forgot:hover{text-decoration:underline}.login-forgot:focus-visible{outline:2px solid var(--lg-cyan);outline-offset:2px;border-radius:4px}.login-linkbtn{background:none;border:none;cursor:pointer;padding:0;width:100%}.login-linkbtn:disabled{color:var(--lg-soft);cursor:default;text-decoration:none}.login-contact{margin:0;text-align:center;font-size:13px;color:var(--lg-muted)}.login-contact a{color:#fff;text-decoration:none}.login-contact a:hover{color:var(--lg-cyan);text-decoration:underline}.login-footer{width:100%;max-width:360px;text-align:center;font-size:12px;color:var(--lg-soft)}.login-footer-rule{height:1px;background:#ffffff1a;margin-bottom:var(--lg-s4)}.login-footer p{margin:0 0 var(--lg-s1)}.login-footer-links{display:flex;justify-content:center;align-items:center;gap:var(--lg-s2);flex-wrap:wrap}.login-footer-links a{color:var(--lg-soft);text-decoration:none}.login-footer-links a:hover{color:#fff;text-decoration:underline}.login-footer-dot{color:#ffffff40}@media(max-height:820px)and (min-width:901px){.login-panel{gap:var(--lg-s5);padding-top:var(--lg-s6);padding-bottom:var(--lg-s5)}.login-card{gap:var(--lg-s4)}.login-wordmark{font-size:38px}.login-welcome h2{font-size:25px}}@media(max-width:900px){.login-shell{position:relative;display:block;height:32vh;min-height:200px;max-height:340px;object-position:0% 50%;border-bottom:3px solid var(--lg-green)}.login-brand{--lg-b: .5px;left:14px;bottom:auto;top:calc(clamp(200px,32vh,340px) - 56px);gap:0}.login-brand-accent,.login-brand-services,.login-brand-sep,.login-brand-cert,.login-brand-tagline{display:none}.login-brand-logo{height:40px}.login-panel-wrap{min-height:0;justify-content:center;background:var(--lg-panel)}.login-panel{width:100%;max-width:480px;margin-right:0;min-height:0;padding:var(--lg-s5) var(--lg-s4) var(--lg-s5);gap:var(--lg-s5);justify-content:flex-start}.login-card{max-width:420px;gap:var(--lg-s4)}.login-logo{width:46px;height:46px}.login-logo.login-logo-stacked{width:auto;height:96px}.login-wordmark{font-size:34px}.login-platform{font-size:12px;letter-spacing:.34em;text-indent:.34em}.login-welcome h2{font-size:24px}.login-field input{height:48px;font-size:16px}.login-submit{height:50px}}@media(max-width:480px){.login-brand-row .login-brand-sep:last-of-type,.login-brand-cert-vosb{display:none}}@media(max-width:380px){.login-footer-links{flex-direction:column;gap:var(--lg-s1)}.login-footer-dot{display:none}}.rs-root{background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif}.rs-msg{padding:40px;font-size:15px;color:#333}.rs-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #ccc;font-size:14px}.rs-toolbar-actions{display:flex;gap:10px;align-items:center}.rs-tech-select{padding:7px 10px;font-size:14px;border:1px solid #999;border-radius:4px;background:#fff}.rs-print-btn{padding:8px 22px;font-size:14px;cursor:pointer;background:#1f6feb;color:#fff;border:none;border-radius:4px}.rs-sheet{padding:24px 28px}.rs-sheet-head{border-bottom:2px solid #000;margin-bottom:14px;padding-bottom:6px}.rs-sheet-head h1{font-size:22px;margin:0}.rs-sheet-sub{font-size:13px;color:#333;margin-top:2px}.rs-job{border:1px solid #000;margin-bottom:10px;break-inside:avoid}.rs-job-head{display:flex;gap:10px;align-items:baseline;background:#eee;padding:6px 10px;border-bottom:1px solid #000}.rs-job-seq{font-weight:700;background:#000;color:#fff;width:22px;height:22px;border-radius:50%;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.rs-job-num{font-weight:700;font-size:14px}.rs-job-cust{font-size:14px;flex:1}.rs-job-time{font-size:13px}.rs-job-body{padding:8px 10px}.rs-row{display:flex;gap:8px;font-size:13px;padding:2px 0}.rs-row-block{flex-direction:column;gap:2px}.rs-label{font-weight:700;min-width:90px}.rs-items{margin:0;padding-left:20px}@media print{.rs-toolbar{display:none}.rs-sheet{page-break-after:always;padding:0}.rs-sheet:last-child{page-break-after:auto}@page{margin:.5in}}.ad-root{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;background:#0b1220;color:#e5e7eb;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px}.ad-plain{min-height:100vh;padding:40px 24px;background:#0b1220;color:#e5e7eb;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px}.ad-plain h1{font-size:20px;margin:0 0 12px}.ad-plain a{color:#93c5fd}.ad-toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;background:#0f172a;border-bottom:1px solid rgba(255,255,255,.08)}.ad-id{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}.ad-pill{padding:2px 9px;border-radius:999px;color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em}.ad-desc{color:#94a3b8}.ad-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.ad-select,.ad-button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#1e293b;color:#e5e7eb;font:inherit;font-size:12px;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap}.ad-select:hover,.ad-button:hover{background:#273549}.ad-select{padding-right:6px}.ad-note{flex-basis:100%;color:#94a3b8;font-size:12px}.ad-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.ad-phone{position:relative;transform-origin:top left}.ad-body{position:absolute;top:0;background:#0a0a0a;box-shadow:0 0 0 2px #2c2c2e,0 0 0 3px #0a0a0a,0 30px 60px #000000a6}.ad-screen{position:absolute;overflow:hidden;background:#fff;display:flex;flex-direction:column}.ad-frame{display:block;flex:none;border:0;background:#fff}.ad-statusbar,.ad-bottombar{position:relative;flex:none;background:#fff;color:#000}.ad-time{position:absolute;left:30px;top:50%;transform:translateY(-50%);font-weight:600;font-size:14px;letter-spacing:-.2px}.ad-battery{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:25px;height:12px;border:1.5px solid #000;border-radius:4px}.ad-battery:after{content:"";position:absolute;inset:2px;background:#000;border-radius:2px}.ad-island{position:absolute;top:11px;left:50%;width:126px;height:37px;transform:translate(-50%);border-radius:20px;background:#000}.ad-homebar{position:absolute;bottom:8px;left:50%;width:139px;height:5px;transform:translate(-50%);border-radius:3px;background:#000}.ad-homebutton{position:absolute;left:50%;bottom:9px;width:46px;height:46px;transform:translate(-50%);border-radius:50%;background:#141414;box-shadow:inset 0 0 0 2px #2c2c2e}.ad-key{position:absolute;width:4px;background:#2c2c2e;border-radius:2px}.ad-key-mute{left:0;top:150px;height:30px}.ad-key-up{left:0;top:200px;height:60px}.ad-key-down{left:0;top:272px;height:60px}.ad-key-power{right:0;top:230px;height:96px}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.rte-wrap .ql-toolbar.ql-snow{border:1px solid #cbd5e1;border-radius:8px 8px 0 0;background:#f8fafc}.rte-wrap .ql-container.ql-snow{border:1px solid #cbd5e1;border-top:0;border-radius:0 0 8px 8px;font-size:14px;font-family:inherit}.rte-wrap .ql-editor{min-height:var(--rte-min-height, 120px)}.rte-stamp-row{display:flex;margin-bottom:6px}.rte-stamp-btn{font-size:12px;padding:4px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1b3a5f;cursor:pointer;font-weight:600}.rich-text-view,.rte-wrap .ql-editor{overflow-wrap:anywhere}.rich-text-view.ql-editor{padding:0;min-height:0;height:auto;overflow:visible}.rich-text-view.rtv-plain{white-space:pre-wrap}.rich-text-view a.rtv-tel{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px;font-weight:600}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"–"}.rich-text-view ul>li:not([data-list]){list-style-position:outside;list-style-type:disc;list-style-type:"–  "}.rich-text-view ol>li:not([data-list]){list-style-position:outside;list-style-type:decimal}.djp-modal{position:fixed;z-index:12000;background:var(--card, #fff);border:1px solid var(--border, #d6d9e0);border-radius:12px;box-shadow:0 18px 60px #0000004d,0 2px 8px #00000026;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.djp-modal .djp-drag-handle{cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}@media(max-width:720px){.djp-modal{left:8px!important;top:8px!important;width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;border-radius:10px}}.fp-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:20px}.fp-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0a1628,#132842 40%,#1a3a5c,#0d1f35);z-index:0}.fp-bg-overlay{position:absolute;inset:0;background:#0000001a;z-index:1}.fp-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;z-index:2}.fp-page:before{content:"";position:absolute;top:-20%;left:-10%;width:50%;height:50%;background:radial-gradient(ellipse,rgba(0,180,216,.08) 0%,transparent 70%);z-index:2;pointer-events:none}.fp-page:after{content:"";position:absolute;bottom:-15%;right:-10%;width:45%;height:45%;background:radial-gradient(ellipse,rgba(27,58,95,.15) 0%,transparent 70%);z-index:2;pointer-events:none}.fp-layers{position:relative;z-index:5;display:flex;align-items:center;justify-content:center}.fp-frame{position:absolute;width:calc(100% + 256px);height:calc(100% + 64px);max-width:696px;border-radius:24px;transform:translateY(16px);background:linear-gradient(135deg,#ffffff1a,#96aac80f 40%,#050a1938);backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2);border:none;box-shadow:0 12px 40px #00000059,inset 1px 1px #ffffff8c,inset 0 0 30px #fff3,inset -1px -1px #0000004d;z-index:1;pointer-events:none;animation:fpFrameFadeIn .4s ease-out}.fp-frame:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(135deg,#ffffffa6,#ffffff4d,#ffffff2b);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}@keyframes fpFrameFadeIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(16px) scale(1)}}.fp-card{position:relative;z-index:10;width:100%;max-width:440px;padding:44px 40px 36px;border-radius:20px;background:linear-gradient(135deg,#ffffff42,#c8d2e633 40%,#0a14286b);backdrop-filter:blur(8px) saturate(1.4);-webkit-backdrop-filter:blur(8px) saturate(1.4);border:none;box-shadow:0 8px 32px #00000080,inset 1px 1px #ffffff8c,inset 0 0 30px #fff3,inset -1px -1px #0000004d;animation:fpCardFadeIn .5s ease-out}.fp-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,#ffffffa6,#ffffff4d,#ffffff2b);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;z-index:0}@keyframes fpCardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fp-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.fp-logo{width:144px;height:144px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,180,216,.2))}.fp-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);margin-bottom:28px}.fp-welcome{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.fp-icon{color:#00b4d8;opacity:.8}.fp-welcome h2{font-size:20px;font-weight:600;color:#fff;margin:0}.fp-description{text-align:center;font-size:13.5px;color:#fff;margin:0 0 28px;line-height:1.5}.fp-form{display:flex;flex-direction:column;gap:20px}.fp-field{display:flex;flex-direction:column;gap:7px}.fp-field label{font-size:13px;font-weight:500;color:#fff;letter-spacing:.3px}.fp-field input{width:100%;padding:13px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.6);background:#ffffff0d;color:#fff;font-size:15px;font-family:inherit;transition:all .2s ease;outline:none;box-sizing:border-box}.fp-field input::placeholder{color:#fff9}.fp-field input:focus{border-color:#00b4d880;background:#ffffff14;box-shadow:0 0 0 3px #00b4d81a,0 0 20px #00b4d80d}.fp-field input:-webkit-autofill,.fp-field input:-webkit-autofill:hover,.fp-field input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff;-webkit-box-shadow:0 0 0 1000px rgba(15,25,45,.95) inset;border-color:#ffffff26;transition:background-color 5000s ease-in-out 0s}.fp-submit{width:100%;padding:14px;border-radius:12px;border:none;background:linear-gradient(135deg,#0d2847,#164e7a,#00b4d8);color:#fff;font-size:16px;font-weight:600;font-family:inherit;letter-spacing:.3px;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;box-shadow:0 4px 15px #00b4d840;text-decoration:none}.fp-submit:hover:not(:disabled){background:linear-gradient(135deg,#0a1f3a,#13436a,#00a0c0);box-shadow:0 6px 20px #00b4d859;transform:translateY(-1px)}.fp-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #00b4d833}.fp-submit:disabled{opacity:.7;cursor:not-allowed}.fp-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:fpSpin .7s linear infinite}@keyframes fpSpin{to{transform:rotate(360deg)}}.fp-back-link{text-align:center;color:#00b4d8;font-size:13.5px;text-decoration:none;transition:color .2s;display:flex;align-items:center;justify-content:center;gap:6px}.fp-back-link:hover{color:#33c4e0;text-decoration:underline}.fp-message{padding:12px 16px;border-radius:10px;font-size:13.5px;text-align:center}.fp-message-error{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#fca5a5}.fp-message-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.25);color:#86efac}.fp-code-box{display:flex;flex-direction:column;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:20px 32px;margin:0 0 20px}.fp-code-label{font-size:14px;font-weight:600;color:#fffc}.fp-code-value{font-size:32px;font-weight:700;color:#fff;letter-spacing:4px}.fp-code-instructions{text-align:center;font-size:13.5px;color:#fff;line-height:1.5;margin:0 0 20px}.fp-code-instructions strong{color:#fff}.fp-expiry-warning{display:flex;align-items:flex-start;gap:10px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:14px 18px;margin-bottom:24px;font-size:13.5px;color:#fcd34d;line-height:1.5}.fp-expiry-warning svg{flex-shrink:0;margin-top:2px}.fp-footer{position:relative;z-index:10;margin-top:28px;text-align:center;color:#fff;font-size:12px}.fp-footer p{margin:0 0 6px}.fp-footer-links{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.fp-footer-links a{color:#fff;text-decoration:none;transition:color .2s}.fp-footer-links a:hover{color:#fff;text-decoration:underline}.fp-footer-dot{color:#fff3}@media(max-width:520px){.fp-card{padding:32px 24px 28px;border-radius:16px;max-width:100%}.fp-frame{width:calc(100% + 192px);height:calc(100% + 46px);border-radius:20px}.fp-logo{width:60px;height:60px}.fp-welcome h2{font-size:18px}.fp-field input{padding:12px 14px;font-size:14px}.fp-submit{padding:13px;font-size:15px}}@media(max-width:380px){.fp-card{padding:28px 18px 24px}.fp-frame{width:calc(100% + 128px);height:calc(100% + 32px);border-radius:18px}.fp-footer-links{flex-direction:column;gap:4px}.fp-footer-dot{display:none}}.sq-recon{padding:1.5rem 2rem;max-width:1200px}.sq-recon-header{margin-bottom:1.5rem}.sq-recon-header .breadcrumb{margin:0;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.sq-recon-header h1{margin:4px 0 0;font-size:22px;font-weight:500}.sq-recon-controls{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1rem;align-items:end;background:#f7f7f5;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.sq-recon .control-group{display:flex;flex-direction:column;gap:4px}.sq-recon .control-group label{font-size:12px;color:#555;font-weight:500}.sq-recon .file-dropzone{border:1.5px dashed #d0cec7;border-radius:6px;background:#fff;padding:14px 12px;text-align:center;cursor:pointer;font-size:13px;min-height:52px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.sq-recon .file-dropzone:hover{border-color:#888;background:#fafaf8}.sq-recon .file-dropzone.is-dragging{border-color:#1d1d1b;background:#f0efea;border-style:solid}.sq-recon .file-dropzone.has-file{border-style:solid;background:#f7f7f5;cursor:default;padding:10px 12px}.sq-recon .file-dropzone .file-prompt{color:#888;pointer-events:none}.sq-recon .file-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.sq-recon .file-row .file-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1d1d1b;font-size:13px;text-align:left}.sq-recon .file-remove{background:none;border:0;color:#888;font-size:18px;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer;flex-shrink:0;padding:0}.sq-recon .file-remove:hover{background:#ebe9e2;color:#791f1f}.sq-recon .date-inputs{display:flex;gap:6px;align-items:center}.sq-recon .date-inputs span{font-size:13px;color:#888}.sq-recon .btn-primary{background:#1d1d1b;color:#fff;border:0;padding:8px 18px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;height:36px}.sq-recon .btn-primary:disabled{opacity:.5;cursor:not-allowed}.sq-recon-error{background:#fcebeb;color:#791f1f;padding:10px 14px;border-radius:6px;margin-bottom:1rem;font-size:14px}.sq-recon-actions{display:flex;gap:8px;margin-bottom:1rem;align-items:center}.sq-recon-actions button{background:#fff;border:.5px solid #d0cec7;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer}.sq-recon-actions button:hover{background:#f7f7f5}.sq-recon-actions .spacer{flex:1}.sq-recon .summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem}.sq-recon .stat{background:#f7f7f5;border-radius:8px;padding:1rem}.sq-recon .stat-label{font-size:13px;color:#555}.sq-recon .stat-value{font-size:22px;font-weight:500;margin-top:4px}.sq-recon .stat-value.is-success{color:#0f6e56}.sq-recon .stat-value.is-warning{color:#854f0b}.sq-recon .stat-meta{font-size:12px;color:#888;margin-top:2px}.sq-recon .fee-summary{background:#f7f7f5;padding:1rem 1.25rem;border-radius:8px;margin-bottom:2rem}.sq-recon .fee-summary h3{margin:0 0 4px;font-size:14px;color:#555;font-weight:500}.sq-recon .fee-summary p{margin:0;font-size:16px}.sq-recon .deposits-list{display:flex;flex-direction:column;gap:8px}.sq-recon .deposit-block{background:#fff;border:.5px solid #d0cec7;border-radius:8px;overflow:hidden}.sq-recon .deposit-block.status-variance{border-color:#efb84a;border-width:1px}.sq-recon .deposit-block.status-unmatched{border-color:#c95252;border-width:1px}.sq-recon .deposit-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer}.sq-recon .deposit-header:hover{background:#f7f7f5}.sq-recon .deposit-summary .deposit-date{font-size:15px;font-weight:500}.sq-recon .deposit-date .date-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;font-weight:500;margin-right:4px}.sq-recon .deposit-summary .deposit-meta{font-size:12px;color:#888;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:2px}.sq-recon .deposit-amounts{display:flex;align-items:center;gap:16px}.sq-recon .post-amount{text-align:right}.sq-recon .post-amount .label{display:block;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.sq-recon .post-amount strong{font-size:18px;font-weight:500}.sq-recon .badge{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.sq-recon .badge-success{background:#e1f5ee;color:#0f6e56}.sq-recon .badge-warning{background:#faeeda;color:#854f0b}.sq-recon .badge-danger{background:#fcebeb;color:#791f1f}.sq-recon .toggle{font-size:18px;color:#888;width:20px;text-align:center}.sq-recon .deposit-details{border-top:.5px solid #ebe9e2;padding:12px 16px}.sq-recon .transactions-table,.sq-recon .basic-table{width:100%;border-collapse:collapse;font-size:13px}.sq-recon .transactions-table th,.sq-recon .basic-table th{text-align:left;font-weight:400;color:#888;padding:6px 8px;border-bottom:.5px solid #ebe9e2}.sq-recon .transactions-table td,.sq-recon .basic-table td{padding:6px 8px}.sq-recon .transactions-table tfoot td{border-top:.5px solid #d0cec7;font-weight:500;padding-top:8px}.sq-recon .transactions-table .num,.sq-recon .basic-table .num{text-align:right;font-variant-numeric:tabular-nums}.sq-recon .reconciliation{margin-top:12px;padding:10px 12px;background:#f7f7f5;border-radius:6px}.sq-recon .recon-line{display:flex;justify-content:space-between;font-size:13px;padding:2px 0}.sq-recon .recon-line.is-variance{color:#854f0b;border-top:.5px solid #d0cec7;margin-top:4px;padding-top:6px}.sq-recon .unmatched-bank{margin-top:2rem}.sq-recon .unmatched-bank .hint{font-size:13px;color:#888;margin-bottom:8px}@media print{.sq-recon-controls,.sq-recon-actions{display:none}}.naid-page{display:flex;flex-direction:column;gap:16px}.naid-page-head h1{margin:0 0 4px;font-size:22px;color:#1b3a5f}.naid-page-sub{margin:0;color:#64748b;font-size:13px}.naid-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;padding:0}.naid-tab{background:transparent;border:none;border-bottom:3px solid transparent;padding:10px 16px;font:inherit;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;margin-bottom:-1px}.naid-tab:hover{color:#1b3a5f}.naid-tab.is-active{color:#1b3a5f;border-bottom-color:#00b4d8}.naid-section{display:flex;flex-direction:column;gap:12px}.naid-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.naid-section-head h2{margin:0;font-size:18px;color:#1b3a5f}.naid-section-actions{display:flex;align-items:center;gap:8px}.naid-input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:13px;background:#fff;color:#0f2340;width:100%;box-sizing:border-box}.naid-input:focus{outline:none;border-color:#00b4d8;box-shadow:0 0 0 3px #00b4d82e}.naid-input-small{width:100px}.naid-input-title{font-size:16px;font-weight:600}.naid-btn{background:#fff;border:1px solid #cbd5e1;color:#1b3a5f;padding:8px 14px;border-radius:6px;font:inherit;font-size:13px;cursor:pointer}.naid-btn:hover:not(:disabled){background:#f1f5f9}.naid-btn:disabled{opacity:.5;cursor:not-allowed}.naid-btn-primary{background:#1b3a5f;color:#fff;border-color:#1b3a5f}.naid-btn-primary:hover:not(:disabled){background:#0f2340}.naid-btn-danger{background:#fff;color:#b91c1c;border-color:#fecaca}.naid-btn-danger:hover:not(:disabled){background:#fef2f2}.naid-btn-link{background:transparent;border:none;color:#00b4d8;padding:4px 8px;cursor:pointer;font-weight:600;font-size:12px}.naid-btn-link:hover{text-decoration:underline}.naid-btn-danger-text{color:#b91c1c}.naid-icon-btn{background:transparent;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:4px 8px}.naid-icon-btn:hover{color:#0f2340}.naid-empty{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;text-align:center;color:#94a3b8;font-size:13px}.naid-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:6px;padding:10px 12px;font-size:13px}.naid-muted{color:#94a3b8}.naid-mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.naid-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.naid-table th,.naid-table td{text-align:left;padding:10px 12px;font-size:13px;border-bottom:1px solid #f1f5f9;vertical-align:top}.naid-table th{background:#f8fafc;color:#475569;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.naid-table tbody tr:hover{background:#f8fafc}.naid-table tbody tr.is-selected{background:#ecfeff}.naid-table tbody tr:last-child td{border-bottom:none}.naid-row-actions{display:flex;gap:4px}.naid-doc-title{font-weight:500;color:#0f2340}.naid-doc-sub{font-size:11px;color:#64748b;margin-top:2px}.naid-doc-sub a{color:#00b4d8;text-decoration:none}.naid-doc-sub a:hover{text-decoration:underline}.naid-link-btn{background:transparent;border:none;padding:0;color:#00b4d8;font:inherit;font-size:11px;cursor:pointer;text-align:left}.naid-link-btn:hover{text-decoration:underline}.naid-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600}.naid-pill-ready{background:#dcfce7;color:#166534}.naid-pill-progress{background:#dbeafe;color:#1e40af}.naid-pill-update{background:#fef3c7;color:#92400e}.naid-pill-missing{background:#fee2e2;color:#991b1b}.naid-pill-na{background:#e2e8f0;color:#475569}.naid-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#e0f2fe;color:#075985}.naid-doctype{display:inline-block;padding:2px 6px;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:.5px;text-align:center;min-width:36px}.naid-doctype-pdf{background:#fee2e2;color:#991b1b}.naid-doctype-internal{background:#dbeafe;color:#1e40af}.naid-doctype-external{background:#fef3c7;color:#92400e}.naid-field{display:flex;flex-direction:column;gap:4px}.naid-field span{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.4px}.naid-field-row{display:flex;gap:12px}.naid-field-row .naid-field{flex:1}.naid-field-inline{flex-direction:row;align-items:center;gap:8px}.naid-field-inline span{text-transform:none;letter-spacing:0;font-size:12px}.naid-field-hint{font-size:11px;color:#94a3b8;font-style:italic}.naid-modal-overlay{position:fixed;inset:0;background:#0f172a8c;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.naid-modal{background:#fff;border-radius:12px;max-width:720px;width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 24px 60px #00000059}.naid-modal-narrow{max-width:480px}.naid-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.naid-modal-head h3{margin:0;font-size:16px;color:#1b3a5f}.naid-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.naid-modal-foot{padding:12px 20px;border-top:1px solid #e2e8f0;display:flex;align-items:center;gap:8px;background:#f8fafc;border-radius:0 0 12px 12px}.naid-dropzone-wrap{display:flex;flex-direction:column;gap:6px}.naid-dropzone-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.naid-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 16px;border:2px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;text-align:center;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.naid-dropzone:hover,.naid-dropzone:focus{border-color:#00b4d8;background:#f0f9ff;color:#1b3a5f;outline:none}.naid-dropzone.is-active{border-color:#00b4d8;border-style:solid;background:#ecfeff;color:#0f2340}.naid-dropzone-icon{font-size:26px;line-height:1;color:#94a3b8}.naid-dropzone.is-active .naid-dropzone-icon{color:#00b4d8}.naid-dropzone-prompt{font-size:14px}.naid-dropzone-prompt strong{color:#1b3a5f;font-weight:600}.naid-dropzone-hint{font-size:11px;color:#94a3b8}.naid-dropzone-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #00B4D8;background:#f0fdff;border-radius:8px}.naid-dropzone-file-name{flex:1;font-size:13px;color:#0f2340;font-weight:500;word-break:break-all}.naid-dropzone-file-size{font-size:11px;color:#64748b;white-space:nowrap}.naid-dropzone-error{font-size:12px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:6px 10px}.naid-codebox{display:block;background:#0f2340;color:#4ade80;padding:12px 14px;border-radius:8px;font-family:ui-monospace,Menlo,monospace;font-size:14px;text-align:center;letter-spacing:1px;-webkit-user-select:all;user-select:all}.naid-cw-group{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.naid-cw-group+.naid-cw-group{margin-top:12px}.naid-cw-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:#f8fafc;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;font:inherit}.naid-cw-group-head:hover{background:#f1f5f9}.naid-cw-chevron{color:#94a3b8;font-size:11px;transition:transform .12s ease;width:12px}.naid-cw-chevron.is-open{transform:rotate(90deg)}.naid-cw-group-name{flex:1;font-weight:600;color:#1b3a5f}.naid-cw-group-count{color:#64748b;font-size:12px}.naid-cw-body{padding:4px 0}.naid-cw-row{padding:12px 18px;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:8px}.naid-cw-row:last-child{border-bottom:none}.naid-cw-row.is-na{opacity:.55;background:#fafafa}.naid-cw-row-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.naid-cw-code{font-family:ui-monospace,Menlo,monospace;font-weight:700;color:#0f2340;background:#eef2f7;padding:3px 8px;border-radius:4px;min-width:60px;text-align:center;font-size:12px}.naid-cw-title{flex:1;font-size:13px;color:#1e293b}.naid-cw-meta{display:flex;gap:6px}.naid-cw-applicable{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.naid-cw-verifies{display:flex;gap:8px;padding:6px 10px 6px 76px;font-size:12px;line-height:1.45;color:#475569}.naid-cw-verifies-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#94a3b8;white-space:nowrap;flex-shrink:0;padding-top:2px}.naid-cw-verifies-text{color:#334155}.naid-badge-level{background:#ede9fe;color:#5b21b6}.naid-cw-docs{padding-left:72px;display:flex;flex-direction:column;gap:6px}.naid-cw-docs-empty{font-size:12px;color:#94a3b8;font-style:italic}.naid-cw-doc{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#f8fafc;border-radius:6px;font-size:13px}.naid-cw-doc-title{flex:1;color:#334155}.naid-cw-doc-version{color:#64748b;font-size:11px}.naid-cw-attach{max-width:320px}.naid-app-grid{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.naid-app-list{display:flex;flex-direction:column;gap:8px}.naid-app-list-item{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:4px}.naid-app-list-item:hover{border-color:#00b4d8}.naid-app-list-item.is-active{border-color:#00b4d8;background:#ecfeff}.naid-app-list-year{font-weight:700;font-size:18px;color:#1b3a5f}.naid-app-list-title{font-size:12px;color:#475569}.naid-app-list-meta{display:flex;align-items:center;gap:8px;font-size:11px}.naid-app-detail{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;min-height:480px}.naid-app-editor{display:flex;flex-direction:column;gap:14px}.naid-app-editor-head{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.naid-app-editor-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.naid-app-items-head{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.naid-app-items-head h3{margin:0;font-size:14px;color:#1b3a5f}.naid-app-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.naid-app-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.naid-app-item-head{display:flex;align-items:center;gap:12px}.naid-app-item-order{background:#eef2f7;color:#475569;padding:2px 8px;border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.naid-app-item-labels{flex:1}.naid-app-item-part{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.naid-app-item-label{font-size:13px;color:#0f2340;font-weight:500}.naid-app-item-actions{display:flex;align-items:center;gap:6px}.naid-app-item-response{font-size:12px;color:#475569;margin-top:6px}.naid-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.naid-log-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px}.naid-log-filters .naid-input{width:auto;min-width:140px}.tech-msgr{position:fixed;inset:0 0 calc(64px + env(safe-area-inset-bottom,0px)) 0;display:flex;flex-direction:column;background:#fff;overflow:hidden;z-index:50}.tech-msgr-header{display:flex;align-items:center;padding:10px 8px;border-bottom:1px solid #e5e5ea;background:#fffffff2;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);position:sticky;top:0;z-index:1;padding-top:max(var(--tc-safe-top),10px)}.tech-msgr-header-title{flex:1;text-align:center;font-size:17px;font-weight:700}.tech-msgr-back{appearance:none;background:transparent;border:none;font-size:28px;line-height:1;color:#007aff;cursor:pointer;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.tech-msgr-new{appearance:none;background:transparent;border:none;color:#007aff;cursor:pointer;width:36px;height:36px;font-size:20px;display:inline-flex;align-items:center;justify-content:center}.tech-msgr-list{flex:1;overflow-y:auto}.tech-msgr-empty{padding:64px 24px;text-align:center;color:#8e8e93}.tech-msgr-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f2f2f2;cursor:pointer;position:relative}.tech-msgr-row:hover,.tech-msgr-row:active{background:#f2f2f7}.tech-msgr-row-meta{flex:1;min-width:0}.tech-msgr-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tech-msgr-row-title{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-msgr-row-time{font-size:12px;color:#8e8e93;white-space:nowrap}.tech-msgr-row-preview{font-size:13px;color:#8e8e93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-msgr-row.unread .tech-msgr-row-title{font-weight:700}.tech-msgr-row-dot{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:#007aff}.tech-msgr-feed{display:flex;flex-direction:column;height:100%}.tech-msgr-feed-header{display:flex;align-items:center;padding:8px 6px;border-bottom:1px solid #e5e5ea;background:#fffffff2;-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);position:sticky;top:0;z-index:1;padding-top:max(var(--tc-safe-top),8px)}.tech-msgr-feed-title{flex:1;text-align:center;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-msgr-feed-body{flex:1;overflow-y:auto;padding:10px 10px 6px;display:flex;flex-direction:column;gap:2px}.tech-msgr-feed .composer{padding-bottom:max(env(safe-area-inset-bottom),10px)}.tech-msgr-load{padding:20px;text-align:center;color:#8e8e93;font-size:13px}html,body{max-width:100vw;overflow-x:hidden;overflow-x:clip}*,*:before,*:after{box-sizing:border-box}:root{--tc-navy: #1B3A5F;--tc-navy-dark: #0F2340;--tc-cyan: #00B4D8;--tc-green: #2D6A4F;--tc-red: #dc2626;--tc-orange: #f59e0b;--tc-bg: #f0f2f5;--tc-card: #ffffff;--tc-border: #e2e8f0;--tc-text: #1e293b;--tc-muted: #64748b;--tc-light: #94a3b8;--tc-safe-top: env(safe-area-inset-top, 0px)}@media(display-mode:standalone){:root{--tc-safe-top: max(env(safe-area-inset-top, 0px), 20px)}}.tc-shell{min-height:100vh;min-height:100dvh;max-width:100vw;overflow-x:hidden;overflow-x:clip;background:var(--tc-bg);font-family:-apple-system,Inter,system-ui,sans-serif;padding-top:var(--tc-safe-top);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));box-sizing:border-box;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tc-header{background:var(--tc-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;position:sticky;top:var(--tc-safe-top);z-index:100}.tc-header-btn{background:none;border:none;color:var(--tc-cyan);font-size:16px;font-weight:600;padding:8px 12px;min-height:44px;min-width:44px;display:flex;align-items:center;cursor:pointer}.tc-header-title{font-size:18px;font-weight:700;letter-spacing:.3px}.tc-header-hamburger{font-size:24px;line-height:1}.tc-date-banner{background:var(--tc-navy-dark);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500}.tc-date-banner svg{flex-shrink:0}.tc-search-bar{padding:10px 16px;background:#fff;border-bottom:1px solid var(--tc-border)}.tc-search-input{width:100%;padding:12px 16px;border:1px solid var(--tc-border);border-radius:10px;font-size:16px;background:#f8fafc;outline:none;-webkit-appearance:none;box-sizing:border-box}.tc-search-input:focus{border-color:var(--tc-cyan);background:#fff}.tc-offline{background:var(--tc-red);color:#fff;text-align:center;padding:8px;font-size:14px;font-weight:600}.tc-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--tc-navy);display:flex;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);z-index:200;border-top:1px solid rgba(255,255,255,.1)}.tc-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#ffffff80;font-size:11px;font-weight:600;gap:4px;padding:8px 0;min-height:44px}.tc-nav-item.active{color:var(--tc-cyan)}.tc-nav-icon{font-size:22px}.tc-nav-label{letter-spacing:.3px}.tc-job-list{padding:12px 12px 16px;display:flex;flex-direction:column;gap:10px}.tc-job-card{background:var(--tc-card);border:1px solid var(--tc-border);border-radius:12px;box-shadow:0 1px 3px #0f23400f;overflow:hidden}.tc-job-card.completed{opacity:.6}.tc-job-card.linked-secondary{opacity:.55}.tc-job-card-inner{display:flex;min-height:132px}.tc-job-map{width:140px;min-height:140px;flex-shrink:0;position:relative;background:#e2e8f0;overflow:hidden}.tc-job-map img{width:100%;height:100%;object-fit:cover;display:block}.tc-job-map-address{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:11px;padding:4px 6px;line-height:1.3}.tc-job-map-check{position:absolute;top:8px;right:8px;width:28px;height:28px;background:var(--tc-green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700}.tc-job-info{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:5px;min-width:0}.tc-job-stop{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--tc-navy);color:#fff;border-radius:50%;font-size:13px;font-weight:700;flex-shrink:0}.tc-job-header{display:flex;align-items:center;gap:8px}.tc-job-datetime{font-size:15px;font-weight:700;color:var(--tc-text)}.tc-job-company{font-size:16px;font-weight:700;color:var(--tc-navy)}.tc-job-contact{font-size:13px;color:var(--tc-muted)}.tc-job-notes-line{font-size:12px;color:var(--tc-muted);margin-top:2px}.tc-job-notes-line:before{content:"> ";color:var(--tc-light)}.tc-job-items-link{font-size:12px;color:var(--tc-light);text-align:right;margin-top:auto;cursor:pointer}.tc-job-actions{display:flex;border-top:1px solid var(--tc-border)}.tc-job-action-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 0;background:var(--tc-navy);color:#fff;border:none;border-right:1px solid rgba(255,255,255,.15);font-size:18px;cursor:pointer;min-height:48px}.tc-job-action-btn:last-child{border-right:none}.tc-job-action-btn:active{background:var(--tc-navy-dark)}.tc-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:300;opacity:0;pointer-events:none;transition:opacity .3s}.tc-menu-overlay.open{opacity:1;pointer-events:auto}.tc-menu-panel{position:fixed;top:0;right:-70%;bottom:0;width:65%;max-width:400px;background:#fff;z-index:301;transition:right .3s ease;overflow-y:auto;display:flex;flex-direction:column}.tc-menu-panel.open{right:0}.tc-menu-header{background:var(--tc-navy);padding:calc(24px + var(--tc-safe-top)) 20px 24px;color:#fff}.tc-menu-header h3{font-size:18px;font-weight:700;margin:0}.tc-menu-header p{font-size:13px;color:#fff9;margin:4px 0 0}.tc-menu-section{padding:8px 0;border-bottom:1px solid var(--tc-border)}.tc-menu-item{display:flex;align-items:center;padding:14px 20px;gap:14px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:16px;color:var(--tc-text);min-height:48px;font-family:inherit}.tc-menu-item:active{background:#f8fafc}.tc-menu-item-icon{width:24px;text-align:center;font-size:18px;color:var(--tc-muted)}.tc-menu-item-label{flex:1}.tc-menu-item-badge{background:var(--tc-cyan);color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px}.tc-menu-item-status{font-size:12px;color:var(--tc-muted)}.tc-menu-item.active-state{color:var(--tc-green);font-weight:600}.tc-menu-item.active-state .tc-menu-item-icon{color:var(--tc-green)}.tc-login{min-height:100vh;background:var(--tc-navy);display:flex;align-items:center;justify-content:center;padding:20px}.tc-login-card{width:100%;max-width:400px;text-align:center}.tc-login-act{color:#fff;font-size:56px;font-weight:900;letter-spacing:8px;margin-bottom:2px}.tc-login-brand{color:var(--tc-cyan);font-size:22px;font-weight:700;letter-spacing:3px;margin-bottom:6px}.tc-login-sub{color:#ffffff80;font-size:14px;margin-bottom:40px;letter-spacing:1px}.tc-login-logo{width:80px;height:80px;margin:0 auto 20px;border-radius:0;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:36px}.tc-login-form{display:flex;flex-direction:column;gap:14px}.tc-login-input{padding:16px 18px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff14;color:#fff;font-size:18px;outline:none;-webkit-appearance:none}.tc-login-input::placeholder{color:#ffffff59}.tc-login-input:focus{border-color:var(--tc-cyan);background:#ffffff1f}.tc-login-btn{padding:16px;background:var(--tc-cyan);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;margin-top:8px}.tc-login-btn:disabled{opacity:.5}.tc-login-error{background:#dc262626;color:#fca5a5;padding:12px;border-radius:8px;font-size:14px}.tc-detail-header{background:var(--tc-navy);color:#fff;display:flex;align-items:center;padding:0 16px;height:56px;position:sticky;top:var(--tc-safe-top);z-index:100}.tc-detail-back{background:none;border:none;color:var(--tc-cyan);font-size:24px;padding:8px 12px 8px 0;cursor:pointer;min-height:44px;min-width:44px;display:flex;align-items:center}.tc-detail-company{font-size:18px;font-weight:700;flex:1;text-align:center;margin-right:44px}.tc-detail-split{display:flex;min-height:calc(100vh - 120px)}.tc-detail-left{flex:1;overflow-y:auto;border-right:1px solid var(--tc-border);padding:16px}.tc-detail-right{flex:1;overflow-y:auto;padding:16px}.tc-detail-section{margin-bottom:20px}.tc-detail-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--tc-muted);margin-bottom:10px;display:flex;align-items:center;gap:8px}.tc-detail-section-badge{background:var(--tc-cyan);color:#fff;font-size:11px;padding:1px 7px;border-radius:8px}.tc-detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:15px}.tc-detail-label{color:var(--tc-muted);font-size:14px}.tc-detail-value{color:var(--tc-text);font-weight:500;text-align:right}.tc-detail-address{font-size:15px;color:var(--tc-text);line-height:1.5}.tc-detail-nav-btn{display:inline-flex;align-items:center;gap:6px;color:var(--tc-cyan);font-size:14px;font-weight:600;padding:8px 0;border:none;background:none;cursor:pointer}.tc-detail-notes{background:#f8fafc;border-radius:8px;padding:12px;font-size:14px;color:var(--tc-text);line-height:1.5}.tc-appointment-bar{background:var(--tc-navy);color:#fff;padding:12px 16px;border-radius:8px;font-size:15px;font-weight:600;margin-bottom:16px}.tc-status-options{display:flex;flex-direction:column;gap:8px}.tc-status-btn{padding:14px 16px;border-radius:10px;border:2px solid var(--tc-border);background:#fff;font-size:16px;font-weight:600;cursor:pointer;text-align:left;min-height:48px}.tc-status-btn:active{background:#f8fafc}.tc-status-btn.active-none{border-color:var(--tc-light);background:#f8fafc;color:var(--tc-muted)}.tc-status-btn.active-progress{border-color:var(--tc-cyan);background:#e0f7fa;color:var(--tc-navy)}.tc-status-btn.active-complete{border-color:var(--tc-green);background:#f0fdf4;color:var(--tc-green)}.tc-status-btn.active-cannot{border-color:var(--tc-red);background:#fef2f2;color:var(--tc-red)}.tc-notes-header{background:var(--tc-navy);color:#fff;padding:10px 14px;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600}.tc-notes-edit-btn{background:none;border:none;color:var(--tc-cyan);font-size:18px;cursor:pointer;padding:4px 8px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}.tc-notes-list{background:#f8fafc;border:1px solid var(--tc-border);border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto}.tc-note-item{padding:10px 14px;border-bottom:1px solid #f1f5f9;font-size:13px}.tc-note-item:last-child{border-bottom:none}.tc-note-author{font-weight:600;color:var(--tc-navy)}.tc-note-date{color:var(--tc-light);font-size:11px;margin-left:8px}.tc-note-text{color:var(--tc-text);margin-top:2px}.tc-note-add-wrap{padding:10px 14px;background:#fff;border:1px solid var(--tc-border);border-top:none;display:flex;gap:8px}.tc-note-add-input{flex:1;padding:10px 14px;border:1px solid var(--tc-border);border-radius:8px;font-size:14px;outline:none;font-family:inherit}.tc-note-add-btn{padding:10px 16px;background:var(--tc-cyan);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;min-height:44px}.tc-items-header{background:var(--tc-navy);color:#fff;padding:10px 14px;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600}.tc-items-list{background:#f8fafc;border:1px solid var(--tc-border);border-top:none;border-radius:0 0 8px 8px}.tc-item-row{padding:10px 14px;display:flex;justify-content:space-between;border-bottom:1px solid #f1f5f9;font-size:14px}.tc-item-row:last-child{border-bottom:none}.tc-form-page{padding:16px;max-width:600px;margin:0 auto}.tc-form-page h2{font-size:20px;font-weight:700;color:var(--tc-navy);margin-bottom:20px}.tc-form-group{margin-bottom:18px}.tc-form-label{display:block;font-size:14px;font-weight:600;color:var(--tc-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.tc-form-input{width:100%;padding:14px 16px;border:1px solid var(--tc-border);border-radius:10px;font-size:18px;outline:none;-webkit-appearance:none;background:#fff;box-sizing:border-box}.tc-form-input:focus{border-color:var(--tc-cyan)}.tc-form-textarea{width:100%;padding:14px 16px;border:1px solid var(--tc-border);border-radius:10px;font-size:16px;outline:none;min-height:120px;resize:vertical;font-family:inherit;background:#fff;box-sizing:border-box}.tc-form-textarea:focus{border-color:var(--tc-cyan)}.tc-flags-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tc-flag-item{display:flex;align-items:center;gap:10px;padding:12px;border:2px solid var(--tc-border);border-radius:10px;cursor:pointer;font-size:14px;min-height:48px;background:#fff}.tc-flag-item.checked{border-color:var(--tc-cyan);background:#e0f7fa}.tc-flag-check{width:22px;height:22px;border:2px solid var(--tc-border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent;font-size:14px}.tc-flag-item.checked .tc-flag-check{background:var(--tc-cyan);border-color:var(--tc-cyan);color:#fff}.tc-reason-list{display:flex;flex-direction:column;gap:8px}.tc-reason-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--tc-border);border-radius:10px;cursor:pointer;font-size:16px;min-height:52px;background:#fff}.tc-reason-item.selected{border-color:var(--tc-red);background:#fef2f2}.tc-reason-radio{width:22px;height:22px;border:2px solid var(--tc-border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.tc-reason-item.selected .tc-reason-radio{border-color:var(--tc-red)}.tc-reason-item.selected .tc-reason-radio:after{content:"";width:12px;height:12px;background:var(--tc-red);border-radius:50%}.tc-signature-wrap{border:2px solid var(--tc-border);border-radius:10px;overflow:hidden;background:#fff}.tc-signature-wrap canvas{display:block;width:100%;touch-action:none}.tc-signature-clear{display:block;width:100%;padding:10px;background:#f8fafc;border:none;border-top:1px solid var(--tc-border);color:var(--tc-red);font-size:14px;font-weight:600;cursor:pointer}.tc-submit-btn{width:100%;padding:16px;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;margin-top:12px}.tc-submit-btn.primary{background:var(--tc-green);color:#fff}.tc-submit-btn.danger{background:var(--tc-red);color:#fff}.tc-submit-btn:disabled{opacity:.5;cursor:default}.tc-history-group{margin-top:0}.tc-history-date{padding:10px 16px;background:#f1f5f9;font-size:14px;font-weight:700;color:var(--tc-navy);border-bottom:1px solid var(--tc-border);position:sticky;top:calc(56px + var(--tc-safe-top));z-index:10}.tc-history-item{padding:14px 16px;border-bottom:1px solid var(--tc-border);background:#fff}.tc-history-item-top{display:flex;justify-content:space-between;align-items:center}.tc-history-company{font-weight:600;font-size:15px;color:var(--tc-text)}.tc-history-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px}.tc-history-status.completed{background:#dcfce7;color:var(--tc-green)}.tc-history-status.cannot{background:#fef2f2;color:var(--tc-red)}.tc-history-meta{font-size:13px;color:var(--tc-muted);margin-top:4px}.tc-summary{padding:20px 16px}.tc-summary h2{font-size:22px;font-weight:700;color:var(--tc-navy);margin-bottom:20px;text-align:center}.tc-summary-card{background:#fff;border-radius:12px;border:1px solid var(--tc-border);overflow:hidden;margin-bottom:16px}.tc-summary-card-title{background:#f8fafc;padding:10px 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--tc-muted);border-bottom:1px solid var(--tc-border)}.tc-summary-row{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:15px}.tc-summary-row:last-child{border-bottom:none}.tc-summary-label{color:var(--tc-muted)}.tc-summary-value{font-weight:600;color:var(--tc-text)}.tc-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:400;display:flex;align-items:center;justify-content:center;padding:20px}.tc-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto}.tc-modal-header{padding:16px 20px;border-bottom:1px solid var(--tc-border);display:flex;align-items:center;justify-content:space-between}.tc-modal-header h3{font-size:18px;font-weight:700;margin:0}.tc-modal-close{background:none;border:none;font-size:24px;color:var(--tc-muted);cursor:pointer;min-height:44px;min-width:44px}.tc-modal-body{padding:20px}.tc-modal-footer{padding:16px 20px;border-top:1px solid var(--tc-border);display:flex;gap:8px}.tc-forms-list{display:flex;flex-direction:column;gap:8px}.tc-form-type-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--tc-border);border-radius:10px;background:#fff;cursor:pointer;font-size:16px;min-height:52px;width:100%;text-align:left;font-family:inherit}.tc-form-type-btn:active{background:#f8fafc}.tc-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:10px;font-size:12px;font-weight:600}.tc-badge-info{background:#e0f7fa;color:var(--tc-cyan)}.tc-badge-success{background:#dcfce7;color:var(--tc-green)}.tc-badge-danger{background:#fef2f2;color:var(--tc-red)}.tc-badge-warning{background:#fef3c7;color:#92400e}.tc-alert{padding:12px 16px;border-radius:10px;font-size:14px;margin:10px 16px}.tc-alert-success{background:#dcfce7;color:var(--tc-green)}.tc-alert-error{background:#fef2f2;color:var(--tc-red)}.tc-alert-info{background:#e0f7fa;color:#0e7490}@media(max-width:768px){.tc-detail-split{flex-direction:column}.tc-detail-left{border-right:none;border-bottom:1px solid var(--tc-border)}.tc-flags-grid{grid-template-columns:1fr}.tc-job-map{width:120px;min-height:120px}.tc-shell{width:100vw}.tc-header{width:100%}.tc-detail-header{flex-wrap:wrap}.tc-job-card{width:100%}.tc-form-control{max-width:100%}.tc-summary-card{width:100%}img{max-width:100%;height:auto}}@media(min-width:769px){.tc-job-map{width:180px;min-height:160px}}@media(min-width:1024px){.tc-job-card-inner{min-height:160px}.tc-job-map{width:200px}}.tech-rich-instructions{overflow-x:hidden;word-break:break-word;overflow-wrap:break-word}.tech-rich-instructions img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}.tech-rich-instructions h1,.tech-rich-instructions h2,.tech-rich-instructions h3{margin:12px 0 6px;word-break:break-word}.tech-rich-instructions ul,.tech-rich-instructions ol{margin:6px 0;padding-left:20px}.tech-rich-instructions p{margin:4px 0;word-break:break-word;overflow-wrap:break-word}.tech-rich-instructions table{max-width:100%;table-layout:fixed;word-break:break-word}.tech-rich-instructions pre,.tech-rich-instructions code{white-space:pre-wrap;word-break:break-all;max-width:100%;overflow-x:hidden}@keyframes tech-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tech-urgency-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef44448c}50%{transform:scale(1.25);box-shadow:0 0 0 6px #ef444400}}.tc-urgency-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#ef4444;border:1.5px solid #fff;box-sizing:border-box;flex-shrink:0;vertical-align:middle}.tc-urgency-dot.slow{animation:tech-urgency-pulse 3s ease-in-out infinite}.tc-urgency-dot.med{animation:tech-urgency-pulse 2s ease-in-out infinite}.tc-urgency-dot.fast{animation:tech-urgency-pulse 1.2s ease-in-out infinite}.tc-urgency-dot.critical{background:#b91c1c;animation:tech-urgency-pulse .7s ease-in-out infinite}.tc-urgency-dot.late-static{background:#991b1b;animation:none}.tc-urgency-label{font-size:13px;font-weight:800;letter-spacing:.4px;white-space:nowrap}@keyframes tech-urgency-text-pulse{0%,to{opacity:1}50%{opacity:.3}}.tc-urgency-label.late{animation:tech-urgency-text-pulse .9s ease-in-out infinite}.tc-sheet{max-height:92vh;max-height:calc(100dvh - var(--tc-safe-top) - 12px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.tc-sheet-head{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px 0 12px;margin-bottom:4px;border-bottom:1px solid #f1f5f9}.tc-sheet-max{max-height:92vh;max-height:calc(100dvh - var(--tc-safe-top) - 24px)}.portal-login{--pl-green: #2D8C57;--pl-green-hover: #236F46;--pl-green-text: #4ECB7A;--pl-text: #FFFFFF;--pl-muted: #CBD5E1;--pl-soft: #94A3B8;--pl-border: #38526A;--pl-field: #0F2236;--pl-rule: rgba(148, 163, 184, .28)}.portal-login .portal-login-brand{gap:10px}.portal-login .login-welcome h2{font-size:26px}.portal-login .login-description{color:var(--pl-muted)}.portal-login .portal-login-form{display:flex;flex-direction:column;gap:16px}.portal-login .portal-field{margin:0}.portal-login .portal-field label{font-size:13px;font-weight:500;color:var(--pl-muted);margin-bottom:6px}.portal-login .portal-field input{height:46px;padding:0 14px;border:1px solid var(--pl-border);border-radius:8px;background:var(--pl-field);color:#fff;font-size:15px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.portal-login .portal-field input::placeholder{color:var(--pl-soft)}.portal-login .portal-field input:focus,.portal-login .portal-field input:focus-visible{outline:none;border-color:var(--pl-green);box-shadow:0 0 0 3px #2d8c5747}.portal-login .portal-field input:-webkit-autofill,.portal-login .portal-field input:-webkit-autofill:hover,.portal-login .portal-field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px var(--pl-field) inset;border-color:var(--pl-border);transition:background-color 5000s ease-in-out 0s}.portal-login .portal-otp-input{font-size:22px!important;letter-spacing:6px}.portal-login .portal-otp-input::placeholder{color:#ffffff4d}.portal-login .portal-btn.primary{height:48px;margin-top:4px;border:none;border-radius:8px;background:linear-gradient(90deg,#33A066 0%,var(--pl-green) 100%);color:#fff;font-size:16px;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 10px #2d8c5738;transition:background .15s ease,filter .15s ease,box-shadow .15s ease}.portal-login .portal-btn.primary:hover:not(:disabled){background:linear-gradient(90deg,#2D8C57 0%,var(--pl-green-hover) 100%);box-shadow:0 4px 14px #2d8c5752}.portal-login .portal-btn.primary:active:not(:disabled){filter:brightness(.96)}.portal-login .portal-btn.primary:focus-visible{outline:2px solid #fff;outline-offset:2px}.portal-login .portal-btn.primary:disabled{opacity:.7;cursor:not-allowed}.portal-login .portal-alert{border-radius:8px;font-size:13.5px;line-height:1.4;margin-bottom:16px}.portal-login .portal-alert.error{background:#ef444424;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.portal-login .portal-alert.success{background:#13302a;border:1px solid rgba(78,203,122,.35);color:#d7f2e1}.portal-login .portal-otp-hint{color:var(--pl-muted)}.portal-login .portal-login-hint{text-align:center;font-size:12.5px;line-height:1.5;color:var(--pl-muted);margin:14px 0 0}.portal-login .portal-login-links{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px}.portal-login .portal-login-forgot,.portal-login .portal-otp-link,.portal-login .portal-login-footer a{color:var(--pl-green-text);font-size:14px;text-decoration:none}.portal-login .portal-login-forgot:hover,.portal-login .portal-otp-link:hover:not(:disabled),.portal-login .portal-login-footer a:hover{text-decoration:underline}.portal-login .portal-login-forgot:focus-visible,.portal-login .portal-otp-link:focus-visible{outline:2px solid var(--pl-green-text);outline-offset:2px;border-radius:4px}.portal-login .portal-otp-link:disabled{color:var(--pl-soft);text-decoration:none;cursor:default}.portal-login .portal-otp-actions{margin-top:16px}.portal-login .portal-login-assist{margin:0;font-size:12.5px;color:var(--pl-soft);text-align:center}.portal-login .portal-login-assist a{color:var(--pl-muted);text-decoration:none}.portal-login .portal-login-assist a:hover{color:var(--pl-green-text);text-decoration:underline}.portal-login .portal-login-legal{font-size:11.5px;color:var(--pl-soft)}.portal-login .portal-login-legal .login-footer-rule{background:var(--pl-rule);margin-bottom:14px}.portal-login .portal-login-legal .login-footer-links{gap:0}.portal-login .portal-login-legal-item{display:inline-flex;align-items:center}.portal-login .portal-login-legal .login-footer-dot{color:#94a3b880;margin:0 10px}.portal-login .portal-login-legal a{color:var(--pl-muted);text-decoration:none;padding:4px 2px;border-radius:4px}.portal-login .portal-login-legal a:hover{color:var(--pl-green-text);text-decoration:underline}.portal-login .portal-login-legal a:focus-visible{outline:2px solid var(--pl-green-text);outline-offset:1px}@media(max-height:820px)and (min-width:901px){.portal-login .login-welcome h2{font-size:23px}.portal-login .portal-login-links{margin-top:12px}}@media(max-width:900px){.portal-login .portal-field input{height:48px;font-size:16px}.portal-login .portal-login-legal .login-footer-links{flex-wrap:wrap;row-gap:4px}}html,body{max-width:100vw;overflow-x:hidden}.portal-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f2340,#081525);padding:20px}.portal-login-card{background:#fff;border-radius:12px;padding:40px 32px;width:100%;max-width:420px;box-shadow:0 8px 32px #0003}.portal-login-header{text-align:center;margin-bottom:24px}.portal-login-logo{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:14px;margin-bottom:14px;overflow:hidden}.portal-login-logo img{width:100%;height:100%;object-fit:cover;border-radius:14px}.portal-login-header h1{font-size:22px;color:#1b3a5f;font-weight:700}.portal-login-header p{font-size:14px;color:#64748b;margin-top:4px}.portal-login-footer{text-align:center;margin-top:16px}.portal-login-footer a{color:#2d6a4f;font-size:13px}.portal-field{margin-bottom:16px}.portal-field label{display:block;font-size:12px;font-weight:600;color:#64748b;margin-bottom:5px}.portal-field input,.portal-field select{display:block;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;background:#fff}.portal-field input:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1f}.portal-field input:disabled{background:#f8fafc;color:#64748b}.portal-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:6px;font-size:14px;font-weight:500;border:1px solid #e2e8f0;background:#fff;color:#1a1a2e;cursor:pointer;transition:all .15s;text-decoration:none;font-family:inherit}.portal-btn:hover{background:#f0f2f5;text-decoration:none}.portal-btn.primary{background:#2d6a4f;color:#fff;border-color:#2d6a4f}.portal-btn.primary:hover{background:#3d8a6a}.portal-btn.full{width:100%;justify-content:center}.portal-btn.sm{padding:5px 10px;font-size:12px}.portal-alert{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.portal-alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.portal-alert.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.portal-otp-input{font-family:Courier New,Courier,monospace;font-size:22px!important;font-weight:700;letter-spacing:6px;text-align:center;text-transform:uppercase}.portal-otp-input::placeholder{color:#cbd5e1}.portal-otp-hint{font-size:12px;color:#64748b;margin-top:6px;line-height:1.5}.portal-otp-actions{display:flex;flex-direction:column;align-items:center;gap:10px}.portal-otp-link{background:none;border:none;padding:4px;cursor:pointer;font-family:inherit;color:#2d6a4f;font-size:13px;text-decoration:underline}.portal-otp-link:disabled{color:#94a3b8;cursor:default;text-decoration:none}.portal-shell{min-height:100vh;display:flex;flex-direction:column;background:#f0f2f5}.portal-header{background:#0f2340;color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.portal-header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:60px}.portal-brand{display:flex;align-items:center;gap:10px}.portal-logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.portal-logo{background:#2d6a4f;color:#fff;font-weight:800;font-size:13px;padding:5px 9px;border-radius:6px;letter-spacing:1px}.portal-brand-text{font-size:14px;font-weight:600}.portal-menu-btn{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer}.portal-nav{display:flex;align-items:center;gap:4px}.portal-nav-link{padding:8px 14px;font-size:14px;color:#ffffffb3;text-decoration:none;border-radius:6px;font-weight:500;transition:all .15s}.portal-nav-link:hover{color:#fff;background:#ffffff14;text-decoration:none}.portal-nav-link.active{color:#fff;background:#ffffff1f}.portal-user-area{display:flex;align-items:center;gap:12px}.portal-user-name{font-size:13px;color:#fffc}.portal-logout-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:5px 14px;font-size:13px;border-radius:6px;cursor:pointer}.portal-logout-btn:hover{background:#ffffff1a}.portal-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px}.portal-footer{text-align:center;padding:20px;border-top:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px}.portal-footer p{margin:2px 0}.portal-welcome{font-size:24px;font-weight:700;color:#1b3a5f;margin-bottom:24px}.portal-page-title{font-size:22px;font-weight:700;color:#1b3a5f;margin-bottom:20px}.portal-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#64748b}.portal-empty{text-align:center;padding:32px;color:#64748b}.portal-muted{color:#94a3b8}.capitalize{text-transform:capitalize}.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.portal-stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #00000014}.portal-stat-label{font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.portal-stat-value{font-size:20px;font-weight:700;color:#1b3a5f;margin-top:6px}.portal-stat-sub{font-size:13px;color:#64748b;margin-top:4px}.portal-stat-sub a{color:#2d6a4f;text-decoration:none}.portal-stat-sub a:hover{text-decoration:underline}.portal-section{margin-bottom:24px}.portal-section h2{font-size:16px;font-weight:700;color:#1b3a5f;margin-bottom:12px}.portal-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;overflow:hidden}.portal-table{width:100%;border-collapse:collapse}.portal-table thead{background:#f8fafc}.portal-table th{padding:10px 16px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:2px solid #e2e8f0}.portal-table td{padding:12px 16px;border-bottom:1px solid #e2e8f0;font-size:14px}.portal-table tbody tr:nth-child(2n){background:#fafbfc}.portal-table tbody tr:hover{background:#f0f7ff}.portal-clickable{cursor:pointer}.portal-expanded-row{background:#f8fafc!important}.portal-detail-grid{padding:8px;font-size:13px;color:#64748b;display:flex;gap:24px;flex-wrap:wrap}.portal-actions{display:flex;gap:6px}.portal-status{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize;background:#e2e8f0;color:#475569}.portal-status.completed{background:#dcfce7;color:#166534}.portal-status.scheduled{background:#dbeafe;color:#1e40af}.portal-status.in-progress{background:#fef3c7;color:#92400e}.portal-status.cancelled{background:#f1f5f9;color:#94a3b8}.portal-invoice-status{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.portal-invoice-status.paid{background:#dcfce7;color:#166534}.portal-invoice-status.unpaid{background:#fef2f2;color:#991b1b}.portal-invoice-status.overdue{background:#991b1b;color:#fff}.portal-balance-banner{display:flex;justify-content:space-between;align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px 20px;margin-bottom:16px;font-size:15px;color:#991b1b}.portal-balance-banner strong{font-size:20px}.portal-toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.portal-search{padding:8px 14px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;flex:1;min-width:200px;background:#fff}.portal-search:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 2px #2d6a4f1f}.portal-date{padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.portal-result-count{font-size:13px;color:#64748b}.portal-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.portal-account-section{padding:24px}.portal-account-section h2{font-size:15px;font-weight:700;color:#1b3a5f;margin-bottom:16px}.portal-info-grid{display:flex;flex-direction:column;gap:10px}.portal-info-row{display:flex;gap:12px;font-size:14px}.portal-info-label{color:#64748b;font-weight:500;min-width:80px}.portal-contact-info{font-size:14px;line-height:1.8;color:#475569}@media(max-width:768px){.portal-header-inner{padding:0 12px}.portal-menu-btn{display:block}.portal-nav{display:none;position:absolute;top:60px;left:0;right:0;background:#0f2340;flex-direction:column;padding:8px;box-shadow:0 4px 12px #0003}.portal-nav.open{display:flex}.portal-nav-link{padding:12px 16px}.portal-user-name{display:none}.portal-content{padding:12px;max-width:100vw;box-sizing:border-box}.portal-stats{grid-template-columns:1fr 1fr}.portal-stat-card{padding:14px}.portal-stat-value{font-size:18px}.portal-account-grid{grid-template-columns:1fr}.portal-table{font-size:13px}.portal-table th,.portal-table td{padding:8px;font-size:12px}.portal-toolbar{flex-direction:column}.portal-search{width:100%;min-width:auto}.portal-welcome{font-size:20px}.portal-page-title{font-size:18px}.portal-messenger{max-width:100%;border-radius:0;max-height:100vh}.portal-modal-overlay{padding:0}.portal-section{overflow-x:auto}}@media(max-width:480px){.portal-stats{grid-template-columns:1fr}.portal-brand-text{display:none}.portal-content{padding:10px}.portal-stat-card{padding:12px}.portal-header-inner{height:52px}.portal-welcome{font-size:18px;margin-bottom:16px}}.portal-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.portal-messenger{width:100%;max-width:560px;max-height:85vh;background:#fff;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0003;animation:portal-fade-in .15s ease-out}@keyframes portal-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.portal-messenger-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#fafbfc}.portal-messenger-header h3{margin:0;font-size:17px;color:#1b3a5f}.portal-messenger-close{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:0;line-height:1}.portal-messenger-empty{text-align:center;color:#64748b;padding:40px 24px;font-size:14px}.portal-messenger-empty p{margin:6px 0}.portal-email-toolbar{padding:12px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:flex-end}.portal-email-list{flex:1;overflow-y:auto;min-height:180px;max-height:400px}.portal-email-row{display:block;width:100%;text-align:left;padding:12px 20px;border:none;border-bottom:1px solid #f0f2f5;background:#fff;cursor:pointer;font-family:inherit;transition:background .1s}.portal-email-row:hover{background:#f8fafb}.portal-email-unread{background:#f0fdf4}.portal-email-unread:hover{background:#e8f5e9}.portal-email-row-top{display:flex;justify-content:space-between;align-items:center}.portal-email-from{font-size:13px;font-weight:600;color:#1b3a5f}.portal-email-date{font-size:12px;color:#94a3b8}.portal-email-subj{font-size:14px;font-weight:600;color:#334155;margin-top:2px}.portal-email-preview{font-size:13px;color:#64748b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-email-compose{padding:20px;flex:1;overflow-y:auto}.portal-email-to{display:flex;align-items:center;gap:8px;padding:8px 0;margin-bottom:12px;border-bottom:1px solid #e2e8f0;font-size:14px;color:#334155}.portal-email-to-label{font-weight:600;color:#64748b}.portal-email-compose textarea,.portal-email-compose .portal-field textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;outline:none;min-height:120px}.portal-email-compose textarea:focus,.portal-email-compose .portal-field textarea:focus{border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1f}.portal-email-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.portal-email-sent{text-align:center;padding:48px 24px}.portal-email-sent-icon{font-size:48px;margin-bottom:12px}.portal-email-sent h4{font-size:20px;color:#166534;margin:0 0 8px}.portal-email-sent p{color:#64748b;font-size:14px;margin:0 0 24px}.portal-email-detail{padding:20px;flex:1;overflow-y:auto}.portal-email-back{background:none;border:none;color:#2d6a4f;font-size:14px;cursor:pointer;padding:0 0 12px;font-family:inherit;font-weight:500}.portal-email-detail-header{padding:12px 0;border-bottom:1px solid #e2e8f0;margin-bottom:16px}.portal-email-detail-from{font-size:15px;font-weight:600;color:#1b3a5f}.portal-email-detail-date{font-size:13px;color:#64748b;margin-top:2px}.portal-email-detail-subj{font-size:16px;font-weight:700;color:#1b3a5f;margin:0 0 12px}.portal-email-detail-body{font-size:14px;color:#334155;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.portal-msg-unread-badge{background:#dc2626;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.portal-msg-card:hover{border-color:#2d6a4f;box-shadow:0 2px 8px #2d6a4f1f}.portal-contact-info a{color:#2d6a4f;text-decoration:none}.portal-contact-info a:hover{text-decoration:underline}.admin-portal-msgs{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 120px);border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.admin-msgs-sidebar{border-right:1px solid #e2e8f0;overflow-y:auto;background:#fafbfc}.admin-msgs-sidebar h3{padding:16px;margin:0;font-size:15px;color:#1b3a5f;border-bottom:1px solid #e2e8f0}.admin-msg-convo{display:block;width:100%;text-align:left;padding:12px 16px;border:none;border-bottom:1px solid #f0f2f5;background:transparent;cursor:pointer;font-family:inherit;transition:background .15s}.admin-msg-convo:hover{background:#f0f2f5}.admin-msg-convo.active{background:#e8f5e9}.admin-msg-convo-top{display:flex;align-items:center;justify-content:space-between}.admin-msg-convo-name{font-size:14px;font-weight:600;color:#1b3a5f}.admin-msg-badge{background:#dc2626;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.admin-msg-convo-preview{font-size:13px;color:#64748b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-msg-convo-time{font-size:11px;color:#94a3b8;margin-top:2px}.admin-msgs-thread{display:flex;flex-direction:column}.admin-msgs-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:15px}.admin-email-list{flex:1;overflow-y:auto}.admin-email-row{display:block;width:100%;text-align:left;padding:12px 20px;border:none;border-bottom:1px solid #f0f2f5;background:#fff;cursor:pointer;font-family:inherit;transition:background .1s}.admin-email-row:hover{background:#f8fafb}.admin-email-unread{background:#eff6ff;font-weight:500}.admin-email-unread:hover{background:#e0f0ff}.admin-email-row-top{display:flex;justify-content:space-between;align-items:center}.admin-email-from{font-size:13px;font-weight:600;color:#1b3a5f}.admin-email-date{font-size:12px;color:#94a3b8}.admin-email-subj{font-size:14px;font-weight:600;color:#334155;margin-top:2px}.admin-email-preview{font-size:13px;color:#64748b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-email-detail{padding:24px;flex:1;overflow-y:auto}.admin-email-detail-meta{padding-bottom:12px;border-bottom:1px solid #e2e8f0;margin-bottom:16px;font-size:14px;color:#334155;line-height:1.8}.admin-email-detail-body{font-size:14px;color:#334155;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.admin-email-compose{padding:20px;flex:1;display:flex;flex-direction:column}.admin-email-compose textarea{flex:1;padding:12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;outline:none;min-height:150px}.admin-email-compose textarea:focus{border-color:#1b3a5f;box-shadow:0 0 0 3px #1b3a5f1f}.admin-email-compose-actions{display:flex;justify-content:flex-end;margin-top:12px}.admin-email-compose-actions button{padding:10px 24px;background:#1b3a5f;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.admin-email-compose-actions button:disabled{opacity:.4;cursor:not-allowed}.admin-msgs-thread-header{padding:14px 20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.admin-msgs-thread-header h4{margin:0;font-size:16px;color:#1b3a5f}@media(max-width:768px){.admin-portal-msgs{grid-template-columns:1fr;height:auto}.admin-msgs-sidebar{max-height:250px}}.pf-shell{--pf-navy-page: #0d223c;--pf-navy-side: #0a1a2f;--pf-navy-hero: #10294a;--pf-green: #16a34a;--pf-green-bright: #22c55e;--pf-green-soft: #e7f6ec;--pf-card: #ffffff;--pf-border: #eceff3;--pf-ink: #0f172a;--pf-body: #334155;--pf-muted: #64748b;--pf-on-navy: #eaf1f8;--pf-on-navy-dim: #93a4bb;--pf-radius: 16px;--pf-shadow: 0 1px 2px rgba(2,6,23,.06), 0 10px 26px -14px rgba(2,6,23,.35);min-height:100vh;display:flex;background:var(--pf-navy-page);font-family:inherit;color:var(--pf-body)}.pf-sidebar{width:256px;flex-shrink:0;background:var(--pf-navy-side);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:20px 14px;gap:6px}.pf-brand{display:flex;flex-direction:column;gap:4px;padding:4px 8px 18px}.pf-brand-logo{height:34px;width:auto;max-width:180px;object-fit:contain;filter:brightness(0) invert(1)}.pf-brand-sub{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--pf-on-navy-dim);padding-left:2px}.pf-nav{display:flex;flex-direction:column;gap:2px;margin-top:4px}.pf-nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--pf-on-navy-dim);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}.pf-nav-link svg{width:18px;height:18px;flex-shrink:0}.pf-nav-link:hover{color:var(--pf-on-navy);background:#ffffff0d;text-decoration:none}.pf-nav-link.active{color:#fff;background:linear-gradient(90deg,var(--pf-green) 0%,#15924a 100%);box-shadow:0 6px 16px -8px #16a34ae6}.pf-nav-badge{margin-left:auto;background:var(--pf-green-bright);color:#04240f;font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.pf-nav-link.active .pf-nav-badge{background:#ffffffe6;color:#0f5b2b}.pf-promo{margin-top:auto;border-radius:14px;padding:18px 16px;overflow:hidden;position:relative;color:#fff;background:radial-gradient(120% 80% at 20% 0%,#22c55e59,#22c55e00 55%),linear-gradient(160deg,#123f2b,#0c2c3f 55%,#0a1a2f);border:1px solid rgba(255,255,255,.08)}.pf-promo-badge{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#22c55e2e;color:var(--pf-green-bright);margin-bottom:12px}.pf-promo h4{font-size:15px;font-weight:800;margin:0 0 4px;letter-spacing:.01em}.pf-promo p{font-size:12px;line-height:1.5;color:#ffffffb8;margin:0 0 12px}.pf-promo-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);padding:6px 12px;border-radius:8px;cursor:pointer;font-family:inherit}.pf-promo-btn:hover{background:#ffffff29}.pf-side-account{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.06)}.pf-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,var(--pf-green) 0%,#0f7a38 100%);color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;letter-spacing:.04em}.pf-side-account-name{font-size:12.5px;font-weight:600;color:var(--pf-on-navy);line-height:1.25;overflow:hidden;text-overflow:ellipsis}.pf-icon-btn{margin-left:auto;background:none;border:none;color:var(--pf-on-navy-dim);cursor:pointer;padding:6px;border-radius:8px;display:flex}.pf-icon-btn:hover{color:#fff;background:#ffffff0f}.pf-main{flex:1;min-width:0;display:flex;flex-direction:column}.pf-topbar{display:flex;align-items:center;gap:16px;padding:16px 28px;position:sticky;top:0;z-index:20;background:#0d223cdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pf-search{flex:1;max-width:460px;display:flex;align-items:center;gap:8px;background:#fff;border-radius:10px;padding:9px 14px;color:var(--pf-muted);border:1px solid var(--pf-border)}.pf-search svg{width:16px;height:16px;flex-shrink:0}.pf-search input{border:none;outline:none;font:inherit;font-size:14px;width:100%;color:var(--pf-ink);background:transparent}.pf-topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.pf-bell{position:relative;background:#fff;border:1px solid var(--pf-border);border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pf-body)}.pf-bell:hover{border-color:#d7dce2}.pf-bell svg{width:18px;height:18px}.pf-bell-dot{position:absolute;top:-5px;right:-5px;background:var(--pf-green);color:#fff;font-size:10px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--pf-navy-page)}.pf-acct-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--pf-border);border-radius:10px;padding:5px 12px 5px 6px;color:var(--pf-ink);font-size:13.5px;font-weight:600}.pf-acct-chip .pf-avatar{width:30px;height:30px;border-radius:8px;font-size:11px}.pf-acct-chip svg{width:15px;height:15px;color:var(--pf-muted)}.pf-menu-btn{display:none}.pf-content{flex:1;padding:8px 28px 40px}.pf-content--light{background:#f1f5f9;border-top-left-radius:18px}.pf-content--light .portal-welcome,.pf-content--light .portal-page-title{color:#0f172a}.pf-hero{padding:8px 4px 26px;position:relative}.pf-hero-eyebrow{font-size:15px;color:var(--pf-on-navy-dim)}.pf-hero-title{display:flex;align-items:center;gap:10px;font-size:30px;font-weight:800;color:#fff;margin:2px 0 6px;letter-spacing:-.01em}.pf-hero-title svg{width:24px;height:24px;color:var(--pf-green-bright)}.pf-hero-sub{font-size:14.5px;color:var(--pf-on-navy-dim)}.pf-card{background:var(--pf-card);border:1px solid var(--pf-border);border-radius:var(--pf-radius);box-shadow:var(--pf-shadow);padding:20px}.pf-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pf-card-title{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--pf-ink)}.pf-card-title svg{width:17px;height:17px;color:var(--pf-green)}.pf-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--pf-green);text-decoration:none;cursor:pointer;background:none;border:none;font-family:inherit}.pf-link:hover{text-decoration:underline}.pf-link svg{width:14px;height:14px}.pf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}.pf-kpi{display:flex;gap:14px;align-items:flex-start}.pf-kpi-icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.pf-kpi-icon svg{width:20px;height:20px}.pf-kpi-icon.green{background:var(--pf-green-soft);color:var(--pf-green)}.pf-kpi-icon.violet{background:#efe9fb;color:#7c3aed}.pf-kpi-icon.blue{background:#e6effc;color:#2563eb}.pf-kpi-icon.amber{background:#fdf1dc;color:#d97706}.pf-kpi-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pf-muted)}.pf-kpi-value{font-size:20px;font-weight:800;color:var(--pf-ink);margin-top:3px;line-height:1.15}.pf-kpi-sub{font-size:12.5px;color:var(--pf-muted);margin-top:5px;display:inline-flex;align-items:center;gap:5px}.pf-kpi-sub.ok{color:var(--pf-green)}.pf-kpi-sub a{color:var(--pf-green);text-decoration:none;font-weight:600}.pf-kpi-sub svg{width:13px;height:13px}.pf-chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--pf-green-soft);color:#12813f;margin-top:6px}.pf-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:stretch}.pf-col{display:flex;flex-direction:column;gap:18px;min-width:0;height:100%}.pf-grow{flex:1 1 auto}.pf-content--light .portal-toolbar .pf-sort{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.pf-content--light .portal-toolbar .pf-sort svg{width:14px;height:14px}.pf-upcoming{display:grid;grid-template-columns:84px 1fr;gap:18px}.pf-datebox{border-radius:12px;background:var(--pf-green-soft);color:#12813f;text-align:center;padding:12px 8px;align-self:start}.pf-datebox .m{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.pf-datebox .d{font-size:26px;font-weight:800;line-height:1;margin:2px 0;color:#0f5b2b}.pf-datebox .w{font-size:11px;font-weight:700;color:#2f9e5a}.pf-up-time{font-size:15px;font-weight:700;color:var(--pf-ink)}.pf-up-type{font-size:14px;color:var(--pf-body);margin-top:2px}.pf-up-meta{font-size:13px;color:var(--pf-muted);margin-top:6px;display:flex;align-items:center;gap:6px}.pf-up-meta svg{width:14px;height:14px}.pf-map-holder{margin-top:14px;height:130px;border-radius:12px;border:1px solid var(--pf-border);background:repeating-linear-gradient(45deg,#eef4f0 0 12px,#e8f0ea 12px 24px);display:flex;align-items:center;justify-content:center;color:#8aa596;font-size:12.5px;font-weight:600;gap:6px}.pf-map-holder svg{width:16px;height:16px}.pf-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;padding:9px 16px;border-radius:10px;border:1px solid var(--pf-border);background:#fff;color:var(--pf-ink);text-decoration:none}.pf-btn:hover{background:#f7f9fb;text-decoration:none}.pf-btn svg{width:15px;height:15px}.pf-btn.primary{background:var(--pf-green);border-color:var(--pf-green);color:#fff}.pf-btn.primary:hover{background:#12813f}.pf-btn.block{width:100%}.pf-qa{display:flex;flex-direction:column;gap:8px}.pf-qa-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--pf-border);border-radius:12px;padding:12px 14px;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.pf-qa-row:hover{border-color:#cfe8d7;background:#fafdfb}.pf-qa-ic{width:36px;height:36px;border-radius:10px;background:var(--pf-green-soft);color:var(--pf-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-qa-ic svg{width:17px;height:17px}.pf-qa-t{font-size:14px;font-weight:700;color:var(--pf-ink)}.pf-qa-d{font-size:12px;color:var(--pf-muted);margin-top:1px}.pf-qa-row>svg.chev{margin-left:auto;width:16px;height:16px;color:#cbd5e1}.pf-act{display:flex;flex-direction:column}.pf-act-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f1f4f7}.pf-act-row:last-child{border-bottom:none}.pf-act-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--pf-green-soft);color:var(--pf-green)}.pf-act-ic svg{width:16px;height:16px}.pf-act-main{min-width:0}.pf-act-t{font-size:13.5px;font-weight:600;color:var(--pf-ink);text-transform:capitalize}.pf-act-d{font-size:12px;color:var(--pf-muted);margin-top:1px}.pf-act-badge{margin-left:auto}.pf-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize;background:#eef2f6;color:#475569}.pf-status.completed{background:#dcfce7;color:#166534}.pf-status.scheduled{background:#dbeafe;color:#1e40af}.pf-status.in-progress{background:#fef3c7;color:#92400e}.pf-status.cancelled{background:#f1f5f9;color:#94a3b8}.pf-msg-row{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid #f1f4f7}.pf-msg-row:last-child{border-bottom:none}.pf-msg-dot{width:8px;height:8px;border-radius:50%;background:var(--pf-green);margin-top:6px;flex-shrink:0}.pf-msg-t{font-size:13.5px;font-weight:700;color:var(--pf-ink)}.pf-msg-b{font-size:12.5px;color:var(--pf-muted);line-height:1.45;margin-top:2px}.pf-empty{text-align:center;color:var(--pf-muted);font-size:13.5px;padding:22px 8px}.pf-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pf-bars{display:flex;align-items:flex-end;gap:5px;height:118px;padding-top:6px}.pf-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.pf-bar{width:100%;max-width:16px;border-radius:5px 5px 0 0;min-height:3px;background:linear-gradient(180deg,var(--pf-green-bright) 0%,var(--pf-green) 100%)}.pf-bar-x{font-size:9.5px;color:var(--pf-muted);font-weight:600}.pf-usage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #f1f4f7;text-align:center}.pf-ustat .v{font-size:19px;font-weight:800;color:var(--pf-ink)}.pf-ustat .v.green{color:var(--pf-green)}.pf-ustat .l{font-size:11px;color:var(--pf-muted);margin-top:2px}.pf-usage-note{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;color:#12813f;background:var(--pf-green-soft);border-radius:8px;padding:8px 10px;line-height:1.35}.pf-usage-note svg{width:15px;height:15px;flex-shrink:0}.pf-doc-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #f1f4f7;text-decoration:none}.pf-doc-row:last-child{border-bottom:none}.pf-doc-row:hover .pf-doc-t{color:var(--pf-green)}.pf-doc-ic{width:30px;height:34px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.pf-doc-ic.cert{background:var(--pf-green-soft);color:var(--pf-green)}.pf-doc-ic.inv{background:#e6effc;color:#2563eb}.pf-doc-ic svg{width:15px;height:15px}.pf-doc-t{font-size:13px;font-weight:600;color:var(--pf-ink)}.pf-doc-d{font-size:11.5px;color:var(--pf-muted);margin-top:1px}.pf-env-row{display:flex;align-items:center;gap:12px;padding:9px 0}.pf-env-ic{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-env-ic svg{width:19px;height:19px}.pf-env-ic.tree{background:var(--pf-green-soft);color:var(--pf-green)}.pf-env-ic.water{background:#e6f1fb;color:#2b82d4}.pf-env-ic.energy{background:#fdf1dc;color:#d9920b}.pf-env-v{font-size:17px;font-weight:800;color:var(--pf-ink);line-height:1.1}.pf-env-l{font-size:12px;color:var(--pf-muted)}.pf-env-note{font-size:11.5px;color:var(--pf-muted);margin-top:8px}.pf-help{display:flex;align-items:center;gap:16px;margin-top:18px;background:#fff;border:1px solid var(--pf-border);border-radius:var(--pf-radius);box-shadow:var(--pf-shadow);padding:18px 22px}.pf-help-ic{width:48px;height:48px;border-radius:50%;background:var(--pf-green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pf-help-ic svg{width:22px;height:22px}.pf-help-t{font-size:15px;font-weight:700;color:var(--pf-ink)}.pf-help-d{font-size:13px;color:var(--pf-muted);margin-top:1px}.pf-help .pf-btn{margin-left:auto}@media(max-width:1200px){.pf-row3{grid-template-columns:1fr 1fr}}@media(max-width:760px){.pf-row3{grid-template-columns:1fr}.pf-help{flex-direction:column;text-align:center}.pf-help .pf-btn{margin-left:0}}.pf-map-img{margin-top:14px;width:100%;height:150px;object-fit:cover;display:block;border-radius:12px;border:1px solid var(--pf-border)}.pf-content--light{color:var(--pf-body);padding-top:20px}.pf-content--light .portal-page-title{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:2px 0 18px}.pf-content--light .portal-card{background:#fff;border:1px solid var(--pf-border);border-radius:var(--pf-radius);box-shadow:var(--pf-shadow);overflow:hidden}.pf-content--light .portal-toolbar{gap:10px;margin-bottom:16px}.pf-content--light .portal-search,.pf-content--light .portal-date{border:1px solid var(--pf-border);border-radius:10px;background:#fff;padding:10px 14px;font-size:14px}.pf-content--light .portal-search:focus,.pf-content--light .portal-date:focus{outline:none;border-color:var(--pf-green);box-shadow:0 0 0 3px #16a34a1f}.pf-content--light .portal-table thead{background:#f8fafc}.pf-content--light .portal-table th{font-size:11px;letter-spacing:.04em;color:var(--pf-muted);border-bottom:1px solid var(--pf-border)}.pf-content--light .portal-table td{border-bottom:1px solid #f1f4f7;color:var(--pf-body)}.pf-content--light .portal-table tbody tr:nth-child(2n){background:#fcfdfe}.pf-content--light .portal-table tbody tr:hover{background:#f6fbf8}.pf-content--light .portal-btn{border-radius:9px;border:1px solid var(--pf-border)}.pf-content--light .portal-btn.primary{background:var(--pf-green);border-color:var(--pf-green);color:#fff}.pf-content--light .portal-btn.primary:hover{background:#12813f}.pf-content--light .portal-btn.sm{border-radius:7px}.pf-content--light a{color:var(--pf-green)}.pf-content--light .portal-balance-banner{border-radius:12px}.pf-content--light .portal-account-section h2,.pf-content--light .portal-welcome{color:var(--pf-ink)}.pf-content--light .pf-loc-tiles{display:flex;flex-direction:column;gap:16px}.pf-content--light .pf-loc-tile{padding:0}.pf-content--light .pf-loc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;background:#f7faf8;border-bottom:1px solid var(--pf-border)}.pf-content--light .pf-loc-name{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--pf-ink)}.pf-content--light .pf-loc-name svg{color:var(--pf-green);flex-shrink:0}.pf-content--light .pf-loc-meta{font-size:12.5px;color:var(--pf-muted);font-weight:600}.pf-content--light .pf-loc-body{overflow-x:auto}@media(max-width:1024px){.pf-grid{grid-template-columns:1fr}.pf-kpis{grid-template-columns:1fr 1fr}}@media(max-width:900px){.pf-sidebar{position:fixed;left:0;top:0;z-index:60;transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #0006}.pf-shell.pf-drawer-open .pf-sidebar{transform:translate(0)}.pf-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid var(--pf-border);border-radius:10px;cursor:pointer;color:var(--pf-body)}.pf-menu-btn svg{width:18px;height:18px}.pf-backdrop{position:fixed;inset:0;background:#040c1880;z-index:55}.pf-search{max-width:none}}@media(max-width:560px){.pf-kpis{grid-template-columns:1fr}.pf-content,.pf-topbar{padding-left:16px;padding-right:16px}.pf-hero-title{font-size:24px}.pf-acct-chip span,.pf-search{display:none}}.pc-st-scheduled{--c-bg: #dbeafe;--c-fg: #1e40af;--c-bd: #60a5fa}.pc-st-completed{--c-bg: #dcfce7;--c-fg: #166534;--c-bd: #4ade80}.pc-st-planned{--c-bg: #eef2f7;--c-fg: #475569;--c-bd: #94a3b8}.pc-st-missed{--c-bg: #fee2e2;--c-fg: #991b1b;--c-bd: #f87171}.pc-st-attempted{--c-bg: #ede9fe;--c-fg: #5b21b6;--c-bd: #8b5cf6}.pc-st-pending{--c-bg: #fef3c7;--c-fg: #92400e;--c-bd: #fbbf24}.pc-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0;background:var(--c-bg, #eef2f7);border:1.5px solid var(--c-bd, #94a3b8)}.pc-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;background:var(--c-bg);color:var(--c-fg);border:1px solid var(--c-bd);white-space:nowrap}.pc-tentative{border-style:dashed!important;opacity:.8}.pc-swatch.pc-tentative,.pc-pill.pc-tentative,.pc-chip.pc-tentative{background:#fff}.pc-tile-head{margin-bottom:10px}.pc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pc-monthnav{display:flex;align-items:center;gap:6px}.pc-navbtn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--pf-border, #eceff3);border-radius:8px;background:#fff;color:var(--pf-ink, #0f172a);cursor:pointer;padding:0}.pc-navbtn:hover{background:#f7f9fb}.pc-navbtn svg{width:16px;height:16px}.pc-month-title{font-size:16px;font-weight:800;color:var(--pf-ink, #0f172a);min-width:140px;text-align:center}.pc-today-btn{border:1px solid var(--pf-border, #eceff3);background:#fff;border-radius:8px;padding:6px 10px;font:inherit;font-size:12.5px;font-weight:600;color:var(--pf-green, #16a34a);cursor:pointer}.pc-locfilter{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--pf-border, #eceff3);border-radius:10px;padding:4px 8px 4px 10px;background:#fff;color:var(--pf-muted, #64748b);max-width:100%}.pc-locfilter select{border:none;outline:none;background:transparent;font:inherit;font-size:13.5px;font-weight:600;color:var(--pf-ink, #0f172a);padding:4px 2px;max-width:240px;min-width:0}.pc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--pf-border, #eceff3);border-radius:12px;overflow:hidden;transition:opacity .15s}.pc-loading{opacity:.5}.pc-dow{padding:7px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pf-muted, #64748b);background:#f8fafc;border-bottom:1px solid var(--pf-border, #eceff3)}.pc-dow.we{background:#f1f4f8}.pc-cell{min-height:96px;padding:5px;display:flex;flex-direction:column;align-items:stretch;gap:3px;background:#fff;border:none;border-right:1px solid var(--pf-border, #eceff3);border-bottom:1px solid var(--pf-border, #eceff3);text-align:left;font:inherit;cursor:pointer;min-width:0}.pc-cell:nth-child(7n){border-right:none}.pc-cell.we{background:#f6f8fb}.pc-cell.out{background:#fbfcfd;cursor:default}.pc-cell.out.we{background:#f3f5f8}.pc-cell:not(.out):hover{background:#f6fbf8}.pc-cell.sel{box-shadow:inset 0 0 0 2px var(--pf-green, #16a34a)}.pc-daynum{font-size:12px;font-weight:700;color:var(--pf-body, #334155);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.pc-cell.today .pc-daynum{background:var(--pf-green, #16a34a);color:#fff}.pc-chips{display:flex;flex-direction:column;gap:2px;min-width:0}.pc-chip{display:block;font-size:11px;font-weight:600;line-height:1.3;padding:2px 6px;border-radius:6px;background:var(--c-bg);color:var(--c-fg);border:1px solid var(--c-bd);min-width:0}.pc-chip-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-more{font-size:11px;font-weight:600;color:var(--pf-green, #16a34a);padding:0 4px}.pc-none{text-align:center;color:var(--pf-muted, #64748b);font-size:13px;margin-top:10px}.pc-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:12px;color:var(--pf-muted, #64748b)}.pc-legend-item{display:inline-flex;align-items:center;gap:6px}.pc-day{margin-top:12px;border:1px solid var(--pf-border, #eceff3);border-radius:12px;padding:12px 14px;background:#fbfdfc}.pc-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.pc-day-title{font-size:14px;font-weight:800;color:var(--pf-ink, #0f172a)}.pc-day-empty{font-size:13px;color:var(--pf-muted, #64748b);padding:6px 0}.pc-day-list{list-style:none;margin:0;padding:0}.pc-day-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid #eef1f4}.pc-day-row:first-child{border-top:none}.pc-day-row>.pc-swatch{margin-top:3px}.pc-day-main{flex:1;min-width:0}.pc-day-svc{font-size:13.5px;font-weight:700;color:var(--pf-ink, #0f172a)}.pc-day-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--pf-muted, #64748b);margin-top:2px}.pc-day-meta span{display:inline-flex;align-items:center;gap:4px}.pc-day-note{font-size:12px;color:var(--pf-muted, #64748b);margin-top:4px;font-style:italic}.pc-day-note.err{color:#b91c1c;font-style:normal}.pc-day-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.pc-year-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.pc-year-top .portal-page-title{margin:0!important}.pc-year-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pc-year-select{border:1px solid var(--pf-border, #eceff3);border-radius:8px;background:#fff;font:inherit;font-size:15px;font-weight:800;color:var(--pf-ink, #0f172a);padding:5px 8px}.pc-year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;transition:opacity .15s}.pc-mini{background:#fff;border:1px solid var(--pf-border, #eceff3);border-radius:14px;box-shadow:var(--pf-shadow);padding:12px;min-width:0}.pc-mini-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:14px;font-weight:800;color:var(--pf-ink, #0f172a)}.pc-mini-count{font-size:11px;font-weight:600;color:var(--pf-muted, #64748b)}.pc-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.pc-mini-dow{font-size:10px;font-weight:700;color:var(--pf-muted, #64748b);text-align:center;padding-bottom:2px}.pc-mini-dow.we{color:#94a3b8}.pc-mini-cell{position:relative;aspect-ratio:1 / 1;min-width:0;display:flex;align-items:center;justify-content:center;font:inherit;font-size:11.5px;color:var(--pf-body, #334155);background:transparent;border:1.5px solid transparent;border-radius:6px;padding:0;cursor:pointer}.pc-mini-cell.out{cursor:default}.pc-mini-cell.we{background:#f3f5f8}.pc-mini-cell.has{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-bd);font-weight:800}.pc-mini-cell.has.pc-tentative{background:#fff}.pc-mini-cell.today{box-shadow:0 0 0 2px var(--pf-green, #16a34a)}.pc-mini-cell.sel{outline:2px solid var(--pf-ink, #0f172a);outline-offset:1px}.pc-mini-multi{position:absolute;top:-4px;right:-4px;font-size:8.5px;font-weight:800;line-height:1;background:var(--pf-ink, #0f172a);color:#fff;border-radius:6px;padding:2px 3px}.pc-none-year{margin:12px 0 0}.pc-year-day{margin-top:14px}.pc-year-day .pc-day{background:#fff}.pc-year-foot{margin-top:14px}.pc-year-note{font-size:12px;color:var(--pf-muted, #64748b);margin-top:6px}.pc-print-head,.pc-print-foot{display:none}@media print{body.pc-print-year{background:#fff!important}body.pc-print-year *{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.pc-print-year .pf-sidebar,body.pc-print-year .pf-topbar,body.pc-print-year .pf-backdrop,body.pc-print-year .pc-year-top,body.pc-print-year .pc-year-day,body.pc-print-year .portal-modal-overlay{display:none!important}body.pc-print-year .pf-shell,body.pc-print-year .pf-main{display:block!important;min-height:0!important;background:#fff!important}body.pc-print-year .pf-content{padding:0!important;background:#fff!important;border-radius:0!important}.pc-year-page{color:#0f172a}.pc-print-head{display:flex!important;align-items:center;gap:14px;border-bottom:2px solid #0C447C;padding-bottom:5px;margin-bottom:8px}.pc-print-logo{height:24px;width:auto}.pc-print-title{font-size:14px;font-weight:800}.pc-print-loc{font-weight:600}.pc-year-grid{grid-template-columns:repeat(4,1fr)!important;gap:7px!important;opacity:1!important}.pc-mini{box-shadow:none;border:1px solid #cbd5e1;border-radius:6px;padding:5px 7px;break-inside:avoid}.pc-mini-head{font-size:11px;margin-bottom:2px}.pc-mini-count{font-size:8.5px}.pc-mini-dow{font-size:7.5px;padding-bottom:0}.pc-mini-grid{gap:1px}.pc-mini-cell{aspect-ratio:auto;height:.29in;font-size:9.5px;border-radius:3px;border-width:1px}.pc-mini-cell.today,.pc-mini-cell.sel{box-shadow:none;outline:none}.pc-mini-multi{font-size:6.5px;top:-2px;right:-2px;padding:1px 2px}.pc-year-foot{margin-top:6px}.pc-legend{margin-top:0;font-size:9.5px;gap:4px 14px}.pc-year-note{font-size:8.5px;margin-top:2px}.pc-none-year{font-size:10px;margin-top:4px}.pc-print-foot{display:block!important;font-size:8px;color:#555;margin-top:3px}}.pn-wrap{position:relative}.pn-drop{position:absolute;right:0;top:calc(100% + 8px);width:360px;max-height:70vh;overflow-y:auto;z-index:40;background:#fff;border:1px solid var(--pf-border, #eceff3);border-radius:14px;box-shadow:0 18px 48px -12px #02061773;color:var(--pf-body, #334155)}.pn-drop-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--pf-border, #eceff3);font-size:14px;font-weight:800;color:var(--pf-ink, #0f172a);position:sticky;top:0;background:#fff}.pn-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:11px 14px;border:none;border-bottom:1px solid #f1f4f7;background:#fff;cursor:pointer;font:inherit;color:inherit}.pn-item:hover{background:#f8fafc}.pn-item.unread{background:#f3faf6}.pn-kind{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pn-kind svg{width:16px;height:16px}.pn-kind-news{background:#dbeafe;color:#1d4ed8}.pn-kind-alert{background:#fef3c7;color:#b45309}.pn-kind-date_change{background:var(--pf-green-soft, #e7f6ec);color:var(--pf-green, #16a34a)}.pn-kind-msg{background:#ede9fe;color:#6d28d9}.pn-body{display:flex;flex-direction:column;flex:1;min-width:0}.pn-title{font-size:13.5px;font-weight:700;color:var(--pf-ink, #0f172a)}.pn-text{font-size:12.5px;color:var(--pf-muted, #64748b);line-height:1.45;margin-top:1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pn-text.full{display:block;-webkit-line-clamp:unset;white-space:pre-wrap}.pn-meta{font-size:11px;color:#94a3b8;margin-top:3px}.pn-dot{width:8px;height:8px;border-radius:50%;background:var(--pf-green, #16a34a);margin-top:6px;flex-shrink:0}.pn-empty{padding:22px 16px;text-align:center;color:var(--pf-muted, #64748b);font-size:13px}.pn-strip{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--pf-border, #eceff3);border-left:4px solid #3b82f6;border-radius:14px;padding:12px 14px;margin-bottom:18px;box-shadow:var(--pf-shadow)}.pn-strip-alert{border-left-color:#f59e0b}.pn-strip-date_change{border-left-color:var(--pf-green, #16a34a)}.pn-strip-body{flex:1;min-width:0}.pn-strip-title{font-size:14px;font-weight:800;color:var(--pf-ink, #0f172a)}.pn-strip-text{font-size:13px;color:var(--pf-body, #334155);margin-top:2px;white-space:pre-wrap}.pn-strip-more{font-size:12px;color:var(--pf-muted, #64748b);margin-top:4px}.pn-strip-x{width:30px;height:30px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--pf-muted, #64748b);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.pn-strip-x:hover{background:#f1f5f9;color:var(--pf-ink, #0f172a)}.pn-strip-x svg{width:16px;height:16px}.pi-buckets{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.pi-bucket{flex:1 1 100px;min-width:100px;border-radius:8px;padding:8px 12px}.pi-bucket-l{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.pi-bucket-v{font-size:15px;font-weight:800}.pi-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.pi-tabs{display:inline-flex;background:#fff;border:1px solid var(--pf-border, #eceff3);border-radius:10px;padding:3px;gap:2px}.pi-tab{border:none;background:transparent;padding:7px 16px;border-radius:8px;font:inherit;font-size:13.5px;font-weight:700;color:var(--pf-muted, #64748b);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pi-tab:hover{color:var(--pf-ink, #0f172a)}.pi-tab.active{background:var(--pf-green, #16a34a);color:#fff}.pi-tab-n{font-size:11px;font-weight:800;background:#0f172a14;border-radius:999px;padding:1px 7px}.pi-tab.active .pi-tab-n{background:#ffffff40}.pi-search{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--pf-border, #eceff3);border-radius:10px;padding:8px 12px;color:var(--pf-muted, #64748b);min-width:0}.pi-search:focus-within{border-color:var(--pf-green, #16a34a);box-shadow:0 0 0 3px #16a34a1f}.pi-search svg{width:15px;height:15px;flex-shrink:0}.pi-search input{border:none;outline:none;font:inherit;font-size:14px;width:200px;min-width:0;background:transparent;color:var(--pf-ink, #0f172a)}.pi-summary{font-size:13px;color:var(--pf-muted, #64748b);margin:0 0 12px}.pi-scroll{overflow-x:auto}.pi-table th,.pi-table td.mono,.pi-table td[data-label=Amount],.pi-table td[data-label=Balance]{white-space:nowrap}.pf-content--light .pi-table th,.pf-content--light .pi-table td{padding-left:12px;padding-right:12px}.pi-actions{text-align:right;white-space:nowrap}.pi-actions .portal-btn+.portal-btn{margin-left:6px}.pi-od{display:block;font-size:11px;font-weight:700;color:#b45309}.pi-od.bad{color:#dc2626}.pi-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;font-size:13px;color:var(--pf-muted, #64748b);flex-wrap:wrap}.pi-pager .portal-btn[disabled]{opacity:.45;cursor:default}.pi-modal{width:100%;max-width:480px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 8px 32px #0003}.pi-modal-grid{margin:14px 0;font-size:14px;color:#334155;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.pi-modal-grid>:nth-child(odd){color:#64748b}.pa-lead{font-size:13.5px;color:var(--pf-muted, #64748b);margin:0 0 14px;line-height:1.5}.pa-cal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.pa-copy{margin-bottom:10px}.pa-copy-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:4px}.pa-copy-row{display:flex;gap:6px}.pa-copy-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;border:1px solid #e2e8f0;border-radius:8px;padding:7px 9px;background:#f8fafc;color:#334155}.pa-how{font-size:13px;color:var(--pf-body, #334155);padding-left:18px;margin:12px 0 8px;line-height:1.5}.pa-how li{margin-bottom:4px}.pa-hint{font-size:12px;color:var(--pf-muted, #64748b);margin:0 0 8px}.pa-rotate{padding:0}.pa-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:8px 10px}.pa-prefs{opacity:.75}.pa-soon{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;color:#475569;background:#e2e8f0;border-radius:999px;padding:2px 9px;vertical-align:middle}.pa-pref{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--pf-muted, #64748b);margin:8px 0;cursor:not-allowed}@media(max-width:640px){.pc-cell{min-height:54px;padding:3px;gap:2px}.pc-daynum{font-size:11px;width:20px;height:20px}.pc-chips{flex-direction:row;flex-wrap:wrap;gap:3px;padding-left:2px}.pc-chip{width:9px;height:9px;padding:0;border-radius:50%;background:var(--c-bd);border-width:1.5px}.pc-chip.pc-tentative{background:#fff}.pc-chip-text,.pc-more{display:none}.pc-dow{padding:6px 2px;text-align:center;font-size:10px;letter-spacing:0}.pc-month-title{min-width:0;font-size:15px}.pc-locfilter,.pc-locfilter select{width:100%;max-width:none}.pc-year-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}.pc-mini{padding:9px}.pc-mini-cell{font-size:10.5px}.pc-day-row{flex-wrap:wrap}.pc-day-side{flex-direction:row;align-items:center;width:100%;padding-left:22px}.pi-bar{flex-direction:column;align-items:stretch}.pi-tabs{display:flex}.pi-tab{flex:1;justify-content:center;padding:7px 8px}.pi-search input{width:100%}.pi-table thead{display:none}.pi-table,.pi-table tbody,.pi-table tr,.pi-table td{display:block;width:100%}.pi-table tr{padding:10px 14px;border-bottom:1px solid var(--pf-border, #eceff3)}.pf-content--light .pi-table td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;border:none;font-size:13px;text-align:right}.pi-table td[data-label]:before{content:attr(data-label);color:var(--pf-muted, #64748b);font-weight:600;font-size:12px;text-align:left}.pi-table td.mono{font-weight:800}.pi-od{display:inline;margin-left:6px}.pf-content--light .pi-table td.pi-actions{justify-content:flex-end;padding-top:8px}}@media(max-width:560px){.pn-drop{position:fixed;left:12px;right:12px;top:64px;width:auto}}.pq-page{max-width:860px}.pq-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.pq-intro p{margin:0;color:var(--pf-muted);font-size:14px;max-width:560px}.pq-section{margin-bottom:22px}.pq-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#0c447c;margin:0 0 8px 4px}.pq-section-title svg{width:16px;height:16px}.pq-list{background:#fff;border:1px solid var(--pf-border);border-radius:var(--pf-radius);box-shadow:var(--pf-shadow);overflow:hidden}.pq-item+.pq-item{border-top:1px solid var(--pf-border)}.pq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;background:none;border:none;cursor:pointer;font:inherit;font-size:15px;font-weight:600;color:var(--pf-ink);text-align:left}.pq-q:hover{background:#f8fafc}.pq-q svg{width:18px;height:18px;flex:none;color:#0c447c;transition:transform .15s ease}.pq-item.open .pq-q svg{transform:rotate(180deg)}.pq-item.open .pq-q{color:#0c447c}.pq-a{padding:0 18px 16px;font-size:14px;line-height:1.55;color:#334155}.pq-a p{margin:0 0 8px}.pq-a p:last-child{margin-bottom:0}.pq-a a{color:#0c447c;font-weight:600}.pq-table{border-collapse:collapse;margin:4px 0 10px;font-size:14px}.pq-table th,.pq-table td{text-align:left;padding:6px 18px 6px 0;border-bottom:1px solid var(--pf-border)}.pq-table th{color:#0c447c;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.pq-note{font-size:13px;color:var(--pf-muted);margin:6px 0 0 4px}@media(max-width:600px){.pq-q{padding:12px 14px;font-size:14px}.pq-a{padding:0 14px 14px}}:root{--acp-navy: #0F2340;--acp-cyan: #00B4D8}.acp-login{min-height:100vh;min-height:100dvh;background:var(--acp-navy);display:flex;align-items:center;justify-content:center;padding:20px}.acp-login-card{width:100%;max-width:400px;text-align:center}.acp-login-abbr{color:#fff;font-size:56px;font-weight:900;letter-spacing:8px;margin-bottom:2px}.acp-login-brand{color:var(--acp-cyan);font-size:22px;font-weight:700;letter-spacing:3px;margin-bottom:6px}.acp-login-sub{color:#ffffff80;font-size:14px;margin-bottom:40px;letter-spacing:1px}.acp-login-logo{width:80px;height:80px;margin:0 auto 20px;border-radius:0;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:36px}.acp-login-form{display:flex;flex-direction:column;gap:14px}.acp-login-input{padding:16px 18px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff14;color:#fff;font-size:18px;outline:none;-webkit-appearance:none}.acp-login-input::placeholder{color:#ffffff59}.acp-login-input.signin-code-input::placeholder{color:#ffffff4d;font-weight:400}.acp-login-input:focus{border-color:var(--acp-cyan);background:#ffffff1f}.acp-login-btn{padding:16px;background:var(--acp-cyan);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;margin-top:8px}.acp-login-btn:disabled{opacity:.5}.acp-login-error{background:#dc262626;color:#fca5a5;padding:12px;border-radius:8px;font-size:14px}.acp-app{max-width:1200px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--acp-navy);color:#e2e8f0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.acp-header{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) 10px calc(16px + env(safe-area-inset-left,0px));position:sticky;top:0;background:var(--acp-navy);z-index:10;border-bottom:1px solid rgba(255,255,255,.08)}.acp-header h1{font-size:18px;font-weight:700;color:var(--acp-cyan);letter-spacing:-.3px;margin:0}.acp-header-right{display:flex;align-items:center;gap:8px}.acp-refresh-btn{background:#00b4d81f;border:none;border-radius:8px;color:var(--acp-cyan);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.acp-refresh-btn:active{background:#00b4d840}.acp-refresh-btn.acp-refreshing{background:#00b4d859;cursor:default}.acp-refresh-btn.acp-refreshing svg{animation:acp-spin .7s linear infinite;transform-origin:center}@keyframes acp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.acp-date-bar{display:flex;align-items:center;gap:8px;padding:8px calc(16px + env(safe-area-inset-right,0px)) 8px calc(16px + env(safe-area-inset-left,0px));background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.acp-date-arrow{background:#00b4d81f;border:none;border-radius:8px;color:var(--acp-cyan);width:32px;height:32px;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.acp-date-arrow:active{background:#00b4d840}.acp-date-arrow:disabled{opacity:.4;cursor:default}.acp-date-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#e2e8f0;font-family:inherit;font-size:13px;padding:6px 8px;color-scheme:dark}.acp-date-input:disabled{opacity:.5}.acp-date-label{margin-left:auto;font-size:13px;font-weight:600;color:var(--acp-cyan)}.acp-ptr-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;height:0;transition:height .2s ease;color:var(--acp-cyan);font-size:13px;font-weight:600;gap:8px}.acp-ptr-indicator svg{transition:transform .2s ease}.acp-ptr-indicator.acp-ptr-triggered svg{transform:rotate(180deg)}.acp-ptr-indicator.acp-ptr-loading svg{animation:acp-spin .7s linear infinite}.acp-user-pill{display:flex;align-items:center;gap:8px;background:#ffffff0f;border-radius:8px;padding:4px 10px 4px 12px}.acp-user-name{font-size:12px;color:#94a3b8;white-space:nowrap}.acp-logout-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#94a3b8;font-size:11px;padding:3px 8px;cursor:pointer;transition:all .15s}.acp-logout-btn:hover{color:#fff;border-color:#ffffff4d}.acp-loading{text-align:center;padding:60px 16px;color:#64748b;font-size:15px}.acp-error{margin:8px 16px;padding:10px 14px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px}.acp-summary-section{padding:12px 16px 4px}.acp-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:768px){.acp-summary-grid{grid-template-columns:repeat(4,1fr)}.acp-revenue-card{max-width:none}}.acp-summary-card{background:#ffffff0d;border-radius:10px;padding:14px;text-align:center}.acp-summary-value{display:block;font-size:28px;font-weight:700;line-height:1.2}.acp-summary-label{display:block;font-size:12px;color:#94a3b8;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.acp-revenue-card{margin-top:10px;width:100%}.acp-job-feed{padding:16px;flex:1}.acp-feed-title{font-size:16px;font-weight:600;color:#94a3b8;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.acp-no-jobs{text-align:center;color:#64748b;padding:32px 0;font-size:14px}.acp-job-list{display:flex;flex-direction:column;gap:8px}@media(min-width:768px){.acp-job-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}}@media(min-width:1024px){.acp-job-list{grid-template-columns:repeat(3,1fr)}}.acp-job-card{background:#ffffff0f;border-radius:10px;padding:12px 14px;cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}.acp-job-card:active{background:#ffffff1a}.acp-job-card-header{display:flex;flex-direction:column;gap:6px}.acp-job-card-main{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.acp-job-customer{font-weight:600;font-size:14px;color:#f1f5f9;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acp-job-time{font-size:13px;color:#64748b;white-space:nowrap}.acp-job-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.acp-job-tech{font-size:12px;color:#94a3b8}.acp-job-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.acp-job-card-details{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}.acp-detail-row{font-size:13px;color:#cbd5e1;line-height:1.4}.acp-detail-row strong{color:#94a3b8;font-weight:500}.acp-tech-selector{padding:8px 16px}.acp-pill-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.acp-pill-scroll::-webkit-scrollbar{display:none}.acp-pill{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0f;color:#94a3b8;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:all .15s;font-family:inherit}.acp-pill:active{transform:scale(.96)}.acp-pill-active{background:var(--acp-cyan)!important;color:#fff!important;border-color:var(--acp-cyan)!important}.acp-pill-selected{border-width:2px}.acp-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.acp-map{width:100%;height:280px;margin:0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}@media(min-width:768px){.acp-map{height:400px}}.acp-map-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;color:#475569;font-size:13px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.acp-status-panel{margin:0 16px 8px;background:#ffffff0f;border-radius:10px;padding:12px 14px}.acp-status-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.acp-status-name{font-weight:700;font-size:14px;color:#f1f5f9}.acp-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}.acp-status-ago{font-size:12px;color:#64748b;margin-left:auto}.acp-status-job{font-size:12px;color:#94a3b8;margin-top:4px}.acp-status-addr{color:#64748b}.acp-status-idle{font-size:13px;color:#475569;margin-top:6px}.acp-timeline{margin-top:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.acp-timeline-row{display:flex;align-items:baseline;gap:6px;padding:3px 0;font-size:12px}.acp-tl-icon{width:18px;text-align:center;flex-shrink:0}.acp-tl-label{color:#e2e8f0;font-weight:600;min-width:100px}.acp-tl-time{color:#64748b;min-width:65px}.acp-tl-ref{color:#94a3b8;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acp-flag-icon{color:#ef4444;margin-right:4px}.acp-flag-note{color:#fca5a5!important;margin-top:6px}.acp-action-bar{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.acp-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 6px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0a;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.acp-action-btn:active{background:#ffffff1a}.acp-action-btn:disabled{opacity:.35;cursor:not-allowed}.acp-action-btn.acp-action-flagged{background:#ef444426;border-color:#ef44444d;color:#fca5a5}.acp-action-icon{font-size:14px}.acp-modal-overlay{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:flex-end;justify-content:center}.acp-modal-sheet{width:100%;max-width:520px;max-height:85vh;background:#1b3a5f;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:acp-slide-up .2s ease-out}@keyframes acp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:768px){.acp-modal-overlay{align-items:center}.acp-modal-sheet{border-radius:16px;max-width:520px}}.acp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.acp-modal-header h3{font-size:16px;font-weight:700;color:#f1f5f9;margin:0}.acp-modal-close{background:none;border:none;color:#64748b;font-size:22px;cursor:pointer;padding:0;line-height:1}.acp-modal-current{padding:8px 16px;font-size:13px;color:#94a3b8}.acp-modal-error{margin:0 16px;padding:8px 12px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px}.acp-modal-body{padding:12px 16px;overflow-y:auto;flex:1}.acp-modal-spinner,.acp-modal-empty{text-align:center;padding:24px 0;color:#64748b;font-size:14px}.acp-modal-input{width:100%;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0f;color:#e2e8f0;font-size:14px;font-family:inherit;resize:vertical;outline:none}.acp-modal-input:focus{border-color:var(--acp-cyan)}.acp-modal-input::placeholder{color:#ffffff4d}.acp-modal-actions{display:flex;gap:10px;padding:12px 16px 20px;border-top:1px solid rgba(255,255,255,.06)}.acp-modal-btn-cancel{flex:1;padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:transparent;color:#94a3b8;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.acp-modal-btn-confirm{flex:1;padding:12px;border:none;border-radius:10px;background:var(--acp-cyan);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.acp-modal-btn-confirm:disabled{opacity:.4;cursor:not-allowed}.acp-btn-flag{background:#dc2626}.acp-btn-unflag{background:#475569}.acp-reassign-row{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:transparent;color:#e2e8f0;font-size:13px;font-family:inherit;cursor:pointer;margin-bottom:6px;transition:all .15s;text-align:left}.acp-reassign-row:hover{background:#ffffff0f}.acp-reassign-row.selected{border-color:var(--acp-cyan);background:#00b4d81a}.acp-reassign-name{flex:1;font-weight:600}.acp-reassign-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.acp-reassign-count{font-size:11px;color:#64748b}.acp-msg-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.acp-msg-chip{padding:5px 10px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff0a;color:#94a3b8;font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s}.acp-msg-chip:hover{background:#ffffff1a;color:#e2e8f0}.acp-msg-counter{text-align:right;font-size:11px;color:#475569;margin-top:4px}.acp-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);max-width:400px;width:calc(100% - 32px);padding:12px 16px;border-radius:10px;display:flex;align-items:center;gap:8px;z-index:20000;cursor:pointer;animation:acp-toast-in .25s ease-out;font-size:14px;font-weight:600}@keyframes acp-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.acp-toast-success{background:#14532d;border-left:4px solid #22c55e;color:#86efac}.acp-toast-error{background:#7f1d1d;border-left:4px solid #ef4444;color:#fca5a5}.acp-toast-icon{font-size:16px}.acp-toast-msg{flex:1}@keyframes acp-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:#1b3a5f;border-radius:8px;animation:acp-pulse 1.5s ease-in-out infinite}.acp-offline-banner{background:#991b1b;color:#fff;text-align:center;padding:8px 16px;font-size:13px;font-weight:600}.acp-install-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--acp-cyan);color:#fff;font-size:13px;animation:acp-slide-down .25s ease-out}@keyframes acp-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.acp-install-text{flex:1}.acp-install-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.acp-install-btn{padding:6px 14px;background:#fff;color:var(--acp-cyan);border:none;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.acp-install-close{background:none;border:none;color:#ffffffb3;font-size:20px;cursor:pointer;padding:0;line-height:1}.acp-update-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#1b3a5f;color:var(--acp-cyan);font-size:13px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}.acp-update-actions{display:flex;align-items:center;gap:8px}.acp-update-btn{padding:5px 12px;background:var(--acp-cyan);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.acp-update-close{background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:0;line-height:1}.acp-error-boundary-full{min-height:100vh;min-height:100dvh;background:var(--acp-navy);display:flex;align-items:center;justify-content:center;padding:20px}.acp-error-boundary-card{text-align:center;color:#e2e8f0}.acp-error-boundary-card h2{font-size:18px;font-weight:700;margin-bottom:8px}.acp-error-boundary-card p{color:#94a3b8;font-size:14px;margin-bottom:24px}.acp-error-boundary-btn{padding:12px 24px;background:var(--acp-cyan);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}.acp-panel-error{padding:16px;text-align:center;color:#94a3b8;font-size:13px}.acp-panel-error button{margin-left:8px;padding:4px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--acp-cyan);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.acp-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));text-align:center;font-size:11px;color:#475569;border-top:1px solid rgba(255,255,255,.05)}.acp-footer-stale{color:#f59e0b}.acp-app{padding-bottom:env(safe-area-inset-bottom,0px)}.acp-desktop-row,.acp-status-panels{display:contents}@media(min-width:768px){.acp-header{padding:16px 24px 12px}.acp-summary-section{padding:12px 24px 4px}.acp-tech-selector{padding:8px 24px}.acp-job-feed{padding:16px 24px}.acp-desktop-row{display:block}.acp-desktop-row .acp-map{height:400px}.acp-desktop-row.acp-has-panels{display:grid;grid-template-columns:1fr 1fr;gap:0}.acp-desktop-row.acp-has-panels .acp-map{height:100%;min-height:350px;border-right:1px solid rgba(255,255,255,.06)}.acp-status-panels{display:flex;flex-direction:column;overflow-y:auto;max-height:400px;padding:8px}.acp-status-panel{margin:0 0 8px}}.acp-action-btn{min-height:44px}.acp-pill{min-height:36px}.acp-reassign-row{min-height:44px}.acp-msg-chip,.acp-install-btn{min-height:36px}.acp-app{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.acp-tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:#0a1830;border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom,0px);z-index:50}.acp-tab{flex:1;background:none;border:none;color:#64748b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;min-height:56px;text-decoration:none}.acp-tab.active{color:var(--acp-cyan)}.acp-tab-icon-wrap{position:relative;display:inline-flex}.acp-tab-badge{position:absolute;top:-4px;right:-8px;background:#dc2626;color:#fff;border-radius:10px;font-size:10px;font-weight:700;padding:1px 5px;line-height:1.3;min-width:16px;text-align:center}.acp-msg-page{flex:1;display:flex;flex-direction:column;min-height:0;background:#0a1830}.acp-msg-list{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.acp-msg-feed{min-height:0}.acp-msg-empty{padding:40px 20px;text-align:center;color:#64748b;font-size:14px}.acp-msg-row{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;transition:background .15s}.acp-msg-row:active{background:#ffffff0a}.acp-msg-row-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.acp-msg-name{flex:1;font-size:15px;font-weight:700;color:#e2e8f0}.acp-msg-badge{background:#dc2626;color:#fff;border-radius:12px;font-size:11px;font-weight:700;padding:2px 7px;min-width:20px;text-align:center}.acp-msg-time{font-size:11px;color:#64748b}.acp-msg-preview{font-size:13px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acp-msg-thread-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--acp-navy);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.acp-msg-back{background:none;border:none;color:var(--acp-cyan);font-size:22px;cursor:pointer;padding:4px 8px}.acp-msg-thread-name{font-size:16px;font-weight:700;color:#e2e8f0}.acp-msg-feed{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;display:flex;flex-direction:column;gap:6px}.acp-msg-divider{text-align:center;font-size:11px;font-weight:700;color:#64748b;padding:10px 0 4px;letter-spacing:.5px}.acp-bubble-row{display:flex}.acp-bubble-row.left{justify-content:flex-start}.acp-bubble-row.right{justify-content:flex-end}.acp-bubble{max-width:80%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.4;word-break:break-word;white-space:pre-wrap}.acp-bubble.tech{background:#1e293b;color:#e2e8f0;border-bottom-left-radius:4px}.acp-bubble.dispatch{background:var(--acp-cyan);color:#06121f;border-bottom-right-radius:4px}.acp-bubble-img{max-width:220px;border-radius:8px;display:block;margin-bottom:4px;cursor:pointer}.acp-bubble-body{display:block}.acp-bubble-time{font-size:10px;margin-top:3px;text-align:right;opacity:.65}.acp-msg-preview-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--acp-navy);border-top:1px solid rgba(255,255,255,.08)}.acp-msg-preview-bar img{width:50px;height:50px;object-fit:cover;border-radius:6px}.acp-msg-preview-bar button{background:#dc2626;color:#fff;border:none;border-radius:12px;width:24px;height:24px;font-size:14px;font-weight:700;cursor:pointer}.acp-msg-input{display:flex;gap:8px;align-items:flex-end;padding:8px 10px;background:var(--acp-navy);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.acp-msg-clip,.acp-msg-send{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.acp-msg-clip{background:#ffffff0f;color:#94a3b8}.acp-msg-send{background:var(--acp-cyan);color:#06121f}.acp-msg-send:disabled{background:#ffffff14;color:#475569;cursor:default}.acp-msg-textarea{flex:1;padding:10px 14px;font-size:16px;font-family:inherit;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#e2e8f0;resize:none;outline:none;max-height:100px;line-height:1.3}.acp-msg-textarea::placeholder{color:#64748b}.audit-shell{min-height:100vh;background:#f1f5f9;display:flex;flex-direction:column}.audit-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:#0f2340;color:#fff;border-bottom:3px solid #00B4D8}.audit-brand{font-size:18px;font-weight:600;letter-spacing:.4px}.audit-brand-sub{font-size:11px;color:#ffffffa6;text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}.audit-header-right{display:flex;align-items:center;gap:18px}.audit-identity{text-align:right;line-height:1.3}.audit-identity-name{font-size:14px;font-weight:500}.audit-identity-org{font-size:11px;color:#ffffffa6}.audit-identity-expiry{color:#ffffff8c}.audit-signout{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer}.audit-signout:hover{background:#ffffff14}.audit-main{flex:1;padding:32px;max-width:1100px;margin:0 auto;width:100%;box-sizing:border-box}.audit-landing{display:flex;flex-direction:column;gap:24px}.audit-landing-intro{font-size:15px;line-height:1.5;color:#334155;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #00B4D8;border-radius:10px;padding:16px 20px;margin:0}.audit-search{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;position:relative}.audit-search-label{display:block;font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.audit-search-row{position:relative}.audit-search-input{width:100%;padding:12px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;box-sizing:border-box;background:#f8fafc}.audit-search-input:focus{outline:none;border-color:#00b4d8;background:#fff;box-shadow:0 0 0 3px #00b4d82e}.audit-search-results{margin-top:10px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;max-height:360px;overflow-y:auto}.audit-search-empty{padding:14px 16px;font-size:13px;color:#94a3b8}.audit-search-result{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid #f1f5f9;padding:10px 16px;cursor:pointer;font:inherit;color:inherit}.audit-search-result:last-child{border-bottom:none}.audit-search-result.is-focused,.audit-search-result:hover{background:#f1f5f9}.audit-search-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:#0f2340;min-width:80px}.audit-search-meta{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#475569}.audit-search-section{color:#475569}.audit-search-doc{color:#0c8aab;font-size:12px}.audit-entry-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.audit-entry-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;display:flex;flex-direction:column;gap:8px}.audit-entry-card:hover{border-color:#00b4d8;box-shadow:0 6px 18px #0f23400f;transform:translateY(-1px)}.audit-entry-title{font-size:18px;font-weight:600;color:#0f2340}.audit-entry-body{font-size:14px;color:#475569;line-height:1.5}.audit-entry-cta{margin-top:6px;font-size:14px;font-weight:600;color:#00b4d8}.audit-index{display:flex;flex-direction:column;gap:16px}.audit-index-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.audit-index-head h2{margin:0 0 4px;color:#0f2340;font-size:22px}.audit-index-sub{margin:0;color:#64748b;font-size:13px}.audit-link-back{color:#00b4d8;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.audit-link-back:hover{text-decoration:underline}.audit-index-search{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:10px}.audit-index-search .audit-search-input{flex:1}.audit-search-clear{background:transparent;border:1px solid #cbd5e1;color:#475569;padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer}.audit-search-clear:hover{background:#f1f5f9}.audit-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:12px 14px}.audit-empty{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:24px;text-align:center;color:#94a3b8;font-size:14px}.audit-group{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.audit-group-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#f8fafc;border:none;border-bottom:1px solid #e2e8f0;padding:14px 18px;cursor:pointer;font:inherit;color:inherit}.audit-group-head:hover{background:#f1f5f9}.audit-group-chevron{color:#94a3b8;font-size:11px;transition:transform .12s ease;width:12px;display:inline-block}.audit-group-chevron.is-open{transform:rotate(90deg)}.audit-group-name{font-weight:600;color:#0f2340;font-size:15px;flex:1}.audit-group-count{color:#64748b;font-size:12px;font-weight:500}.audit-group-body{padding:4px 0}.audit-spec-row{display:flex;flex-direction:column;gap:6px;padding:12px 18px;border-bottom:1px solid #f1f5f9;transition:background .4s ease}.audit-spec-row:last-child{border-bottom:none}.audit-spec-row.is-highlight{background:#fef3c7}.audit-spec-main{display:flex;align-items:center;gap:12px}.audit-spec-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;color:#0f2340;background:#eef2f7;padding:3px 8px;border-radius:4px;min-width:64px;text-align:center}.audit-spec-title{flex:1;font-size:14px;color:#1e293b}.audit-spec-untitled{color:#94a3b8;font-style:italic}.audit-spec-meta{display:flex;align-items:center;gap:6px}.audit-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.audit-badge-applies{background:#e0f2fe;color:#075985}.audit-badge-level{background:#ede9fe;color:#5b21b6}.audit-spec-docs{display:flex;flex-direction:column;gap:4px;padding-left:76px}.audit-doc-empty{font-size:12px;color:#94a3b8;font-style:italic}.audit-doc-row{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;padding:6px 8px;cursor:pointer;font:inherit;color:inherit;transition:background .1s ease,border-color .1s ease}.audit-doc-row:hover{background:#f8fafc;border-color:#e2e8f0}.audit-doc-title{flex:1;font-size:13px;color:#334155}.audit-doctype{display:inline-block;padding:2px 6px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:.5px;min-width:36px;text-align:center}.audit-doctype-pdf{background:#fee2e2;color:#991b1b}.audit-doctype-internal{background:#dbeafe;color:#1e40af}.audit-doctype-external{background:#fef3c7;color:#92400e}.audit-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.audit-pill-ready{background:#dcfce7;color:#166534}.audit-pill-progress{background:#dbeafe;color:#1e40af}.audit-pill-update{background:#fef3c7;color:#92400e}.audit-pill-missing{background:#fee2e2;color:#991b1b}.audit-pill-na{background:#e2e8f0;color:#475569}.audit-application{display:flex;flex-direction:column;gap:16px}.audit-application-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.audit-application-head h2{margin:0 0 4px;color:#0f2340;font-size:22px}.audit-application-sub{margin:0;color:#64748b;font-size:13px}.audit-application-head-right{display:flex;align-items:center;gap:14px}.audit-year-select{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.audit-year-select select{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font:inherit;font-size:13px;text-transform:none;letter-spacing:0;font-weight:500;color:#0f2340}.audit-year-static{font-size:13px;color:#475569;font-weight:500}.audit-application-intro{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #00B4D8;border-radius:10px;padding:16px 20px;color:#334155;font-size:14px;line-height:1.5}.audit-application-intro p{margin:6px 0}.audit-part{display:flex;flex-direction:column;gap:12px}.audit-part-label{margin:8px 0 4px;font-size:12px;font-weight:700;letter-spacing:.6px;color:#475569;text-transform:uppercase}.audit-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.audit-item-label{font-weight:600;color:#0f2340;font-size:15px;line-height:1.35}.audit-item-body{font-size:14px;color:#334155;line-height:1.55}.audit-item-body p{margin:4px 0}.audit-item-body ul,.audit-item-body ol{margin:4px 0;padding-left:22px}.audit-item-response{display:flex;align-items:baseline;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px}.audit-item-response-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#64748b}.audit-item-response-value{font-size:14px;color:#0f2340;font-weight:500}.audit-item-evidence{border-top:1px dashed #e2e8f0;padding-top:10px;margin-top:2px;display:flex;flex-direction:column;gap:6px}.audit-item-evidence-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#475569}.audit-item-evidence-list{display:flex;flex-direction:column;gap:4px}.audit-doc-view-cta{font-size:12px;color:#00b4d8;font-weight:600;white-space:nowrap}.audit-doc-row.is-active{background:#ecfeff;border-color:#00b4d8}.audit-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.audit-split-left{display:flex;flex-direction:column;gap:14px;min-width:0}.audit-split-right{position:sticky;top:16px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:540px;height:calc(100vh - 140px);display:flex;flex-direction:column;overflow:hidden}.audit-docview{display:flex;flex-direction:column;height:100%}.audit-docview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.audit-docview-title{font-size:14px;font-weight:600;color:#0f2340;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-docview-close{background:transparent;border:1px solid #cbd5e1;color:#475569;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer}.audit-docview-close:hover{background:#f1f5f9}.audit-docview-body{flex:1;overflow:auto;display:flex;flex-direction:column}.audit-docview-loading{margin:auto;color:#94a3b8;font-size:13px;padding:24px}.audit-docview-titleblock{display:flex;flex-direction:column;gap:2px;min-width:0}.audit-docview-meta-line{font-size:11px;color:#64748b;font-weight:500}.audit-docview-embedded-frame{flex:1;width:100%;border:none;background:#f8fafc}.audit-docview-info{padding:20px;display:flex;flex-direction:column;gap:14px}.audit-docview-info-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#334155}.audit-docview-meta{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#475569}.audit-docview-meta code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:12px}.audit-docview-notes{background:#fef9c3;border:1px solid #fde68a;border-radius:6px;padding:8px 10px;font-size:12px;color:#713f12}.audit-docview-hint{font-size:12px;color:#94a3b8;font-style:italic}.audit-docview-extlink{display:inline-block;background:#0f2340;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;text-decoration:none;font-weight:600;width:max-content;cursor:pointer}.audit-docview-extlink:hover{background:#142e54}.audit-docview-confirm{background:#fef9c3;border:1px solid #fde68a;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.audit-docview-confirm p{margin:0;font-size:13px;color:#713f12;line-height:1.5}.audit-docview-confirmed{background:#ecfeff;border:1px solid #a5f3fc;border-radius:8px;padding:10px 12px;font-size:13px;color:#155e75}.audit-pdfviewer{display:flex;flex-direction:column;height:100%;min-height:320px}.audit-pdfviewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.audit-pdfviewer-pager{display:flex;align-items:center;gap:8px}.audit-pdfviewer-btn{background:#fff;border:1px solid #cbd5e1;color:#0f2340;width:28px;height:28px;border-radius:4px;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.audit-pdfviewer-btn:hover:not(:disabled){background:#eef2f7}.audit-pdfviewer-btn:disabled{opacity:.4;cursor:not-allowed}.audit-pdfviewer-page{font-size:12px;color:#475569;font-variant-numeric:tabular-nums}.audit-pdfviewer-download{background:#00b4d8;border:none;color:#fff;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.audit-pdfviewer-download:hover:not(:disabled){background:#0891b2}.audit-pdfviewer-download:disabled{opacity:.6;cursor:progress}.audit-pdfviewer-canvas-wrap{flex:1;display:flex;align-items:center;justify-content:center;background:#374151;overflow:auto;padding:12px;min-height:0}.audit-pdfviewer-canvas{max-width:100%;max-height:100%;background:#fff;box-shadow:0 4px 18px #0000004d}.audit-docpage{display:flex;flex-direction:column;gap:16px}.audit-docpage-head{display:flex;align-items:center;justify-content:space-between}.audit-docpage-frame{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;min-height:600px;height:calc(100vh - 180px);display:flex;flex-direction:column}.audit-docpage-frame .audit-docview{height:100%}.audit-docview-placeholder{margin:auto;padding:24px;text-align:center;color:#94a3b8;display:flex;flex-direction:column;gap:8px;max-width:320px}.audit-docview-placeholder-title{font-size:14px;font-weight:600;color:#64748b}.audit-docview-placeholder-body{font-size:13px;line-height:1.5}@media(max-width:900px){.audit-split{grid-template-columns:1fr}.audit-split-right{position:fixed;inset:0;height:100vh;border-radius:0;border:none;z-index:50;display:none}.audit-split.is-mobile-open .audit-split-right{display:flex}}.audit-stub{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:32px}.audit-stub h2{margin:0 0 8px;color:#0f2340}.audit-stub p{color:#475569;line-height:1.55;margin:6px 0}.audit-stub code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:12px}.audit-stub-args{font-size:13px;color:#64748b}.audit-stub-back{display:inline-block;margin-top:20px;color:#00b4d8;font-weight:600;font-size:14px;text-decoration:none}.audit-stub-back:hover{text-decoration:underline}.audit-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f2340;padding:24px}.audit-login-card{width:100%;max-width:420px;background:#fff;border-radius:12px;padding:32px;box-shadow:0 12px 40px #00000040}.audit-login-header{text-align:center;margin-bottom:24px}.audit-login-header h1{font-size:22px;color:#0f2340;margin:0 0 8px}.audit-login-header p{font-size:13px;color:#64748b;margin:0}.audit-login-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.audit-login-field{display:block;margin-bottom:16px}.audit-login-field span{display:block;font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.audit-login-field input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;box-sizing:border-box}.audit-login-field input:focus{outline:none;border-color:#00b4d8;box-shadow:0 0 0 3px #00b4d826}.audit-login-submit{width:100%;padding:12px;background:#0f2340;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;margin-top:8px}.audit-login-submit:hover:not(:disabled){background:#142e54}.audit-login-submit:disabled{opacity:.6;cursor:not-allowed}:root{--navy: #1B3A5F;--sidebar-bg: #0F2340;--sidebar-hover: #162d52;--sidebar-active: #1B3A5F;--cyan: #00B4D8;--green: #2D6A4F;--warning: #E9C46A;--danger: #E76F51;--bg: #f0f2f5;--card: #ffffff;--text: #1a1a2e;--text-secondary: #64748b;--border: #e2e8f0;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08);--shadow-lg: 0 4px 12px rgba(0,0,0,.1);--sidebar-w: 232px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--fl-accent: #0369a1;--fl-text-secondary: #475569;--fl-success: #166534;--fl-success-bg: #dcfce7;--fl-warning: #854d0e;--fl-warning-bg: #fef9c3;--fl-danger: #b91c1c;--fl-danger-bg: #fee2e2;--fl-info: #075985;--fl-info-bg: #e0f2fe;--fl-idle: #475569;--fl-idle-bg: #f1f5f9;--fl-offline: #334155;--fl-offline-bg: #e2e8f0;--fl-border-strong: #cbd5e1;--fl-radius-sm: 6px;--fl-sidebar-text: rgba(255,255,255,.72);--fl-sidebar-text-dim: rgba(255,255,255,.55);--fl-sidebar-divider: rgba(255,255,255,.08);--fl-sp-1: 4px;--fl-sp-2: 8px;--fl-sp-3: 12px;--fl-sp-4: 16px;--fl-sp-5: 20px;--fl-sp-6: 24px;--fl-control-h: 30px;--fl-control-h-sm: 26px;--fl-fs-page-title: 20px;--fl-fs-card-title: 14px;--fl-fs-body: 13px;--fl-fs-secondary: 11.5px;--fl-fs-nav: 13px;--fl-fs-nav-section: 10.5px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:14px}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;min-height:100vh;overflow-x:hidden;max-width:100vw}.overlay{position:fixed;inset:0;background:#00000080;z-index:90}.msgr-panel{width:0;min-height:100vh;background:#fff;border-left:1px solid #e5e5ea;overflow:hidden;transition:width .22s ease;flex-shrink:0;display:flex;flex-direction:column;position:relative;z-index:90}.msgr-panel.open{width:600px}.msgr-panel-inner{width:600px;height:100vh;display:flex;flex-direction:column}.msgr-panel-backdrop{display:none}@media(max-width:1320px){.msgr-panel.open{position:fixed;top:0;right:0;bottom:0;width:600px;box-shadow:-8px 0 24px #0000002e}.msgr-panel.open .msgr-panel-backdrop{display:block;position:fixed;inset:0 600px 0 0;background:#00000040;z-index:-1;cursor:pointer}}@media(max-width:720px){.msgr-panel.open,.msgr-panel-inner{width:100vw}}.msgr-topbar-btn{position:relative}.msgr-topbar-btn .msgr-unread-badge{position:absolute;top:-4px;right:-4px;background:#ff3b30;color:#fff;min-width:16px;height:16px;border-radius:8px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:width .2s}.collapsed .sidebar{width:var(--sidebar-w-collapsed)}.sb-brand{padding:16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);min-height:60px}.sb-logo-frame{width:34px;height:34px;border-radius:7px;flex-shrink:0;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.sb-logo-frame img{width:28px;height:28px;object-fit:contain}.sb-title{font-size:15px;font-weight:700;line-height:1.3;letter-spacing:.5px}.sb-title small{display:block;font-size:10px;font-weight:400;opacity:.55;letter-spacing:.3px;margin-top:1px}.sb-toggle{background:none;border:none;color:#fff6;cursor:pointer;padding:8px 16px;font-size:14px;text-align:right;display:block;width:100%}.sb-toggle:hover{color:#fff}.sb-nav{flex:1;min-height:0;padding:8px 6px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.sb-nav::-webkit-scrollbar{width:6px}.sb-nav::-webkit-scrollbar-track{background:transparent}.sb-nav::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.sb-nav::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sb-link{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--fl-radius-sm);color:var(--fl-sidebar-text);font-size:var(--fl-fs-nav);font-weight:500;transition:background .15s,color .15s}.sb-link:hover{background:var(--sidebar-hover);color:#fff;text-decoration:none}.sb-link.active{background:var(--sidebar-active);color:#fff;box-shadow:inset 2px 0 0 var(--cyan)}.sb-nav button.sb-link{font-weight:600}.sb-icon{width:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.sb-icon svg{display:block}.collapsed .sb-link{justify-content:center;padding:8px}.sb-foot{padding:16px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.sb-foot small{color:#ffffff59;font-size:11px}.main-wrap{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh;min-width:0;overflow-x:hidden;transition:margin-left .2s}.collapsed .main-wrap{margin-left:var(--sidebar-w-collapsed)}.topbar{height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0;max-width:calc(50% - 140px)}.topbar-title{font-size:18px;font-weight:700;color:var(--navy)}.hq-topnav{display:flex;align-items:center;gap:10px;min-width:0}.hq-histnav{display:flex;gap:2px;flex-shrink:0}.hq-histbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--navy);cursor:pointer}.hq-histbtn:hover:not(:disabled){background:var(--bg)}.hq-histbtn:disabled{opacity:.35;cursor:default}.hq-crumbs{min-width:0}.hq-crumbs ol{display:flex;align-items:baseline;min-width:0;margin:0;padding:0;list-style:none;white-space:nowrap}.hq-crumbs li{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--text-secondary)}.hq-crumbs li:not(.hq-crumb-current){flex-shrink:3;max-width:180px;min-width:3.5em}.hq-crumbs li+li:before{content:"›";margin:0 6px;color:var(--text-secondary);opacity:.7}.hq-crumbs a{color:var(--text-secondary);text-decoration:none}.hq-crumbs a:hover{color:var(--navy);text-decoration:underline}.hq-crumbs .hq-crumb-current{flex-shrink:.25;min-width:48px}.hq-crumbs .topbar-title{display:inline;margin:0}.topbar-clock{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:7px;z-index:55;white-space:nowrap;pointer-events:none;background:var(--navy);color:#fff;font-size:21px;font-variant-numeric:tabular-nums;padding:5px 14px;border-radius:6px}.topbar-clock-date{font-weight:600}.topbar-clock-time{font-weight:700;letter-spacing:.2px}.topbar-clock-sep{opacity:.5}.mobile-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--navy)}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-user{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.avatar-info{display:flex;flex-direction:column}.avatar-name{font-size:13px;font-weight:600}.avatar-role{font-size:11px;color:var(--text-secondary);text-transform:capitalize}.logout-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.logout-btn:hover{background:var(--bg);color:var(--text)}.content{flex:1;padding:24px;overflow-x:hidden;min-width:0}.card{background:var(--card);border-radius:10px;box-shadow:0 1px 4px #0000000f,0 2px 12px #0000000a;padding:20px;border:1px solid var(--border)}.card-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin:-4px 0 12px;border-bottom:1px solid var(--border)}.card-head h2{font-size:15px;font-weight:700;color:var(--navy)}.card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);margin-bottom:12px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;transition:all .15s;white-space:nowrap}.btn:hover{background:var(--bg);text-decoration:none}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.primary:hover{background:#3d8a6a}.btn.danger{color:var(--danger);border-color:var(--danger);background:transparent}.btn.danger:hover{background:#fef2f2}.btn.sm{padding:5px 10px;font-size:12px}.btn.full{width:100%;justify-content:center}.btn-icon{background:none;border:none;cursor:pointer;font-size:18px;color:var(--text-secondary);padding:2px 6px}.btn-icon:hover{color:var(--danger)}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap;line-height:18px;vertical-align:middle}.type-pill{background:#f1f5f9;padding:2px 8px;border-radius:4px;font-size:12px;color:var(--text-secondary);text-transform:capitalize}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat-val{font-size:28px;font-weight:800;color:var(--navy)}.stat-lbl{font-size:12px;color:var(--text-secondary);margin-top:4px;font-weight:500}.dash-grid{display:grid;grid-template-columns:1fr 340px;gap:20px}.dash-main{flex:1;max-height:380px;overflow-y:auto}.timeline{padding:16px 20px}.timeline-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.timeline-item:last-child{border-bottom:none}.tl-time{font-size:13px;font-weight:600;color:var(--navy);width:70px;flex-shrink:0}.tl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--cyan)}.tl-dot[data-status=completed]{background:var(--green)}.tl-dot[data-status=in-progress]{background:var(--warning)}.tl-dot[data-status=cancelled]{background:#ccc}.tl-body{flex:1;min-width:0}.tl-title{font-weight:600;font-size:14px}.tl-meta{font-size:12px;color:var(--text-secondary);margin-top:2px}.activity-feed{padding:12px 20px}.activity-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none}.act-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);flex-shrink:0}.act-dot[data-status=completed]{background:var(--green)}.act-dot[data-status=in-progress]{background:var(--warning)}.act-body{flex:1;min-width:0}.act-text{font-size:13px;display:block}.act-date{font-size:11px;color:var(--text-secondary)}.card>.data-table,.card>table{margin:-20px;width:calc(100% + 40px)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8fafc}.data-table th{padding:10px 16px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}.data-table tbody tr:nth-child(2n){background:#fafbfc}.data-table tbody tr:hover{background:#f0f7ff}.clickable-row{cursor:pointer}.mono{font-family:SF Mono,Fira Code,monospace;font-size:13px}.empty-cell{text-align:center;padding:32px;color:var(--text-secondary)}.table-footer{text-align:right;padding:10px 0;font-size:12px;color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:12px}.pagination-info{font-size:13px;color:var(--text-secondary)}.pagination-controls .btn:disabled{opacity:.4;cursor:default}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.toolbar-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-box{padding:8px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;width:280px;background:var(--card)}.search-box:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #00b4d81f}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--card)}.dispatch-dense .toolbar{margin-bottom:8px;gap:8px}.dispatch-dense .toolbar-filters{gap:7px}.dispatch-dense .filter-select{padding:5px 9px;font-size:12px}.dispatch-dense .btn.sm{padding:4px 8px;font-size:11px}.dispatch-dense .week-label{min-width:130px;font-size:13px}.week-nav{display:flex;align-items:center;gap:8px}.week-label{font-size:14px;font-weight:600;color:var(--navy);min-width:180px;text-align:center}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-col{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);min-height:200px;display:flex;flex-direction:column}.week-col.today{box-shadow:0 0 0 2px var(--cyan),var(--shadow)}.week-col-head{padding:10px;text-align:center;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:2px}.day-name{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.day-num{font-size:18px;font-weight:700;color:var(--navy)}.today-num{background:var(--cyan);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}.week-col-body{flex:1;padding:6px;display:flex;flex-direction:column;gap:6px}.no-jobs{text-align:center;padding:20px 8px;font-size:12px;color:var(--text-secondary)}.job-card{border-radius:6px;padding:8px 10px;font-size:12px;border-left:3px solid var(--cyan);background:#f8fafc}.job-card.status-scheduled{border-left-color:#3b82f6}.job-card.status-in-progress{border-left-color:#f59e0b}.job-card.status-completed{border-left-color:var(--green)}.job-card.status-cancelled{border-left-color:#9ca3af}.jc-time{font-weight:700;color:var(--navy);margin-bottom:2px}.jc-customer{font-weight:600}.jc-customer a{color:var(--text)}.jc-customer a:hover{color:var(--cyan)}.jc-meta{color:var(--text-secondary);margin-top:2px}.jc-addr{color:var(--text-secondary);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.jc-price{font-weight:600;color:var(--green)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.back-link{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:4px}.back-link:hover{color:var(--cyan)}.breadcrumb{font-size:13px;margin-bottom:6px;color:var(--text-secondary)}.breadcrumb a{color:var(--cyan);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{margin:0 6px;color:var(--text-secondary);opacity:.5}.breadcrumb-current{color:var(--text-primary);font-weight:500}.loc-row td{background:var(--bg-card)}.loc-job-row td{font-size:12px;color:var(--text-secondary);padding-top:3px;padding-bottom:3px}.loc-job-indent{white-space:nowrap}.loc-action-row td{padding:4px 12px!important;border-bottom:2px solid var(--border)!important}.loc-action-row .btn{font-size:11px;padding:2px 10px}.edit-input{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg);color:var(--text)}.edit-input:focus{outline:none;border-color:var(--cyan)}.edit-textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg);color:var(--text);resize:vertical}.edit-textarea:focus{outline:none;border-color:var(--cyan)}.detail-title-row{display:flex;align-items:center;gap:12px}.detail-title-row h1{font-size:22px;font-weight:800;color:var(--navy)}.acct-num{font-family:monospace;font-size:12px;background:#f1f5f9;padding:2px 8px;border-radius:4px;color:var(--text-secondary)}.detail-actions{display:flex;gap:8px}.tab-bar{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px;overflow:hidden}.tab{background:none;border:none;cursor:pointer;padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;display:flex;align-items:center;gap:5px}.tab:hover{color:var(--text)}.tab.active{color:var(--navy);border-bottom-color:var(--cyan)}.tab-count{background:#e2e8f0;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:700}.tab.active .tab-count{background:var(--cyan);color:#fff}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.overview-grid.job-sched-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}@media(max-width:1100px){.overview-grid.job-sched-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid.job-sched-grid>.card:last-child{grid-column:1 / -1}}@media(max-width:768px){.overview-grid.job-sched-grid{grid-template-columns:1fr}}.info-grid{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;font-size:13px}.info-label{color:var(--text-secondary);font-weight:500}.info-value{color:var(--text);font-weight:500}.notes-text{color:var(--text-secondary);font-size:14px;line-height:1.6;white-space:pre-wrap}.ql-editor{min-height:200px;font-size:14px;line-height:1.7}.ql-editor img{max-width:100%;height:auto;border-radius:6px;margin:8px 0}.rich-text-view{font-size:14px;line-height:1.7;color:var(--text)}.rich-text-view img{max-width:100%;height:auto;border-radius:6px;margin:8px 0}.rich-text-view h1,.rich-text-view h2,.rich-text-view h3{margin:12px 0 6px}.rich-text-view ul,.rich-text-view ol{margin:6px 0;padding-left:20px}.rich-text-view p{margin:4px 0}.form-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:800px}.form-section{padding:4px}.new-customer-grid{grid-template-columns:1fr 1fr;max-width:none;align-items:stretch;gap:12px}.new-customer-grid .card,.compact-tiles .card{padding:10px 12px 6px;min-width:0}.new-customer-grid .card-label,.compact-tiles .card-label{font-size:10px;letter-spacing:.6px;margin-bottom:6px}.new-customer-grid .field,.compact-tiles .field{margin-bottom:5px}.new-customer-grid .field label,.compact-tiles .field label{font-size:10.5px;margin-bottom:1px;line-height:1.3}.new-customer-grid .field input,.new-customer-grid .field select,.new-customer-grid .field textarea,.compact-tiles .field input,.compact-tiles .field select,.compact-tiles .field textarea{padding:3px 8px;font-size:12.5px}.new-customer-grid .field-row,.compact-tiles .field-row{gap:8px;grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.new-customer-grid .field-hint,.compact-tiles .field-hint{font-size:10px;margin-top:1px}.compact-tiles{align-items:stretch;gap:12px}.compact-tiles .info-grid{grid-template-columns:minmax(80px,118px) minmax(0,1fr);gap:3px 10px;font-size:12.5px;line-height:1.35}.compact-tiles .info-label,.compact-tiles .info-value{min-width:0;overflow-wrap:anywhere;text-wrap:pretty}.compact-tiles .info-label{font-size:11.5px}.compact-tiles .edit-input{padding:3px 8px;font-size:12.5px}.compact-tiles .geninfo-row{gap:12px;margin-bottom:12px}.new-customer-grid+.form-footer{margin-top:10px}@media(max-width:1100px){.new-customer-grid{grid-template-columns:1fr}}.field{margin-bottom:16px}.field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.field input,.field select,.field textarea{display:block;width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #00b4d81f}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.form-footer{display:flex;gap:12px;margin-top:20px;max-width:800px}.line-items-table{width:100%;border-collapse:collapse}.line-items-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);padding:8px 6px;border-bottom:1px solid var(--border)}.line-items-table td{padding:6px}.line-items-table input{padding:7px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;width:100%}.line-items-table input:focus{outline:none;border-color:var(--cyan)}.legacy-auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sidebar-bg) 0%,#081525 100%);padding:20px}.legacy-auth-card{background:var(--card);border-radius:12px;padding:40px 32px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.legacy-auth-header{text-align:center;margin-bottom:28px}.legacy-auth-logo{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:0;margin-bottom:14px;overflow:hidden}.legacy-auth-logo img{width:100%;height:100%;object-fit:cover;border-radius:0}.legacy-auth-header h1{font-size:20px;color:var(--navy);font-weight:700}.legacy-auth-header p{font-size:13px;color:var(--text-secondary);margin-top:4px}.legacy-auth-card .field{margin-bottom:18px}.legacy-auth-card .btn{padding:11px;font-size:15px;margin-top:8px}.alert{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.loading-state{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary);font-size:15px}.empty-state{text-align:center;padding:40px;color:var(--text-secondary)}@media(max-width:1024px){.dash-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.week-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .25s}.sidebar.open{transform:translate(0)}.main-wrap,.collapsed .main-wrap{margin-left:0}.mobile-toggle{display:block}.desktop-only{display:none}.topbar{padding:0 16px}.topbar-title{font-size:16px}.topbar-left{max-width:max(150px,calc(75% - 215px));gap:8px}.hq-crumbs li:not(.hq-crumb-current){display:none}.hq-crumbs li+li:before{content:none}.topbar-clock,.avatar-info{display:none}.content{padding:16px}.stats-row{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-val{font-size:22px}.week-grid{grid-template-columns:1fr}.week-col{min-height:auto}.week-col-head{flex-direction:row;justify-content:space-between}.toolbar{flex-direction:column;align-items:stretch}.toolbar-filters{flex-direction:column}.search-box{width:100%}.detail-header{flex-direction:column}.tab-bar{gap:0}.tab{padding:8px 12px;font-size:12px}.overview-grid,.field-row{grid-template-columns:1fr}.data-table th,.data-table td{padding:8px 10px;font-size:13px}}@media(max-width:480px){.hq-crumbs,.hq-histbtn.hq-fwd{display:none}}@media(max-width:480px){.stats-row{grid-template-columns:1fr}}.settings-page{max-width:900px}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%}.status-dot.connected{color:var(--green)}.status-dot.connected:before{background:var(--green)}.status-dot.disconnected{color:var(--danger)}.status-dot.disconnected:before{background:var(--danger)}.qbo-status-body{padding:4px 0}.qbo-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}.qbo-info-item{background:var(--bg);border-radius:6px;padding:10px 12px}.qbo-label{display:block;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.qbo-value{font-size:13px;font-weight:600;color:var(--text);word-break:break-all}.qbo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.qbo-connect-prompt{text-align:center;padding:24px 0}.qbo-connect-prompt p{color:var(--text-secondary);margin-bottom:16px}.qbo-connect-btn{padding:12px 28px!important;font-size:15px!important}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-primary:hover{background:#3d8a6a;text-decoration:none}.btn-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:#d65a3e;text-decoration:none}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert{position:relative}.alert-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.6}.alert-close:hover{opacity:1}.text-danger{color:var(--danger);font-weight:600}.badge-success{background:#dcfce7;color:#166534}.badge-error{background:#fef2f2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.error-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-secondary)}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.table-wrap th{text-align:left;padding:8px 12px;background:var(--bg);font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--border)}.table-wrap td{padding:8px 12px;border-bottom:1px solid var(--border)}.cert-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;flex-wrap:wrap}.cert-filters{display:flex;gap:8px;flex-wrap:wrap;flex:1}.cert-filters .search-input{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px}.cert-filters .search-input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 2px #00b4d826}.cert-filters .date-input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}.cert-filters .filter-select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff}.cert-bulk-actions{display:flex;gap:8px;align-items:center}.cert-count{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.cert-actions{display:flex;gap:4px;flex-wrap:nowrap}.btn-sm{padding:4px 8px;font-size:11px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap;display:inline-block;line-height:1.4}.btn-sm:hover{background:var(--bg);text-decoration:none}.btn-sm.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-sm.primary:hover{background:#3d8a6a}.btn-sm.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm.danger:hover{background:#d65a3e}.voided-row{opacity:.55}.void-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:3px;vertical-align:middle}@media(max-width:768px){.cert-toolbar,.cert-filters{flex-direction:column}.cert-actions{flex-wrap:wrap}}.est-year-group{margin-bottom:4px}.est-month-group{margin-left:20px}.est-folder{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;font-size:14px;text-align:left;border-radius:6px;transition:background .15s}.est-folder:hover{background:var(--bg)}.est-folder-year{font-weight:700;font-size:15px;color:var(--navy)}.est-folder-month{font-weight:600;font-size:14px;color:var(--text)}.est-folder-icon{font-size:10px;color:var(--text-secondary);width:12px;flex-shrink:0}.est-folder-icon-img{font-size:16px;flex-shrink:0}.est-folder-label{flex:1}.est-folder-count{font-size:12px;color:var(--text-secondary);font-weight:400;background:var(--bg);padding:2px 8px;border-radius:10px}.est-month-table{margin:0 0 8px 38px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.est-month-table .data-table{width:100%;border-collapse:collapse;font-size:13px;margin:0}.est-month-table .data-table th{text-align:left;padding:6px 10px;background:var(--bg);font-weight:600;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--border)}.est-month-table .data-table td{padding:6px 10px;border-bottom:1px solid var(--border)}.est-month-table .data-table tr:last-child td{border-bottom:none}@media(max-width:768px){.est-month-group{margin-left:8px}.est-month-table{margin-left:16px;overflow-x:auto}}.estimate-wizard{max-width:900px;margin:0 auto}.estimate-wizard-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.estimate-wizard-header h2{font-size:20px;font-weight:700}.est-num-badge{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--green);color:#fff;font-weight:600}.wizard-steps{display:flex;gap:2px;margin-bottom:20px;flex-wrap:wrap}.wizard-step{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:20px;background:transparent;cursor:pointer;font-size:12px;color:var(--text-secondary)}.wizard-step:disabled{cursor:default;opacity:.5}.wizard-step.active{background:#2d6a4f1a;border-color:#2d6a4f4d;font-weight:600;color:var(--text)}.wizard-step.done{color:var(--green)}.wizard-step.muted{opacity:.45;color:#94a3b8}.wizard-step.muted:hover{opacity:.7}.wizard-step.edited{color:var(--green)}.wizard-step.active.muted,.wizard-step.active.edited{opacity:1}.step-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:#f0f2f5;color:var(--text-secondary)}.wizard-step.active .step-num,.wizard-step.done .step-num{background:var(--green);color:#fff}.wizard-step.edited:not(.active) .step-num{background:#2d6a4f2e;color:var(--green)}.wizard-step.muted:not(.active) .step-num{background:#f0f2f5;color:#94a3b8}.wizard-step.saved{color:var(--green);opacity:1}.wizard-step.saved .step-num{background:var(--green);color:#fff}.wizard-body{padding-bottom:20px;min-height:calc(100vh - 260px)}.wizard-section{background:var(--card);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}.wizard-section h3{font-size:18px;font-weight:700;margin-bottom:16px}.wizard-section h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.5px}.wizard-footer{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--border);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;z-index:10;box-shadow:0 -4px 12px #00000014;border-radius:0 0 var(--radius) var(--radius);margin-top:16px}.wizard-footer-info{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary)}.save-msg{font-weight:600;color:var(--green)}.customer-mode-toggle{display:flex;gap:4px;margin-bottom:16px}.toggle-btn{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;cursor:pointer;font-size:13px;color:var(--text-secondary)}.toggle-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.customer-search-wrap{margin-bottom:12px}.search-input.full{width:100%}.search-input-wrap{position:relative}.search-input-wrap .search-input{padding-right:36px}.search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.search-hint{font-size:12px;color:var(--text-secondary);margin:6px 0 0}.customer-results{border:1px solid var(--border);border-radius:var(--radius);margin-top:4px;max-height:300px;overflow-y:auto;background:var(--card);box-shadow:0 4px 12px #00000014}.customer-result{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.customer-result:last-child{border-bottom:none}.customer-result:hover{background:#f0f7f0}.customer-result strong{display:block;font-size:13px}.customer-result span{display:block;font-size:11px;color:var(--text-secondary)}.customer-result .result-detail{font-size:10px;color:var(--text-secondary);opacity:.7;margin-top:1px}.selected-customer{display:flex;justify-content:space-between;align-items:center;gap:12px}.selected-customer-info{display:flex;flex-direction:column;gap:2px}.selected-customer-info strong{font-size:14px}.selected-customer-info span{font-size:11px;color:var(--text-secondary)}.contract-type-grid{display:grid;gap:8px}.contract-option{padding:14px 18px;border-radius:var(--radius);cursor:pointer;border:2px solid var(--border);display:flex;align-items:center;gap:12px;transition:all .15s}.contract-option:hover{background:#f8faf8}.contract-option.selected{background:#2d6a4f0a}.contract-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.contract-option strong{display:block;font-size:14px}.contract-option span{font-size:11px;color:var(--text-secondary)}.contract-options{margin-top:12px}.prospect-form{display:grid;gap:12px}.form-row-group{display:flex;gap:12px}.form-row-group .form-row{margin-bottom:0}.form-row{margin-bottom:10px}.form-row label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:4px}.form-row input,.form-row select,.form-row textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#f8fafc}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--green)}.form-row textarea{font-family:inherit;resize:vertical}.form-grid-3{display:grid;grid-template-columns:1fr 80px 90px;gap:8px}.text-muted{color:var(--text-secondary);font-size:12px}.text-danger{color:var(--danger)}.pill-group{display:flex;gap:6px;flex-wrap:wrap}.pill{padding:6px 12px;border-radius:7px;font-size:11px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-secondary);white-space:nowrap}.pill.active{border-color:var(--green);background:#2d6a4f1a;color:var(--text);font-weight:600}.materials-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.mat-header,.mat-row,.mat-footer{display:grid;grid-template-columns:1fr 64px 90px;padding:8px 12px;align-items:center}.mat-header{background:#f8fafc;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.mat-row{border-bottom:1px solid var(--border);font-size:12px}.mat-row.active{background:#2d6a4f0a}.mat-row input{width:50px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;text-align:center;font-size:12px}.cart-val{text-align:right;font-size:13px;font-weight:600;color:var(--green)}.cart-val.purple{color:#7b1fa2}.mat-footer{background:#2d6a4f14;border-top:2px solid rgba(45,106,79,.3);font-weight:700}.cart-total{text-align:right;font-size:18px;font-weight:800;color:var(--green)}.cart-total.purple{color:#7b1fa2}.materials-table:has(.purple) .mat-header,.materials-table:has(.purple) .mat-row,.materials-table:has(.purple) .mat-footer{grid-template-columns:1fr 64px 80px 80px}.sow-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.btn-ai{padding:4px 12px;border-radius:6px;border:none;background:var(--navy);color:#fff;font-size:10px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.btn-ai:disabled{opacity:.7;cursor:wait}.spinner-sm{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes jobAlertPulse{0%,to{transform:scale(1);box-shadow:0 0 0 2px #fff,0 1px 4px #dc262699}50%{transform:scale(1.08);box-shadow:0 0 0 2px #fff,0 2px 10px #dc2626e6}}@keyframes pmDuePulse{0%,to{opacity:1}50%{opacity:.3}}.pm-due-pulse{animation:pmDuePulse 1.1s ease-in-out infinite}.ai-result{margin-top:12px}.ai-rephrased{background:#e3f2fd;border:1px solid #90caf9;margin-bottom:8px}.ai-rephrased strong{color:#1565c0;font-size:12px}.ai-rephrased p{font-size:12px;line-height:1.4;margin-top:6px;white-space:pre-wrap}.ai-suggestions{background:#fffde7;border:1px solid #fff176;margin-bottom:8px}.ai-suggestions strong{color:#f57f17;font-size:12px}.suggestion-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-top:4px;font-size:11px}.ai-actions{display:flex;gap:6px;flex-wrap:wrap}.alert{padding:8px 12px;border-radius:var(--radius);font-size:12px;margin-top:8px}.alert.success{background:#d1fae5;color:#065f46}.alert.danger{background:#fee2e2;color:#991b1b}.alert.warning{background:#fff3e0;color:#e65100}.pricing-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:8px}.price-header,.price-row{display:grid;grid-template-columns:20px 1fr 56px 80px 80px 30px;gap:6px;padding:8px 10px;align-items:center}.price-row .drag-handle{cursor:grab;color:var(--text-secondary);opacity:.55;text-align:center;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none;touch-action:none}.price-row .drag-handle:hover{opacity:1}.price-row .drag-handle:active{cursor:grabbing}.price-row.dragging{opacity:.45;background:#f1f5f9}.price-row.drag-over{box-shadow:inset 0 2px 0 0 var(--primary)}.price-header{background:#f8fafc;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.price-row{border-bottom:1px solid var(--border);font-size:12px}.price-row input{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;text-align:right}.price-row .money{text-align:right;font-weight:600}.btn.full{width:100%}.svc-search{position:relative;display:flex}.svc-search input{width:100%;padding:4px 24px 4px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px}.svc-toggle{position:absolute;right:2px;top:0;bottom:0;width:20px;border:none;background:none;cursor:pointer;font-size:10px;color:var(--text-secondary)}.svc-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:50;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.svc-option{padding:8px 10px;cursor:pointer;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;gap:8px;font-size:11px}.svc-option:hover{background:#f0f7f0}.svc-option span{flex:1}.svc-option small{display:block;color:var(--text-secondary);font-size:9px}.svc-option strong{color:var(--green);white-space:nowrap}.svc-empty{padding:12px;text-align:center;color:var(--text-secondary);font-size:11px}.recurring-toggle{display:flex;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap;gap:8px}.recurring-toggle strong{display:block;font-size:13px}.pricing-summary{margin-top:14px}.summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--text-secondary)}.summary-row.green{color:var(--green)}.disc-input{display:flex;align-items:center;gap:4px}.disc-input input{width:46px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;text-align:right;font-size:12px}.disc-input .green{color:var(--green);font-weight:600}.summary-total{border-top:2px solid rgba(45,106,79,.3);margin-top:8px;padding-top:8px;display:flex;justify-content:space-between;align-items:center}.summary-total span:first-child{font-size:14px;font-weight:700}.summary-total span:last-child{font-size:26px;font-weight:800;color:var(--green)}.review-card{margin-bottom:12px}.review-card h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--green);margin-bottom:8px}.review-meta{font-size:11px;color:var(--text-secondary);margin-bottom:8px}.review-meta span{display:block}.review-field{display:flex;justify-content:space-between;padding:3px 0;font-size:12px}.review-field label{color:var(--text-secondary)}.review-field.green{color:var(--green)}.review-total{border-top:1px solid var(--border);margin-top:6px;padding-top:6px;display:flex;justify-content:space-between;font-weight:700}.big-total{font-size:22px;color:var(--green)}.sow-text{font-size:12px;padding:8px 10px;background:#f8fafc;border-radius:6px;border:1px solid var(--border);line-height:1.4;white-space:pre-wrap;margin-bottom:8px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-thumb{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb button{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#000000b3;border:none;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-add{border:2px dashed var(--border);border-radius:var(--radius);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:12px;transition:border-color .2s,background .2s}.photo-add:hover{border-color:var(--primary);color:var(--primary);background:#0f234008}.photo-grid.photo-drag-over{outline:2px dashed var(--primary);outline-offset:4px;border-radius:var(--radius);background:#0f234008}.review-actions{display:flex;gap:10px;margin-top:20px;padding:16px;background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);flex-wrap:wrap}.review-footer{margin-top:14px;text-align:center;font-size:11px;color:var(--text-secondary)}.contract-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.contract-badge[data-type=private]{background:#4caf501f;color:#2e7d32}.contract-badge[data-type=fac126]{background:#1976d21f;color:#1565c0}.contract-badge[data-type=mhec]{background:#7b1fa21f;color:#6a1b9a}.contract-badge[data-type=courts]{background:#e651001f;color:#e65100}.modal-overlay{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box{background:#fff;border-radius:14px;padding:24px;max-width:500px;width:100%;box-shadow:var(--shadow-lg)}.modal-box h3{margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.action-btns{display:flex;gap:4px}.link-primary{color:var(--green);font-weight:600}.insights-page{max-width:1400px}.insights-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-rows:1fr;gap:12px;margin-bottom:20px}.insights-kpi-row.tiles-6{grid-template-columns:repeat(6,minmax(0,1fr))}.insights-kpi-row.tiles-7{grid-template-columns:repeat(7,minmax(0,1fr))}.insights-kpi-row.tiles-8{grid-template-columns:repeat(8,minmax(0,1fr))}.insights-kpi-row.tiles-14{grid-template-columns:repeat(7,minmax(0,1fr))}@media(max-width:1600px){.insights-kpi-row.tiles-8{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1250px){.insights-kpi-row.tiles-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1500px){.insights-kpi-row.tiles-7{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.insights-kpi-row.tiles-14{grid-template-columns:repeat(2,minmax(0,1fr))}}.cmc-fluid .cmc-value{font-size:20px}.insights-kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;text-align:center;overflow:hidden}.kpi-value{font-size:22px;font-weight:700;color:var(--navy);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-sub{font-size:10px;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:16px}.insights-chart-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;overflow:visible;min-width:0}.insights-chart-card .recharts-responsive-container{min-width:0}.insights-chart-card .data-table{table-layout:fixed;width:100%}.insights-chart-card .data-table td,.insights-chart-card .data-table th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-title{font-size:13px;font-weight:700;color:var(--navy);margin:0 0 12px;text-transform:uppercase;letter-spacing:.3px}@media(max-width:1024px){.insights-grid{grid-template-columns:1fr}}@media(max-width:768px){.insights-grid{grid-template-columns:1fr}.insights-kpi-row,.insights-kpi-row.tiles-6,.insights-kpi-row.tiles-7,.insights-kpi-row.tiles-8,.insights-kpi-row.tiles-14{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:18px}}.tab-bar.cust-nav-flat .tab{margin-bottom:0}@media(min-width:1836px)and (max-width:1940px){.tab-bar.cust-nav-flat .tab{padding-left:10px;padding-right:10px}}@media(min-width:1743px)and (max-width:1835px){.tab-bar.cust-nav-flat .tab{padding-left:8px;padding-right:8px;font-size:12px}}@media(min-width:1627px)and (max-width:1742px){.tab-bar.cust-nav-flat .tab{padding-left:6px;padding-right:6px;font-size:11.5px}}.acct-summary-strip{display:flex;flex-wrap:wrap}.acct-summary-seg{flex:1 1 150px;min-width:0;display:flex;align-items:center;gap:10px;padding:9px 14px;border-right:1px solid var(--border);background:none;border-top:none;border-bottom:none;border-left:none;text-align:left;font:inherit;color:inherit}.acct-summary-strip .acct-summary-seg:last-child{border-right:none}.acct-summary-seg.is-link{cursor:pointer}.acct-summary-seg.is-link:hover{background:#f8fafc}.acct-summary-seg.is-link:focus-visible{outline:2px solid var(--fl-accent);outline-offset:-2px}.cust-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:1280px){.cust-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.cust-info-grid{grid-template-columns:1fr}}.loc-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:1100px){.loc-info-grid{grid-template-columns:1fr}}.geninfo-row{display:grid;gap:16px;margin-bottom:16px}.geninfo-row-main{grid-template-columns:minmax(0,65fr) minmax(0,35fr)}.geninfo-row-addr{grid-template-columns:minmax(0,60fr) minmax(0,40fr)}@media(max-width:1000px){.geninfo-row-main,.geninfo-row-addr{grid-template-columns:1fr}}.geninfo-row-top{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:stretch}.geninfo-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}@media(max-width:1280px){.geninfo-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.geninfo-contacts{grid-template-columns:1fr}}.geninfo-billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 24px}.hq-compact{--hqc-fs-title: 18px;--hqc-fs-crumb: 11.5px;--hqc-fs-section: 11px;--hqc-fs-label: 10.5px;--hqc-fs-value: 12px;--hqc-fs-tab: 11.5px;--hqc-tab-py: 8px;--hqc-tab-px: 8px;--hqc-fs-btn: 12px;--hqc-btn-h: 30px;--hqc-btn-h-sm: 28px;--hqc-fs-chip: 11.5px;--hqc-chip-h: 26px;--hqc-card-py: 10px;--hqc-card-px: 12px;--hqc-gap: 10px;--hqc-row-gap: 3px;--hqc-radius: 7px;--hqc-divider: 1px solid var(--border);--hqc-label-col: minmax(72px, 112px)}.hq-compact>.detail-header{margin-bottom:8px;gap:12px}@media(min-width:769px){.hq-compact>.detail-header{align-items:flex-end}.hq-compact>.detail-header>div:first-child{flex:1 1 auto;min-width:0}}.hq-compact>.detail-header .breadcrumb{font-size:var(--hqc-fs-crumb);margin-bottom:1px;line-height:1.35}.hq-compact>.detail-header .detail-title-row{flex-wrap:wrap;gap:4px 8px}.hq-compact>.detail-header .detail-title-row h1{font-size:var(--hqc-fs-title);font-weight:700;line-height:1.25}.job-number-pill{display:inline-flex;align-items:center;height:22px;padding:0 7px;font-size:12px;font-weight:600;color:#475569;letter-spacing:.3px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px}.hq-compact>.detail-header .detail-title-row .type-pill{font-size:11px;line-height:18px}.hq-compact>.detail-header .detail-actions{flex-wrap:nowrap;gap:6px;align-items:center;flex-shrink:0}.hq-compact>.detail-header .detail-actions .btn{height:var(--hqc-btn-h);padding:0 12px;font-size:var(--hqc-fs-btn)}.hq-compact .detail-actions-finalize{display:flex;gap:6px;align-items:center}@media(max-width:1180px){.hq-compact>.detail-header .detail-actions{flex-wrap:wrap;justify-content:flex-end;flex-shrink:1}}.hq-compact>.tab-bar{margin-bottom:var(--hqc-gap)}.hq-compact>.tab-bar .tab{font-size:var(--hqc-fs-tab);padding:var(--hqc-tab-py) var(--hqc-tab-px);gap:4px}.hq-compact>.tab-bar .tab-count{font-size:9.5px;padding:0 5px}.hq-compact .geninfo-compact .card{padding:var(--hqc-card-py) var(--hqc-card-px);border-radius:var(--hqc-radius)}.hq-compact .geninfo-compact>.card{margin-bottom:var(--hqc-gap)}.hq-compact .geninfo-compact .card-label{font-size:var(--hqc-fs-section);color:#334155;letter-spacing:.5px;margin-bottom:6px}.hq-compact .geninfo-compact .geninfo-card-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.hq-compact .geninfo-compact .info-grid{grid-template-columns:var(--hqc-label-col) minmax(0,1fr);gap:var(--hqc-row-gap) 10px;font-size:var(--hqc-fs-value);line-height:1.35}.hq-compact .geninfo-compact .info-label{font-size:var(--hqc-fs-label);line-height:1.55}.hq-compact .geninfo-compact .info-value{font-size:var(--hqc-fs-value);font-weight:500}.hq-compact .geninfo-compact .edit-input{font-size:var(--hqc-fs-value);padding:2px 7px}.hq-compact .geninfo-compact .btn.hqc-btn-sm{height:var(--hqc-btn-h-sm);padding:0 10px;font-size:11.5px}.hq-compact .geninfo-compact .geninfo-subcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-items:start}.hq-compact .geninfo-compact .geninfo-row{gap:var(--hqc-gap);margin-bottom:var(--hqc-gap);align-items:stretch}.hq-compact .geninfo-compact .geninfo-row-top{grid-template-columns:repeat(3,minmax(0,1fr))}.hq-compact .geninfo-compact .geninfo-row-addr{grid-template-columns:minmax(0,60fr) minmax(0,40fr)}@media(max-width:1100px){.hq-compact .geninfo-compact .geninfo-row-addr{grid-template-columns:1fr;align-items:start}}@media(max-width:999px){.hq-compact .geninfo-compact .geninfo-row-top{grid-template-columns:1fr;align-items:start}}.hq-compact .hqc-chip{display:inline-flex;align-items:center;gap:5px;height:var(--hqc-chip-h);padding:0 9px;font-size:var(--hqc-fs-chip);font-weight:600;line-height:1;white-space:nowrap}.hq-compact .geninfo-compact .geninfo-billing-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label edit" "cells cells";align-items:center;row-gap:2px}.hq-compact .geninfo-billing-strip .geninfo-billing-label{grid-area:label}.hq-compact .geninfo-billing-strip .geninfo-billing-edit{grid-area:edit;display:inline-flex}.hq-compact .geninfo-billing-strip .geninfo-billing-grid{grid-area:cells;display:flex;flex-wrap:wrap;gap:4px 0}.hq-compact .geninfo-billing-strip .geninfo-billing-grid>.info-grid{flex:1 1 auto;min-width:0;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:0 10px;padding:0 16px;border-left:var(--hqc-divider)}.hq-compact .geninfo-billing-strip .geninfo-billing-grid>.info-grid:first-child{border-left:none;padding-left:0}@media(max-width:900px){.hq-compact .geninfo-billing-strip .geninfo-billing-grid>.info-grid{flex:1 1 45%;padding:0 12px 0 0;border-left:none}}.hq-compact .geninfo-compact .geninfo-jobsched{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);align-items:stretch}.hq-compact .geninfo-jobsched .geninfo-jobsched-info{padding-right:14px;min-width:0}.hq-compact .geninfo-jobsched .geninfo-jobsched-sched{padding-left:14px;border-left:var(--hqc-divider);min-width:0;align-self:stretch}@media(max-width:1000px){.hq-compact .geninfo-compact .geninfo-jobsched{grid-template-columns:1fr}.hq-compact .geninfo-jobsched .geninfo-jobsched-info{padding-right:0}.hq-compact .geninfo-jobsched .geninfo-jobsched-sched{padding:8px 0 0;margin-top:8px;border-left:none;border-top:var(--hqc-divider)}}@media(max-width:640px){.hq-compact .geninfo-jobsched .geninfo-subcols{grid-template-columns:1fr}}.hq-compact .geninfo-compact .geninfo-row-addr>.card:first-child{container-type:inline-size}.hq-compact .geninfo-compact .geninfo-svc-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;align-items:start}.hq-compact .geninfo-compact .info-grid.geninfo-svc-fields{grid-template-columns:minmax(60px,84px) minmax(0,1fr)}.hq-compact .geninfo-compact .geninfo-svc-map{min-width:0}@container (max-width: 500px){.hq-compact .geninfo-compact .geninfo-svc-split{grid-template-columns:minmax(0,1fr)}}.hq-compact .geninfo-compact .geninfo-contacts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 0;container-type:inline-size}.hq-compact .geninfo-compact .geninfo-contacts>div{min-width:0;padding:0 12px;border-left:var(--hqc-divider)}.hq-compact .geninfo-compact .geninfo-contacts>div:first-child{padding-left:0;border-left:none}.hq-compact .geninfo-compact .geninfo-contacts>div:last-child{padding-right:0}.hq-compact .geninfo-compact .geninfo-contact-cols{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--hqc-row-gap) 10px}.hq-compact .geninfo-compact .geninfo-contact-cols .info-grid{grid-template-columns:max-content minmax(0,1fr);gap:var(--hqc-row-gap) 8px}@container (max-width: 1099px){.hq-compact .geninfo-compact .geninfo-contact-cols{grid-template-columns:1fr}.hq-compact .geninfo-compact .geninfo-contact-cols .info-grid{grid-template-columns:minmax(64px,88px) minmax(0,1fr)}}@media(max-width:1000px){.hq-compact .geninfo-compact .geninfo-contacts{grid-template-columns:1fr}.hq-compact .geninfo-compact .geninfo-contacts>div{padding:8px 0 0;border-left:none;border-top:var(--hqc-divider)}.hq-compact .geninfo-compact .geninfo-contacts>div:first-child{padding-top:0;border-top:none}}.geninfo-contact-title{font-size:11px;font-weight:600;margin:0 0 3px;color:#334155}@media(pointer:coarse){.hq-compact{--hqc-chip-h: 32px;--hqc-btn-h: 36px;--hqc-btn-h-sm: 32px}}.qa-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 6px;background:none;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;font:inherit;font-size:13px;color:var(--text);border-radius:6px}.qa-row:last-child{border-bottom:none}.qa-row:hover{background:#f8fafc}.qa-row:disabled{opacity:.5;cursor:not-allowed}.qa-row:disabled:hover{background:none}.qa-row:focus-visible{outline:2px solid var(--fl-accent);outline-offset:-2px}.qa-row svg:first-child{color:var(--fl-text-secondary);flex-shrink:0}.qa-row .qa-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-row .qa-count{font-weight:700;font-variant-numeric:tabular-nums;color:var(--navy)}.qa-row .qa-chev{color:var(--fl-border-strong);flex-shrink:0}.linked-metric{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--fl-radius-sm);cursor:pointer;font:inherit;font-size:12px;color:var(--fl-text-secondary)}.linked-metric strong{color:var(--navy);font-variant-numeric:tabular-nums}.linked-metric:hover{background:#f1f5f9}.linked-metric:focus-visible{outline:2px solid var(--fl-accent);outline-offset:1px}.notes-page-grid{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:16px;align-items:start}@media(max-width:1000px){.notes-page-grid{grid-template-columns:1fr}}.notes-page-grid .card{border:1.5px solid #94a3b8}.note-tile{border:1px solid #94a3b8;border-radius:8px;padding:10px 12px;margin-bottom:10px;position:relative;background:#fff}.note-body{font-size:13px}.note-body .rich-text-view,.note-body .rich-text-view p,.note-body .rich-text-view li{line-height:20px}.note-body.collapsed{max-height:60px;overflow-y:auto;overflow-x:hidden;padding-right:8px;scrollbar-width:thin;scrollbar-color:#64748b #e2e8f0}.note-body.collapsed::-webkit-scrollbar{width:8px}.note-body.collapsed::-webkit-scrollbar-track{background:#e2e8f0;border-radius:4px}.note-body.collapsed::-webkit-scrollbar-thumb{background:#64748b;border-radius:4px}.note-expand-link{background:none;border:none;padding:0;margin-top:4px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--fl-accent, #2563eb)}.note-expand-link:hover{text-decoration:underline}.menu-item-btn{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;border-radius:6px;cursor:pointer;font:inherit;font-size:13px;color:var(--text)}.menu-item-btn:hover{background:#f1f5f9}.menu-item-btn:focus-visible{outline:2px solid var(--fl-accent);outline-offset:-2px}.menu-item-btn.danger{color:var(--fl-danger)}.dispatch-dense .toolbar.dispatch-toolbar{justify-content:flex-start;flex-wrap:nowrap;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 2px #0f172a0d;padding:9px 12px;margin-bottom:8px}.dispatch-toolbar .dtb-zone{display:flex;align-items:center;min-width:0}.dispatch-toolbar .dtb-left{gap:12px;flex-shrink:0}.dispatch-toolbar .dtb-center{flex:1 1 0;justify-content:center}.dispatch-toolbar .dtb-right{gap:8px;flex-shrink:0}.dispatch-dense .dispatch-toolbar .dtb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer}.dispatch-dense .dispatch-toolbar .dtb-btn:hover{background:var(--bg)}.dispatch-dense .dispatch-toolbar .dtb-btn:disabled{opacity:.5;cursor:default}.dispatch-dense .dispatch-toolbar .dtb-btn:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.dispatch-toolbar .dtb-iconbtn{width:34px;padding:0;color:var(--navy);font-size:15px;flex-shrink:0}.dispatch-toolbar .dtb-refresh{color:var(--navy)}.dispatch-toolbar .dtb-center{gap:10px}.dispatch-toolbar .dtb-search{position:relative;display:flex;align-items:center;gap:6px;height:34px;flex:0 1 540px;min-width:220px;border:1px solid var(--border);border-radius:6px;background:var(--card);padding:0 8px 0 10px}.dispatch-toolbar .dtb-search:focus-within{border-color:var(--navy);box-shadow:0 0 0 2px #0f172a14}.dtb-search-icon{color:var(--text-secondary);flex-shrink:0}.dtb-search-input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;font-size:13px;color:var(--text)}.dtb-search-input::placeholder{color:#94a3b8}.dtb-search-clear{border:none;background:none;cursor:pointer;color:var(--text-secondary);font-size:17px;line-height:1;padding:0 2px}.dispatch-dense .dvc-head{container-type:inline-size}@container (max-width: 240px){.dispatch-dense .dvc-head .dvc-lbl{display:none}}.dispatch-dense .dvc-ribbon{display:flex;align-items:center;margin-top:2px;font-size:var(--dispatch-font-size, 10px);line-height:12px;color:var(--text-secondary);white-space:nowrap;min-width:0;overflow:hidden}.dispatch-dense .dvc-ribbon .dvc-seg{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.dispatch-dense .dvc-ribbon .dvc-seg b{color:var(--navy);font-weight:700}.dispatch-dense .dvc-ribbon .dvc-sep{width:1px;height:9px;background:#cbd5e1;margin:0 4px;flex-shrink:0}.dispatch-dense .dvc-punch{margin-left:auto;flex-shrink:0;padding:0 4px;border-radius:3px;font-size:8px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;line-height:12px}.dispatch-dense .dvc-punch.in{color:#15803d;background:#dcfce7}.dispatch-dense .dvc-punch.out{color:#b91c1c;background:#fee2e2}.dispatch-dense .dvc-tb{display:flex;flex-wrap:nowrap;align-items:stretch;height:22px;border:1px solid #d1d5db;border-radius:4px;background:#fff;overflow:hidden;box-sizing:border-box}.dispatch-dense .dvc-tb>button{flex:1 1 0;min-width:0;height:100%;padding:0;margin:0;border:0;border-right:1px solid #e2e8f0;border-radius:0;background:transparent;color:var(--navy);font-family:inherit;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;gap:2px;cursor:pointer;position:relative}.dispatch-dense .dvc-tb>button:last-child{border-right:0}.dispatch-dense .dvc-tb>button.dvc-time{flex:0 0 auto;padding:0 5px;font-size:10px;font-weight:700}.dispatch-dense .dvc-tb>button.is-filled{background:#eef4ff}.dispatch-dense .dvc-tb>button.is-billed{color:#15803d;background:#f0fdf4}.dispatch-dense .dvc-tb>button.is-active{background:var(--navy);color:#fff}.dispatch-dense .dvc-tb>button:hover:not(:disabled):not(.is-active){background:#f1f5f9}.dispatch-dense .dvc-tb>button:disabled{opacity:.45;cursor:not-allowed}.dispatch-dense .dvc-tb>button:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}.dispatch-dense .dvc-note{flex:1 1 auto;min-width:0;display:block;min-height:0;font-family:inherit;font-size:10px;line-height:1.25;padding:1px 3px;border:1px solid #e5e7eb;border-radius:3px;background:#fff;color:var(--navy);resize:none;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box}.dispatch-dense .dvc-note:hover{border-color:#d1d5db}.dispatch-dense .dvc-note:focus{border-color:var(--navy);outline:none}.dtb-search-clear:hover{color:var(--text)}.dtb-search-spin{display:inline-block;color:var(--text-secondary);animation:dtb-spin .8s linear infinite}.dtb-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:120;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000024;max-height:min(70vh,560px);overflow-y:auto}.dtb-search-head{display:flex;justify-content:space-between;gap:8px;padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0}.dtb-search-row{display:block;width:100%;text-align:left;padding:8px 12px;border:none;border-bottom:1px solid #f1f5f9;background:none;cursor:pointer;font:inherit;color:var(--text)}.dtb-search-row:hover,.dtb-search-row:focus-visible{background:var(--bg);outline:none}.dtb-search-row .l1{display:flex;gap:8px;align-items:baseline;min-width:0;font-size:13px;font-weight:600}.dtb-search-row .l1 .date{color:var(--navy);font-variant-numeric:tabular-nums;flex-shrink:0}.dtb-search-row .l1 .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtb-search-row .l1 .num{color:var(--text-secondary);font-weight:500;font-size:12px;flex-shrink:0}.dtb-search-row .l1 .who{margin-left:auto;font-weight:500;font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.dtb-search-row .m{font-size:12px;color:#334155;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtb-search-row .m .src{display:inline-block;font-size:10.5px;font-weight:700;color:#475569;background:#f1f5f9;border-radius:3px;padding:0 5px;margin-right:6px;vertical-align:1px}.dtb-search-row mark{background:#fef08a;color:inherit;padding:0 1px;border-radius:2px}.dtb-search-empty{padding:14px 12px;font-size:12px;color:var(--text-secondary)}.dispatch-toolbar .dtb-refresh .dtb-refresh-icon{display:inline-block;font-size:15px;line-height:1}.dispatch-toolbar .dtb-refresh.refreshing .dtb-refresh-icon{animation:dtb-spin .8s linear infinite}@keyframes dtb-spin{to{transform:rotate(360deg)}}.dispatch-toolbar .dtb-seg{display:inline-flex;height:34px;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0}.dispatch-toolbar .dtb-seg button{border:none;height:100%;padding:0 14px;background:var(--card);color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.dispatch-toolbar .dtb-seg button+button{border-left:1px solid var(--border)}.dispatch-toolbar .dtb-seg button.active{background:var(--navy);color:#fff;font-weight:600}.dispatch-toolbar .dtb-seg button:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}.dispatch-toolbar .dtb-datenav{display:flex;align-items:center;gap:6px}.dispatch-toolbar .dtb-date{font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap;text-align:center;min-width:200px;padding:0 2px}.dispatch-toolbar .dtb-tech{justify-content:flex-start;min-width:140px;max-width:180px;font-weight:600;overflow:hidden}.dispatch-dense .dispatch-toolbar select.dtb-select{height:34px;padding:0 8px;max-width:140px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.dispatch-dense .dispatch-toolbar .dtb-green{background:#15803d;border-color:#15803d;color:#fff;font-weight:600}.dispatch-dense .dispatch-toolbar .dtb-green:hover:not(:disabled){background:#166534}.dispatch-dense .dispatch-toolbar .dtb-navy{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.dispatch-dense .dispatch-toolbar .dtb-navy:hover{background:#16314f}@media(max-width:1500px){.dispatch-dense .toolbar.dispatch-toolbar{gap:10px}.dispatch-toolbar .dtb-left{gap:8px}.dispatch-toolbar .dtb-date{min-width:0}}@media(max-width:1230px){.dispatch-dense .toolbar.dispatch-toolbar{flex-wrap:wrap}.dispatch-toolbar .dtb-center{flex:0 0 auto}}
