.procurement-root{--surface: var(--card);--text: var(--ink);--text-muted: var(--ink-soft);--border: var(--line);--primary: #3a4a54;--primary-light: #eef1f3;--accent: var(--brand);--danger: #c90219;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.12);color:var(--text);padding:12px 16px 16px}.procurement-root .actionbar a.btn{text-decoration:none;display:inline-block}.procurement-root .actionbar a.btn.primary{color:#fff}.procurement-root .btn-primary{background:var(--primary);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer}.procurement-root .btn-primary:hover{opacity:.9}.procurement-root .btn-primary:disabled{opacity:.5;cursor:not-allowed}.procurement-root .btn-subtle{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:6px 14px;border-radius:var(--radius);font-size:13px;cursor:pointer}.procurement-root .btn-subtle:hover{background:#eee}.procurement-root .btn-icon{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-muted);padding:4px 8px;border-radius:4px}.procurement-root .btn-icon:hover{background:#eee;color:var(--danger)}.procurement-root .input{border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:14px;color:var(--text);background:var(--surface);width:100%;font-family:inherit}.procurement-root .input:focus{outline:none;border-color:var(--accent)}.procurement-root select.input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.procurement-root .filter-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;flex-wrap:wrap}.procurement-root .filter-search{border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:13px;min-width:280px;font-family:inherit}.procurement-root .filter-search:focus{outline:none;border-color:var(--accent)}.procurement-root .filter-select{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:13px;background:var(--surface);font-family:inherit}.procurement-root .filter-select-wide{min-width:200px}.procurement-root .filter-date-group{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.procurement-root .filter-date{border:1px solid var(--border);border-radius:6px;padding:5px 6px;font-size:12px;font-family:inherit}.procurement-root .board-container{display:flex;gap:12px;min-height:calc(100 * var(--vh) - 220px);overflow-x:auto;padding-bottom:8px}.procurement-root .board-column{flex:1;min-width:240px;max-width:320px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column}.procurement-root .column-header{padding:10px 12px;font-weight:700;font-size:14px;border-bottom:3px solid var(--border);display:flex;align-items:center;gap:6px}.procurement-root .column-title{color:var(--text)}.procurement-root .column-count{color:var(--text-muted);font-weight:400;font-size:13px}.procurement-root .column-body{flex:1;padding:8px;overflow-y:auto;min-height:100px}.procurement-root .column-body.drag-over{background:#f0f7ff}.procurement-root .load-more-sentinel{padding:12px;text-align:center;color:var(--text-muted);font-size:12px}.procurement-root .board-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 2px #00000014;transition:box-shadow .15s}.procurement-root .board-card:hover{box-shadow:0 2px 8px #00000026}.procurement-root .board-card.dragging{box-shadow:0 4px 16px #0003;transform:rotate(2deg)}.procurement-root .card-header{display:flex;justify-content:space-between;margin-bottom:4px}.procurement-root .card-pr-num{font-weight:700;font-size:13px;color:var(--accent)}.procurement-root .card-dept{font-size:11px;color:var(--text-muted);background:#f0f0f0;padding:1px 6px;border-radius:4px}.procurement-root .card-job{font-size:12px;color:var(--text-muted);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procurement-root .card-desc{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.procurement-root .card-footer{display:flex;justify-content:space-between;font-size:11px}.procurement-root .card-date{font-weight:600}.procurement-root .card-author{color:var(--text-muted)}.procurement-root .list-container{overflow-x:auto;overflow-y:visible;min-height:300px}.procurement-root .list-table{width:100%;border-collapse:collapse;font-size:13px}.procurement-root .list-table thead{position:sticky;top:0;z-index:1}.procurement-root .list-table th{background:var(--surface);padding:10px 12px;text-align:left;font-weight:600;color:var(--text-muted);border-bottom:2px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.procurement-root .list-table th:hover{color:var(--accent)}.procurement-root .list-table td{padding:8px 12px;border-bottom:1px solid #eee;background:var(--surface)}.procurement-root .list-row{cursor:pointer}.procurement-root .list-row:hover td{background:#f4f6f8}.procurement-root .cell-id{font-weight:700;color:var(--accent);width:60px}.procurement-root .cell-desc{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procurement-root .cell-notes{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#8d7b3a}.procurement-root .cell-actions{width:40px;position:relative}.procurement-root .row-actions{position:relative}.procurement-root .row-actions-trigger{opacity:0;transition:opacity .15s;font-size:18px;font-weight:700;letter-spacing:1px}.procurement-root .list-row:hover .row-actions-trigger{opacity:1}.procurement-root .row-actions-menu{position:absolute;left:0;top:100%;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:150px;overflow:hidden}.procurement-root .row-actions-menu button{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:none;font-size:13px;cursor:pointer;font-family:inherit;color:var(--text)}.procurement-root .row-actions-menu button:hover{background:#f0f0f0}.procurement-root .row-actions-menu button.danger{color:var(--danger)}.procurement-root .row-actions-menu button.danger:hover{background:#fff0f0}.procurement-root .status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.procurement-root .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#7a8a8f4d;display:flex;align-items:center;justify-content:center;z-index:100}.procurement-root .modal-content{background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 32px #0003;width:90%;max-width:960px;max-height:calc(95 * var(--vh));display:flex;flex-direction:column}.procurement-root .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.procurement-root .modal-header h2{font-size:18px;display:flex;align-items:center}.procurement-root .modal-close{font-size:20px}.procurement-root .modal-body{padding:20px;overflow-y:auto;flex:1;min-height:320px}.procurement-root .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.procurement-root .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:16px}.procurement-root .form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.procurement-root .form-group.full-width{grid-column:1 / -1}.procurement-root .form-info{display:flex;gap:16px;font-size:12px;color:var(--text-muted);margin-bottom:12px;flex-wrap:wrap}.procurement-root .line-items-table{margin-top:8px;margin-bottom:18px}.procurement-root .line-items-header,.procurement-root .line-item-row{display:flex;gap:4px;align-items:center}.procurement-root .line-items-header{font-weight:600;font-size:12px;color:var(--text-muted);padding:6px 0;border-bottom:1px solid var(--border)}.procurement-root .line-item-row{padding:4px 0;border-bottom:1px solid #f0f0f0}.procurement-root .li-col{flex-shrink:0}.procurement-root .li-num{width:36px;text-align:center;font-size:12px;color:var(--text-muted)}.procurement-root .li-code{flex:1;min-width:200px}.procurement-root .li-qty{width:80px}.procurement-root .li-measure{width:130px}.procurement-root .li-action{width:40px;text-align:center}.procurement-root .product-search{position:relative}.procurement-root .search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto}.procurement-root .search-option{padding:6px 10px;cursor:pointer;display:flex;gap:8px;font-size:13px}.procurement-root .search-option:hover{background:#f0f0f0}.procurement-root .option-code{font-weight:500}.procurement-root .option-category{color:var(--text-muted);font-size:12px}.procurement-root .job-picker{position:relative}.procurement-root .job-picker-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:280px;overflow-y:auto}.procurement-root .job-picker-option{padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:13px;border-bottom:1px solid #f0f0f0}.procurement-root .job-picker-option:last-child{border-bottom:none}.procurement-root .job-picker-option:hover{background:#f4f6f8}.procurement-root .job-picker-option.selected{background:var(--primary-light)}.procurement-root .job-picker-label{font-weight:500}.procurement-root .job-picker-client{color:var(--text-muted);font-size:12px}.procurement-root .job-picker-empty{padding:12px;text-align:center;color:var(--text-muted);font-size:13px}.procurement-root .attachments-list{display:flex;flex-direction:column;gap:4px;margin:8px 0}.procurement-root .attachment-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:4px;background:#f8f9fa}.procurement-root .attachment-link{display:flex;align-items:center;gap:6px;color:var(--accent);text-decoration:none;font-size:13px;flex:1;overflow:hidden}.procurement-root .attachment-link:hover{text-decoration:underline}.procurement-root .attachment-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procurement-root .attachment-size{color:var(--text-muted);font-size:11px;flex-shrink:0}.procurement-root .attachment-dropzone{margin-top:8px;padding:16px;border:2px dashed var(--border);border-radius:8px;text-align:center;cursor:pointer;color:var(--text-muted);font-size:13px;transition:all .15s}.procurement-root .attachment-dropzone:hover{border-color:var(--accent);color:var(--accent);background:#f8faff}.procurement-root .attachment-dropzone.drag-over{border-color:var(--accent);background:#e8f0fe;color:var(--accent)}.procurement-root .pr-action-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-muted);transition:all .15s;font-family:inherit}.procurement-root .pr-action-btn:hover{background:#f4f6f8;color:var(--text);border-color:#aab}.procurement-root .pr-action-btn:disabled{opacity:.4;cursor:not-allowed}.procurement-root .sticky-note-wrap{position:relative;margin-left:auto;margin-right:15px;align-self:flex-start}.procurement-root .sticky-note{background:#fff9c4;border:1px solid #f0e68c;border-radius:6px;padding:8px 10px;box-shadow:1px 2px 4px #00000014;cursor:pointer;width:260px;position:absolute;right:0;top:0;z-index:10}.procurement-root .sticky-note.expanded{cursor:default;width:380px;box-shadow:2px 4px 12px #00000026}.procurement-root .sticky-note-preview{font-size:12px;color:#5d4e37;line-height:1.4;max-height:52px;overflow:hidden;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.procurement-root .sticky-note-input{width:100%;border:none;background:transparent;resize:vertical;font-size:12px;color:#5d4e37;font-family:inherit;line-height:1.4;outline:none;min-height:80px}.procurement-root .sticky-note-add{display:flex;align-items:center;gap:6px;padding:6px 10px;background:none;border:1px dashed #ccc;border-radius:6px;cursor:pointer;color:var(--text-muted);font-size:12px;font-family:inherit;margin-left:auto}.procurement-root .sticky-note-add:hover{border-color:khaki;background:#fffde7;color:#5d4e37}.procurement-root .sage-po-picker{position:relative}.procurement-root .sage-po-overlay{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d;margin-top:4px;min-width:700px}.procurement-root .sage-po-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.procurement-root .sage-po-header h4{margin:0;font-size:14px}.procurement-root .sage-po-table-wrap{max-height:260px;overflow-y:auto}.procurement-root .vendors-page{max-width:1100px}.procurement-root .vendors-page h2{margin-bottom:16px}.procurement-root .vendor-add-form{display:flex;gap:8px;margin-bottom:32px;align-items:center}.procurement-root .vendor-add-form .input{max-width:200px}.procurement-root .vendor-add-form .input.input-email{flex:1;min-width:200px;max-width:100%}.procurement-root .loading{padding:40px;text-align:center;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:8px}.procurement-root .spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:proc-spin .6s linear infinite}.procurement-root .spinner-lg{width:28px;height:28px;border-width:3px}@keyframes proc-spin{to{transform:rotate(360deg)}}.procurement-root .error{padding:40px;text-align:center;color:var(--danger)}.procurement-root .empty-state{padding:40px;text-align:center;color:var(--text-muted);font-style:italic}.procurement-root button:disabled{opacity:.45;cursor:not-allowed}.procurement-root .receiving-panel{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);border-radius:8px;margin-bottom:12px;overflow:hidden}.procurement-root .receiving-head{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:none;border:none;cursor:pointer;font:inherit;font-size:14px;text-align:left;color:var(--text)}.procurement-root .receiving-head:hover{background:var(--primary-light)}.procurement-root .receiving-caret{color:var(--text-muted)}.procurement-root .receiving-count{background:#e8f0fe;color:var(--accent);border:1px solid #cfe0f5;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:700}.procurement-root .receiving-hint{color:var(--text-muted);font-size:12.5px}.procurement-root .receiving-body{border-top:1px solid var(--border)}.procurement-root .receiving-row{display:flex;align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;border-bottom:1px solid var(--border);width:100%;text-align:left;background:none;border-left:0;border-right:0;border-top:0;font:inherit;cursor:pointer;color:var(--text)}.procurement-root .receiving-row:hover{background:var(--primary-light)}.procurement-root .receiving-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.procurement-root .receiving-row:last-child{border-bottom:none}.procurement-root .receiving-pr{font-weight:700;min-width:52px}.procurement-root .receiving-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procurement-root .receiving-job{color:var(--text-muted);white-space:nowrap;min-width:170px;text-align:left}.procurement-root .receiving-status{color:var(--text-muted);white-space:nowrap;margin-left:auto;min-width:90px;text-align:left}.procurement-root .receiving-status.back{color:var(--danger);font-weight:600}.procurement-root .qty-fill{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--danger);font-weight:600;text-decoration:underline dotted;text-underline-offset:3px}.procurement-root .qty-fill:hover{text-decoration:underline solid}.procurement-root .deliveries{margin-top:18px}.procurement-root .deliveries h3{margin-bottom:6px}:root{--brand: #00477f;--brand-dark: #003158;--ink: #1a2733;--ink-soft: #5b6b7a;--line: #dde4ea;--bg: #f5f7f9;--card: #ffffff;--st-vacation: #bac9e8;--st-sick: #e8baba;--st-stat: #dbd9d9;--st-return: #e8deb3;--st-submitted: #d0f0c7;--st-clocked: #e8f5e1;--st-fixedpmt: #e0e0e0;--st-leave: #e9ebee;--st-scheduled: #cce4f7;--dept-security: #77d8ce;--dept-comms: #90d162;--dept-east: #fdcfb4;--dept-elec-service: #e3dc49;--dept-elec-project: #c188e1;--dept-none: #6495ed;--danger: #c0392b;--ok: #2e7d32;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink)}*{box-sizing:border-box}:root{--zoom: 1;--vh: calc(1vh / var(--zoom));--vw: calc(1vw / var(--zoom))}@media screen and (min-width: 900px) and (pointer: fine){:root{--zoom: .9}}html{zoom:var(--zoom)}html,body,#root{margin:0;height:100%}body{background:var(--bg);font-size:14px}.app-loading{display:grid;place-items:center;height:calc(100 * var(--vh));color:var(--ink-soft)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.shell{display:flex;flex-direction:column;height:calc(100 * var(--vh))}.navbar{display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:0 16px;height:52px;flex:none;border-bottom:1px solid var(--line);box-shadow:0 1px 3px #0000000f}.navbar-left{display:flex;align-items:center;gap:24px;min-width:0}.navbar-brand{display:flex;align-items:center;gap:24px;text-decoration:none;color:inherit}.navbar-brand:hover .navbar-title{color:var(--brand)}.navbar-logo{height:32px;width:auto}.navbar-title{font-family:Poppins,sans-serif;font-size:19px;font-weight:600;color:#2d3a42;margin:0 0 0 -16px;white-space:nowrap}.navbar-title-accent{color:var(--brand);font-weight:700}.navbar-tabs{display:flex;gap:2px;overflow-x:auto}.nav-tab{padding:7px 13px;border:0;border-radius:6px;background:transparent;color:var(--ink-soft);font-size:13.5px;text-decoration:none;white-space:nowrap}.nav-tab:hover{background:#f0f0f0}.nav-tab.active{background:#e8f0fe;color:var(--brand);font-weight:600}.nav-count{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:9px;background:#e8f0fe;color:var(--brand);border:1px solid #cfe0f5;font-size:11px;font-weight:700;line-height:15px;vertical-align:1px}.nav-tab.active .nav-count{background:#fff}.navbar-right{display:flex;align-items:center;gap:12px;flex:none}.user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-name{font-size:13px;font-weight:600}.user-dept{font-size:11px;color:var(--ink-soft)}.btn-subtle{padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink-soft);font-size:12.5px}.btn-subtle:hover{background:#eee}.btn{padding:6px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:13px;cursor:pointer}.btn:hover{background:#f4f6f8}a.btn{display:inline-block;text-decoration:none}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:#01579b}.btn:disabled{opacity:.55;cursor:default}.shell-main{flex:1;overflow:auto}.placeholder{max-width:560px;margin:80px auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px;text-align:center}.placeholder h2{margin-top:0;color:var(--brand)}.placeholder p{color:var(--ink-soft)}.placeholder .phase-tag{display:inline-block;background:var(--bg);border-radius:20px;padding:4px 14px;font-size:12px;color:var(--ink-soft);margin-bottom:12px}.board-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}.board-toolbar select,.board-toolbar input[type=date],.board-toolbar input[type=search]{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}.board-toolbar .btn{padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}.board-toolbar .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.tb-label,.panel-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.tb-label select,.panel-label select{font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal}.date-nav{display:flex;align-items:center;gap:0}.date-nav button,.date-nav a{text-decoration:none;border:none;background:transparent;font-size:18px;line-height:1;padding:4px 6px;cursor:pointer;color:var(--brand);border-radius:6px}.date-nav button:hover,.date-nav a:hover{background:#eaf3fb}.legend-wrap{position:relative;margin-left:auto}.legend-btn{font-size:12px;color:var(--ink-soft)}.legend-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:flex;gap:20px;padding:12px 16px;background:#fcfcf7;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;font-size:12px;color:var(--ink);white-space:nowrap}.legend-title{font-weight:700;color:var(--ink-soft);text-transform:uppercase;font-size:10px;letter-spacing:.05em;margin-bottom:6px}.legend-row{display:flex;align-items:center;gap:7px;padding:2px 0}.legend-stripe{width:4px;height:14px;border-radius:2px}.legend-swatch{width:16px;height:12px;border-radius:3px;border:1px solid var(--line)}.legend-num{font-weight:600;font-size:11px;width:26px;text-align:right}input[type=search]::placeholder{font-style:italic}.daily-grid{width:100%}.daily-headrow,.daily-row{display:flex}.daily-headrow{position:sticky;top:0;z-index:3}.daily-headrow .board-corner{width:210px;flex:none}.daily-ruler{flex:1;position:relative;height:34px;background:var(--card);border-bottom:2px solid var(--line);overflow:hidden}.daily-ruler-label{position:absolute;top:8px;transform:translate(-50%);font-size:11px;font-weight:600;color:var(--ink-soft)}.daily-row .board-emp{width:210px;flex:none;box-sizing:border-box}.daily-track{--span: 16;flex:1;position:relative;border-bottom:1px solid var(--line);overflow:hidden;background-image:repeating-linear-gradient(to right,transparent,transparent calc(100% / var(--span) - 1px),#eef0f3 calc(100% / var(--span) - 1px),#eef0f3 calc(100% / var(--span)))}.daily-track.drop-over{background-color:#eaf3fb}.daily-track .drop-preview{position:absolute;top:3px;bottom:3px;box-sizing:border-box;border-radius:5px;border:2px dashed var(--brand);background:#00477f14;pointer-events:none;z-index:5}.daily-track .drop-preview-label{position:absolute;top:3px;left:5px;font-size:11px;font-weight:700;color:var(--brand);background:#fff;border-radius:4px;padding:0 5px;box-shadow:0 1px 3px #0000002e;white-space:nowrap}.tile.daily-tile{position:absolute;margin:0;box-sizing:border-box;height:30px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;padding-right:30px}.tile.daily-tile .descr{overflow:hidden;text-overflow:ellipsis}.tile .resize-h{position:absolute;right:0;top:0;bottom:0;width:10px;cursor:ew-resize;border-radius:0 6px 6px 0;background:linear-gradient(to right,transparent,rgba(0,71,127,.18));touch-action:none}.tile .resize-h:hover{background:linear-gradient(to right,transparent,rgba(0,71,127,.35))}.conflict-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;background:#fff;border:1px solid #e3d9ae;cursor:pointer;white-space:nowrap}.conflict-chip:hover{border-color:var(--danger)}.conflict-chip:hover .chip-x{color:var(--danger)}.conflict-chip .chip-x{color:#b9a95f;font-weight:700}.conflict-chip.dup{background:#fdf3d8}.conflict-chip.dup em{color:#8a6d1a;font-style:normal;font-size:11px}.conflict-chip.locked{cursor:not-allowed;opacity:.75}@keyframes tilePop{0%{transform:scale(.6);opacity:.3}to{transform:scale(1);opacity:1}}.tile.tile-pop{animation:tilePop .18s ease-out}.panel.destroy-over{background:#fdecea;outline:2px dashed var(--danger);outline-offset:-2px}@keyframes shred{0%{transform:scale(1) rotate(0);opacity:1;clip-path:inset(0 0 0 0)}35%{transform:scale(.95) rotate(-3deg);clip-path:polygon(0 0,100% 0,96% 100%,60% 84%,30% 100%,8% 86%)}to{transform:scale(.2) rotate(16deg) translateY(44px);opacity:0;clip-path:polygon(0 12%,100% 0,88% 88%,55% 70%,28% 96%,4% 74%)}}.shred-ghost{position:fixed;z-index:90;pointer-events:none}.shred-tile{width:140px;padding:3px 6px;font-size:12px;line-height:1.25;background:var(--st-scheduled);border:1px solid var(--line);border-left:4px solid var(--danger);border-radius:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;animation:shred .6s ease-in forwards}.shred-tile .jobnum{font-weight:700;color:var(--brand)}.shred-tile .descr{color:var(--ink)}@keyframes shredBit{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--sx, -24px),58px) rotate(200deg)}}.shred-bit{position:absolute;top:12px;width:7px;height:7px;border-radius:2px;background:#b9c6d0;animation:shredBit .65s ease-in forwards}.shred-bit.b1{left:8%;--sx: -30px}.shred-bit.b2{left:30%;--sx: -12px;background:#d4b8b8;animation-delay:.05s}.shred-bit.b3{left:52%;--sx: 6px;animation-delay:.09s}.shred-bit.b4{left:72%;--sx: 22px;background:#c4cfd8;animation-delay:.04s}.shred-bit.b5{left:90%;--sx: 38px;animation-delay:.12s}.search-input{padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;font-style:normal}.cell-actions{width:40px;position:relative}.row-actions-trigger{border:0;background:transparent;cursor:pointer;padding:0 6px;font-size:18px;font-weight:700;letter-spacing:1px;color:var(--ink-soft);opacity:.35;transition:opacity .15s;line-height:1}tr:hover .row-actions-trigger{opacity:1}.row-actions-trigger:hover{color:var(--brand)}.row-actions-menu{position:absolute;right:0;top:100%;z-index:50;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:190px;overflow:hidden}.row-actions-menu button{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:none;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink)}.row-actions-menu button:hover{background:#f0f4f7}.row-actions-menu button:disabled{color:var(--ink-soft);opacity:.6;cursor:default}.row-actions-menu button.danger{color:var(--danger)}.row-actions-menu button.danger:hover{background:#fff0f0}.board-layout{display:flex;flex:1;min-height:0}.board-banner{flex:none;display:flex;justify-content:center;align-items:center;padding:6px 0;background:var(--card);border-top:1px solid var(--line)}.board-banner img{height:40px;width:auto}.board-scroll{flex:1;overflow:auto}.board-grid{display:grid;min-width:900px}.board-corner,.board-dayhead{position:sticky;top:0;z-index:3;background:var(--card);border-bottom:2px solid var(--line);padding:6px 8px;font-weight:600}.board-dayhead{text-align:center;cursor:pointer;text-decoration:none;color:inherit}.board-dayhead.today{background:#eaf3fb;color:var(--brand)}.board-dayhead.weekend{color:var(--ink-soft);background:#f1f1f1}.board-emp{position:sticky;left:0;z-index:2;background:var(--card);border-right:2px solid var(--line);border-bottom:1px solid var(--line);padding:6px 8px;display:flex;align-items:center;gap:6px;min-height:56px}.board-emp:hover{z-index:6}.board-corner{left:0;z-index:4;border-right:2px solid var(--line);display:flex;align-items:center}.board-corner input{width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px}.board-emp .lvl{flex:none;width:22px;height:22px;border-radius:50%;color:#fff;font-size:11px;display:grid;place-items:center;font-weight:700}.board-emp .nm{font-size:13px;line-height:1.2}.board-emp .jt{font-size:11px;color:var(--ink-soft)}.board-emp .emp-send{border:0;background:transparent;color:var(--ink-soft);font-size:14px;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .15s}.board-emp:hover .emp-send{opacity:1}.board-emp .emp-send:hover{background:#e8f0fe;color:var(--brand)}.board-cell{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:56px;padding:3px;display:flex;flex-direction:column;gap:3px}.board-cell.weekend{background:#f4f4f4}.board-cell.today{background:#f6fafd}.board-cell.drop-over{outline:2px dashed var(--brand);outline-offset:-2px;background:#eaf3fb}.board-cell.leave,.daily-track.leave{background-color:var(--st-leave);background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(0,0,0,.045) 7px 9px);cursor:not-allowed}.rt-day.leave{background-color:var(--st-leave);background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgba(0,0,0,.045) 7px 9px)}.rt-day.leave .rt-add[disabled]{cursor:not-allowed}.leave-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;padding:1px 0 0 2px;-webkit-user-select:none;user-select:none;pointer-events:none}.daily-track .leave-label{position:absolute;left:8px;top:6px;text-transform:none;letter-spacing:0;font-size:12px}.leave-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#4b5563;background:#e5e7eb;border-radius:4px;padding:1px 5px;margin-right:2px;white-space:nowrap}.board-emp .emp-menu{opacity:0;transition:opacity .15s}.board-emp .emp-menu .btn-subtle{border:0;background:transparent;color:var(--ink-soft);font-size:16px;padding:2px 4px}.board-emp .emp-menu .btn-subtle:hover{background:#e8f0fe;color:var(--brand)}.board-emp:hover .emp-menu,.board-emp:focus-within .emp-menu,.board-emp .emp-menu:has(.dot-menu-pop){opacity:1}@media (hover: none){.board-emp .emp-menu{opacity:1}}.leave-preview{margin-top:12px;padding:10px;border-radius:8px;background:#f7f8fa;border:1px solid var(--line);font-size:13px}.leave-preview .chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tile{border-radius:5px;border-left:4px solid var(--dept-none);padding:3px 6px;background:var(--st-scheduled);font-size:12px;line-height:1.25;position:relative;-webkit-user-select:none;user-select:none}.tile.draggable{cursor:grab}.tile.locked{cursor:default}.tile.overhead{background:#eef0f2}.tile.overhead .jobnum{color:#64748b}.tile.overhead .descr{color:var(--ink-soft)}.tile .jobnum{font-weight:700;color:var(--brand);text-decoration:underline;cursor:pointer}.tile .descr{color:var(--ink);word-break:break-word}.tile .hours{position:absolute;right:5px;bottom:2px;font-size:11px;font-weight:600;color:var(--ok)}.tile .hours.manual{color:#d97706}.tile .pmt{font-weight:700}.tile .del{position:absolute;right:3px;top:2px;border:0;background:transparent;color:var(--danger);font-size:12px;padding:0 2px}.tile .crewflt{position:absolute;right:3px;top:3px;border:0;background:transparent;color:var(--ink-soft);opacity:0;padding:2px 3px;cursor:pointer;line-height:0;border-radius:4px}.tile:hover .crewflt{opacity:.75}.tile .crewflt:hover{opacity:1;color:var(--brand);background:#00477f14}.tile .crewflt.on{opacity:1;color:#fff;background:var(--brand)}.tile.crew-on{outline:2px solid var(--brand);outline-offset:-1px}.crewflt-chip{display:inline-flex;align-items:center;gap:5px;width:100%;font-size:12px;font-weight:600;color:var(--brand);background:#00477f14;border:1px solid rgba(0,71,127,.25);border-radius:6px;padding:3px 8px}.crewflt-chip button{border:0;background:transparent;color:var(--brand);cursor:pointer;padding:0 2px;margin-left:auto;font-size:12px}.panel{width:280px;flex:none;border-left:1px solid var(--line);background:var(--card);display:flex;flex-direction:column}.panel .panel-head{padding:8px;border-bottom:1px solid var(--line);display:flex;gap:6px}.panel .panel-head input{flex:1;padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px}.panel .panel-head>select{padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px}.panel .panel-list{flex:1;overflow:auto;padding:6px;display:flex;flex-direction:column;gap:4px}.panel .panel-head{flex-wrap:wrap}.panel .panel-head .panel-label{width:100%;justify-content:space-between}.panel .panel-label select{padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;flex:1;margin-left:8px}.panel .panel-fixed{padding:6px 8px;border-top:1px dashed var(--line);background:#fafafa}.panel .panel-fixed .tile.fixed{background:var(--st-fixedpmt)}.panel .panel-drop{padding:8px;text-align:center;font-size:12px;color:var(--ink-soft);border-top:1px dashed var(--line)}.panel .panel-drop.drop-over{background:#fdecea;color:var(--danger);font-weight:600}.chips-field{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:#fff}.chips-field input{border:none;outline:none;flex:1;min-width:150px;padding:2px}.chip{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;background:#e8f0f7;border:1px solid #cfe0ee;color:var(--brand);border-radius:12px;padding:1px 4px 1px 9px;font-size:12.5px;font-weight:600}.chip .chip-x{border:none;background:none;cursor:pointer;color:inherit;font-size:11px;padding:0 4px}.chip .chip-x:hover{color:var(--danger)}.grid tr.row-staged td{background:#f2f8ff}.grid tr.row-staged input.hours{border-color:var(--brand)}.page{padding:16px;max-width:calc(1400px / var(--zoom));margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.filters select,.filters input{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--line);color:var(--ink-soft);white-space:nowrap}table.grid td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:middle}table.grid tr.editing{background:#fffbe8}table.grid input,table.grid select{padding:3px 6px;border:1px solid var(--line);border-radius:4px;max-width:110px}table.grid input.hours{width:60px}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.badge.clocked{background:var(--st-clocked);color:#2e5b22}.badge.submitted{background:#fff3cd;color:#7a5b00}.badge.approved{background:#c8e6c9;color:#1b5e20}.badge.processed{background:var(--st-stat);color:#444}.badge.scheduled{background:var(--st-scheduled);color:var(--brand-dark)}.badge.co{background:#f3e5f5;color:#6a1b9a}.badge.vacation{background:var(--st-vacation);color:#29406e}.badge.sick{background:var(--st-sick);color:#8c2f2f}.badge.stat{background:var(--st-stat);color:#555}.badge.rate{background:#fce4ec;color:#ad1457}.badge.rejected{background:#fde3e3;color:#b00020}.badge.pay-regular{background:#eef1f5;color:#46586a}.dot-menu{position:relative;display:inline-block}.dot-menu-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29}.dot-menu-pop{position:absolute;right:0;top:100%;z-index:30;min-width:160px;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 14px #00000024;display:flex;flex-direction:column;padding:4px 0}.dot-menu-pop button{text-align:left;padding:6px 14px;background:none;border:none;cursor:pointer;font:inherit;font-size:13px;white-space:nowrap}.dot-menu-pop button:hover{background:#f2f6fa}.badge.pay-overtime{background:#ffe0b2;color:#9a4b00}.badge.pay-double{background:#fcd5cc;color:#9c2f0e}.preview-spinner{width:34px;height:34px;margin:14px auto 6px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.actionbar{display:flex;gap:8px;margin:12px 0;align-items:center;flex-wrap:wrap}.actionbar.sticky{position:sticky;bottom:0;z-index:5;margin:0;padding:10px 0;background:var(--bg);border-top:1px solid var(--line)}.actionbar .btn{padding:6px 14px;border-radius:6px;border:1px solid var(--line);background:#fff}.actionbar .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.actionbar .btn:disabled{opacity:.45;cursor:not-allowed}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e2873;display:grid;place-items:center;z-index:50}.modal{background:var(--card);border-radius:12px;padding:20px;min-width:420px;max-width:640px;max-height:calc(85 * var(--vh));overflow:auto}.modal h3{margin-top:0;color:var(--brand)}.modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day{background:var(--card);border:1px solid var(--line);border-radius:8px;min-height:140px;display:flex;flex-direction:column}.week-day .wd-head{padding:6px 8px;border-bottom:1px solid var(--line);font-weight:600;font-size:12px;display:flex;justify-content:space-between}.week-day .wd-body{flex:1;padding:6px;display:flex;flex-direction:column;gap:4px}.week-day .wd-foot{padding:4px 8px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-soft)}.muted{color:var(--ink-soft);font-size:13px}.error-text{color:var(--danger);font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e2873;display:grid;place-items:center;z-index:50}.viewas-banner{background:#4a148c;color:#fff;padding:6px 14px;display:flex;align-items:center;gap:8px;font-size:13px}.viewas-banner .btn-subtle{background:#fff;margin-left:auto}.viewas-picker{position:relative}.viewas-dropdown{position:absolute;right:0;top:110%;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 24px #0000002e;width:300px;z-index:60;padding:8px}.viewas-dropdown input{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:6px;margin-bottom:6px}.viewas-list{max-height:320px;overflow:auto}.viewas-dept{font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;margin:6px 0 2px}.viewas-item{display:block;width:100%;text-align:left;padding:4px 6px;border:0;background:none;border-radius:6px;cursor:pointer;font-size:13px}.viewas-item:hover{background:#eef3f8}.clients-page{display:flex;flex-direction:column;gap:10px;height:100%}.clients-toolbar{display:flex;gap:8px;align-items:center}.clients-toolbar select,.clients-toolbar input{padding:6px 8px;border:1px solid var(--line);border-radius:6px}.clients-search{min-width:220px}.mode-toggle .btn-subtle.active,.client-tabs .btn-subtle.active,.loc-tabs .btn-subtle.active{background:var(--brand);color:#fff;border-color:var(--brand)}.clients-split{display:flex;gap:12px;min-height:0;flex:1}.clients-list{width:340px;flex-shrink:0;display:flex;flex-direction:column}.clients-sort{display:flex;gap:6px;padding:6px;border-bottom:1px solid var(--line);font-size:12px;align-items:center}.clients-sort .btn-subtle{white-space:nowrap;padding:2px 5px}.clients-sort .s-id{width:36px}.clients-sort .s-name{flex:1;text-align:left}.clients-sort .s-count{width:40px;text-align:right}.clients-sort .s-bal{width:84px;text-align:right}.clients-sort .s-score{width:48px;display:flex;justify-content:center}.clients-sort .s-level{width:42px;display:flex;justify-content:center}.clients-sort .s-id .btn-subtle,.clients-sort .s-name .btn-subtle{padding-left:0}.client-row{text-decoration:none;color:inherit;display:flex;gap:6px;align-items:center;width:100%;border:0;background:none;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:13px;text-align:left}.client-row:hover{background:#eef3f8}.client-row.selected{background:#dce5ee}.client-row.selected .cname{font-weight:600}.client-row .cid{width:36px;color:inherit;opacity:.7}.client-row .cname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-row .cbal{width:84px;text-align:right;font-weight:600;flex-shrink:0}.client-row .ccount{width:40px;text-align:right;opacity:.7;flex-shrink:0}.client-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.client-tabs{display:flex;gap:6px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;max-width:760px}.overview-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}.overview-grid input,.overview-grid select,.overview-grid textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--ink)}.overview-grid .span2,.drawer-grid .span2{grid-column:span 2}.inline-edit{display:flex;gap:6px;align-items:center}.inline-edit input{flex:1}.client-alert{background:#fff3cd;border:1px solid #ffe08a;border-radius:6px;padding:6px 10px}.person-name{position:relative;cursor:default;border-bottom:1px dotted #b9c4cc}.person-card{display:flex;position:absolute;left:0;top:calc(100% + 3px);z-index:60;flex-direction:column;gap:3px;font-size:12.5px;font-weight:400;white-space:nowrap;min-width:230px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #00000026;cursor:auto;-webkit-user-select:text;user-select:text}.person-card b,.person-card .pc-name{font-size:13px;color:var(--ink);font-weight:700}.person-card.tile-info-card{position:fixed;z-index:95;white-space:normal;max-width:330px;cursor:default}.person-card .pc-level{position:absolute;top:9px;right:10px}.comment-cell{position:relative;display:inline-block;width:100%}.comment-cell input{width:100%;max-width:260px}.comment-card{white-space:pre-wrap;max-width:420px;min-width:260px;font-size:13px;color:var(--ink);left:auto;right:0}.job-link{color:var(--brand);font-weight:600;text-decoration:none}.job-link:hover{text-decoration:underline}.person-card .pc-name{color:var(--brand);text-decoration:underline}.person-card .pc-role{color:var(--ink-soft)}.person-card a{color:var(--brand);text-decoration:none}.person-card a:hover{text-decoration:underline}.pbi-frame{flex:1;width:100%;min-height:calc(70 * var(--vh));border:1px solid var(--line);border-radius:10px;background:#fff}.pbi-wrap{position:relative;flex:1;display:flex;flex-direction:column;gap:4px}.pbi-fs-btn{align-self:flex-end;padding:3px 10px;font-size:12px;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink-soft)}.pbi-fs-btn:hover{color:var(--ink);background:#f4f6f7}.pbi-wrap.full{background:#fff}.pbi-wrap.full .pbi-fs-btn{position:absolute;top:8px;right:10px;z-index:5;background:#fffffff2}.pbi-wrap.full .pbi-frame{border:0;border-radius:0;min-height:0;height:100%}.reports-page{display:flex;flex-direction:column;height:100%;max-width:none}.rt-card{padding:0 0 6px;overflow-x:auto;width:fit-content;max-width:100%}.rt-grid{min-width:900px;max-width:1100px}.rt-name{text-align:center;font-weight:800;font-size:16px;padding:10px 0 6px;display:flex;justify-content:center;align-items:baseline;gap:12px}.rt-week-lock{font-size:11.5px;font-weight:500;font-style:italic;color:var(--ink-soft)}.rt-head-row,.rt-row{display:flex;gap:6px;align-items:center}.rt-head-row{margin:0 8px;border:1px solid #b9c2c7;font-size:12px;font-weight:600;color:#4f5a5e;position:sticky;top:0;background:#f4f6f7;z-index:1}.rt-head-row>span{text-align:center;padding:6px 0}.rt-head-row>span+span{border-left:1px solid #d3dadd}.rt-datecol-h{width:132px;flex-shrink:0}.rt-day{display:flex;border-bottom:1px solid var(--line);min-height:58px;margin:0 8px}.rt-datecol{width:132px;flex-shrink:0;padding:6px 6px 6px 2px;display:flex;flex-direction:column;gap:3px;align-items:flex-start}.rt-datecol-top{display:flex;width:100%;justify-content:space-between;align-items:flex-start}.rt-datecol-top .rt-date{text-align:right;padding-left:0;padding-right:2px}.rt-add{padding:0 8px;font-size:14px;line-height:1.4;border:1px solid var(--line);border-radius:4px}.rt-add:disabled{opacity:.4;cursor:not-allowed}.rt-date{font-size:12.5px;font-weight:600;padding-left:4px}.rt-dayname{font-weight:400;color:var(--ink-soft);font-size:11.5px}.rt-sums{border-collapse:collapse;font-size:12px;margin-top:3px;align-self:stretch;table-layout:fixed}.rt-sums th,.rt-sums td{border:1px solid #9aa6ac;padding:1px 7px;text-align:center;line-height:1.6}.rt-sums th{color:var(--ink-soft);font-weight:600}.rt-sums td{font-weight:700}.rt-sums td.rt-dt,.rt-sums th:last-child{border-color:#d98c8c;color:#b03a2e}.rt-rows{flex:1;display:flex;flex-direction:column;gap:3px;padding:6px 0}.rt-row{font-size:12.5px;min-height:30px}.rt-row.locked input,.rt-row.locked select{background:#f3f5f6;color:#7a868c}.rt-row input,.rt-row select{padding:3px 6px;border:1px solid #c4cdd2;border-radius:4px;font-size:12px;background:#fff;height:28px;color:var(--ink)}.rt-row input:disabled,.rt-row select:disabled{background:#f3f5f6;color:#7a868c;opacity:1}.rt-c-job{flex:1.4;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#4f5a5e;padding-left:6px}.rt-c-co{flex:1.1;min-width:90px}.rt-c-co select{width:100%;max-width:none!important}.rt-c-pay{width:92px;flex-shrink:0}.rt-c-pay select{width:100%}.rt-c-hours{width:58px;flex-shrink:0}.rt-c-hours input{width:100%}.rt-clock{width:20px;flex-shrink:0;text-align:center;color:#6a7a7f;font-size:12px;cursor:help}.rt-c-warr{width:64px;flex-shrink:0;text-align:center}.rt-c-rate{width:78px;flex-shrink:0}.rt-c-rate select{width:100%}.rt-c-comm{flex:2;min-width:140px}.rt-c-comm input{width:100%;font-style:italic}.rt-status{width:12px;height:12px;flex-shrink:0;padding:0;border-radius:50%}.rt-head-row .rt-status,.rt-head-row .rt-clock{background:none;border-left:none}.rt-empty{min-height:22px}.rt-totals{display:flex;gap:26px;margin:8px 8px 0 140px;padding:8px 14px;font-size:13px;border:1px solid #b9c2c7;justify-content:flex-start;color:#4f5a5e}.rt-totals b{color:var(--ink);font-size:14px}.rt-grand-total{margin-left:auto;font-weight:600;color:var(--ink)}.rt-grand-total b{font-size:16px;font-weight:800}.feed-composer{display:flex;gap:8px;margin-bottom:14px}.feed-composer input[type=text],.feed-composer>input{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:6px}.row-click:hover td{background:#f2f6fa}.feed-item{border-bottom:1px solid var(--line);padding:10px 0}.feed-item:last-child{border-bottom:none}.feed-meta{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:4px}.feed-del{margin-left:auto;padding:0 6px}.feed-text{margin-top:3px;white-space:pre-wrap}.feed-img{max-width:100%;max-height:380px;border-radius:8px;margin-top:6px;display:block}.feed-file{display:inline-block;margin-top:4px;margin-right:12px}.feed-files{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin-top:4px}.feed-files .feed-img{max-height:240px;max-width:320px;margin-top:0}.feed-staged{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 12px}.feed-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;font-size:12.5px;border:1px solid var(--line);border-radius:14px;background:#f6f8f9}.feed-chip img{width:26px;height:26px;object-fit:cover;border-radius:5px}.feed-chip .btn-subtle{padding:0 3px}.feed-edit textarea{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;margin-top:4px}.cell-input{width:100%;padding:3px 6px;border:1px solid var(--line);border-radius:5px;font-size:13px}.cell-input.num{max-width:90px}.feed-edit .actionbar{margin-top:6px;justify-content:flex-end}.note-state{font-weight:400;font-size:11.5px}.note-state-saved{color:#2e7d32}.note-state-dirty{color:#b26a00}.note-state-saving{color:var(--ink-soft)}.eye-hint{display:inline-flex;vertical-align:-2px;margin-left:5px;color:var(--ink-soft);cursor:help;opacity:.75}.eye-hint svg{display:block}.btn .eye-hint{vertical-align:middle;margin-left:6px}.btn.primary .eye-hint{color:inherit}.dept-filter{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.dept-filter select{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;font:13px/1.3 inherit;font-weight:400;text-transform:none;letter-spacing:normal}.safety-form input:not([type=checkbox]),.safety-form textarea,.safety-form select{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#fff;font:inherit;color:inherit}.safety-form input:focus,.safety-form textarea:focus,.safety-form select:focus{outline:2px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:0}.safety-form input:disabled,.safety-form textarea:disabled,.safety-form select:disabled{background:#f5f6f7;color:var(--ink-soft)}.sf-checklist{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:6px 8px;min-width:280px;max-width:420px}.sf-checklist.tall{max-height:200px;overflow-y:auto}.sf-check{display:flex;gap:7px;align-items:baseline;font-size:12.5px;cursor:pointer}.sf-check input{accent-color:var(--brand)}.sf-people{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:420px}.sf-person-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:14px;background:#f2f5f8;padding:3px 10px;font-size:12.5px}.sf-person-chip button{border:none;background:none;cursor:pointer;color:var(--ink-soft);padding:0;font-size:11px}.sf-person-chip button:hover{color:#b00}.week-pager{display:inline-flex;align-items:center;gap:6px}.week-pager select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}.week-pager .btn{padding:4px 10px;line-height:1.2}.jobs-page{display:flex;flex-direction:column;height:100%;max-width:none}.jobs-select,.jobs-search{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.jobs-search{margin-left:auto;min-width:280px}.jobs-search::placeholder,.svc-filters input::placeholder{font-style:italic}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;overflow:auto;padding:4px 2px 12px}.proj-tile{display:block;text-decoration:none;color:inherit;position:relative;height:96px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;overflow:hidden;text-align:left;padding:0;transition:transform .12s ease,box-shadow .12s ease}.proj-tile-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center / contain no-repeat;opacity:.55;transition:opacity .12s ease,transform .25s ease}.proj-tile-bg.photo{background-size:cover;opacity:.38}.proj-tile:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00477f2e;border-color:var(--brand)}.proj-tile:hover .proj-tile-bg{opacity:.85;transform:scale(1.04)}.proj-tile:hover .proj-tile-bg.photo{opacity:.6}.proj-tile-text{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 18px}.proj-tile-name{font-size:19px;font-weight:800;color:#2b2b2b;text-shadow:0 1px 2px rgba(255,255,255,.8)}.proj-tile-num{font-size:15px;color:#444;text-shadow:0 1px 2px rgba(255,255,255,.8)}.svc-split{display:flex;gap:12px;flex:1;min-height:0}.svc-list{width:380px;flex-shrink:0;display:flex;flex-direction:column;min-height:0}.svc-filters{padding:8px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.svc-radios{display:flex;gap:4px}.svc-radios label{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;padding:4px 2px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:#fff}.svc-radios label.active{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}.svc-radios input{display:none}.svc-filter-row{display:flex;gap:6px}.svc-filter-row select,.svc-filter-row input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:#fff}.svc-plates{gap:6px}.svc-plate{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:1px solid var(--line);border-left:5px solid;border-radius:8px;padding:7px 10px;cursor:pointer;transition:box-shadow .1s ease}.svc-plate:hover{box-shadow:0 2px 8px #0000001f}.svc-plate.selected{border-color:var(--brand);border-left-width:5px;box-shadow:0 2px 8px #00477f33;font-weight:600}.svc-plate-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.svc-plate-num{font-size:15px;font-weight:700;color:var(--ink)}.svc-plate-status{font-size:11px;font-style:italic;color:#444;white-space:nowrap}.svc-plate-client{font-size:12px;color:var(--brand);text-decoration:underline;width:fit-content}.svc-plate-client.plain{text-decoration:none;color:var(--ink-soft)}.svc-plate-descr{font-size:12px;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.svc-detail{flex:1;min-width:0;overflow:auto}.job-detail-embedded{display:flex;flex-direction:column;gap:8px}.alerts-card{border-radius:10px;padding:10px 14px 8px;margin-bottom:12px;border:1px solid;font-size:13px}.alerts-card.setup{background:#fbeeee;border-color:#f0cac7;color:#7f241d}.alerts-card.perf{background:#fff7e8;border-color:#f2dcb0;color:#6b4a0a;margin-top:12px;margin-bottom:0}.alerts-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.alerts-head b{font-size:13.5px;letter-spacing:.01em}.alerts-icon{font-size:15px;line-height:1}.alerts-count{font-size:11px;font-weight:700;border-radius:99px;padding:0 7px;background:#00000014}.alerts-hint{margin-left:auto;font-size:11px;opacity:.7}.alerts-refresh{border:1px solid currentColor;background:#fff9;color:inherit;border-radius:99px;font:inherit;font-size:11.5px;font-weight:600;padding:1px 9px;cursor:pointer;opacity:.85}.alerts-refresh:hover{opacity:1;background:#fff}.alerts-refresh:disabled{cursor:progress;opacity:.6}.alerts-list{list-style:none;margin:0;padding:0}.alerts-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:6px 0;border-top:1px solid rgba(0,0,0,.07);cursor:help}.alerts-list li:first-child{border-top:0}.alert-title{font-weight:650}.alert-div{font-size:10.5px;border:1px solid currentColor;border-radius:6px;padding:0 6px;font-weight:600}.alert-div.d-Electrical,.alert-div.d-Electrical-Service{background:color-mix(in srgb,var(--dept-elec-project) 12%,white);border-color:color-mix(in srgb,var(--dept-elec-project) 60%,white);color:color-mix(in srgb,var(--dept-elec-project) 55%,black)}.alert-div.d-Communications{background:color-mix(in srgb,var(--dept-comms) 12%,white);border-color:color-mix(in srgb,var(--dept-comms) 60%,white);color:color-mix(in srgb,var(--dept-comms) 45%,black)}.alert-div.d-Security{background:color-mix(in srgb,var(--dept-security) 12%,white);border-color:color-mix(in srgb,var(--dept-security) 60%,white);color:color-mix(in srgb,var(--dept-security) 45%,black)}.alert-detail{flex:1 1 320px;opacity:.9}.alert-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.alert-help{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid currentColor;font-size:11px;font-weight:700;opacity:.8}.alert-link{border:0;background:transparent;color:inherit;font:inherit;font-weight:650;text-decoration:underline;cursor:pointer;padding:0}.alert-link:hover{color:var(--brand)}.alert-where{font-size:10.5px;opacity:.65}.svc-overview .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px}.svc-field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}.svc-field .ro-box{border:1px solid var(--line);border-radius:6px;padding:6px 9px;font-size:13px;color:var(--ink);background:#fafbfc;min-height:31px;white-space:pre-wrap}.svc-field select,.svc-field textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-family:inherit;background:#fff}.svc-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.svc-notes .note-yellow{background:#fdf9e8;border-color:#e8dda0}.svc-notes .note-blue{background:#eef4fb;border-color:#b9d2ea}.svc-status{display:flex;gap:16px;align-items:flex-start;margin-top:12px}.svc-status-select{width:240px;flex-shrink:0}.svc-status-note{flex:1;display:flex;flex-direction:column;gap:6px}.svc-status-note .btn{align-self:flex-end}@media (max-width: 1100px){.svc-overview .svc-grid{grid-template-columns:1fr 1fr}}.notes-block{margin-top:12px}.notes-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.note-row{border:1px solid var(--line);border-radius:6px;padding:6px 8px;margin-bottom:6px;font-size:13px;white-space:pre-wrap}.note-row textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px;font-family:inherit}.note-actions{display:flex;gap:6px;align-items:center;margin-top:4px}.note-text{cursor:pointer}.check{display:inline-flex;gap:4px;align-items:center;font-size:12px}.invoice-grid-wrap{display:flex;flex-direction:column;gap:8px;min-height:0}.invoice-toolbar{display:flex;gap:8px;align-items:center}.invoice-totals{margin-left:auto;font-size:12px;color:var(--ink-soft)}.invoice-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.invoice-filters label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}.invoice-filters select,.invoice-filters input{padding:5px 8px;border:1px solid var(--line);border-radius:6px}.category-set{border:1px solid var(--line);border-radius:6px;padding:4px 8px;display:flex;gap:10px;flex-wrap:wrap}.category-set legend{font-size:11px;color:var(--ink-soft);padding:0 4px}.invoice-table-wrap{overflow:auto}.invoice-table-wrap.compact{max-height:calc(30 * var(--vh))}.invoice-table td.num,.invoice-table th.num,table.grid td.num,table.grid th.num{text-align:right}.invoice-table tr.selected td{background:#eef3f8}.invoices-mode{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.invoice-drawer{display:flex;flex-direction:column;gap:10px}.drawer-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.drawer-balance{font-size:13px;color:var(--ink-soft)}.client-chip{background:#eef3f8;border-radius:12px;padding:2px 10px;font-size:12px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.drawer-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}.drawer-grid input,.drawer-grid select,.drawer-grid textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px}.email-modal label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft);margin-bottom:6px}.pto-form{margin:10px 0 4px}.pto-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:10px}.pto-form input,.pto-form select,.pto-form textarea{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;color:var(--ink);background:var(--card)}.pto-form input:focus,.pto-form select:focus,.pto-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #00477f1f}.pto-form textarea{resize:vertical}.pto-form .pto-row{display:grid;grid-template-columns:1fr 1fr 110px;gap:10px}.email-modal input,.email-modal textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-family:inherit}.email-modal{min-width:560px}.score-pill{background:#d9f2d9;color:#1b5e20;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600}.level-pill{border:1.5px solid;border-radius:10px;padding:0 8px;font-size:12px;font-weight:600}.pill-slot{flex-shrink:0;display:flex;justify-content:center}.pill-slot .score-pill,.pill-slot .level-pill{width:100%;text-align:center;box-sizing:border-box}.pill-slot-score{width:48px;margin-left:auto}.pill-slot-level{width:42px}.employees-page .overview-grid{max-width:none;grid-template-columns:repeat(3,1fr);gap:10px 16px}.employees-page .overview-grid .span2{grid-column:1 / -1}.employees-page .overview-grid input,.employees-page .overview-grid select{padding:6px 9px;min-height:31px;font-size:13px}.employees-page .overview-grid input[readonly]{background:#fafbfc;color:var(--ink)}.employees-page .overview-grid input[readonly]:focus{outline:none}@media (max-width: 1100px){.employees-page .overview-grid{grid-template-columns:1fr 1fr}}.review-modal{min-width:620px}.doc-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:10px}.doc-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}.doc-form input,.doc-form select,.doc-form textarea{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--ink);background:#fff}.doc-form .span2{grid-column:1 / -1}.doc-req{color:var(--danger)}.doc-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);white-space:nowrap}.doc-check input[type=checkbox]{width:auto;margin:0}.doc-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doc-inline input[type=date]{width:160px;flex:0 0 auto}.doc-inline input[type=number]{width:64px;flex:0 0 auto}.attachments{display:flex;flex-direction:column;gap:4px}.attachment-row{display:flex;gap:8px;align-items:center;font-size:13px}.attachment-add{display:inline-block;width:fit-content;cursor:pointer}.loading-ind{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:13px;line-height:1.4}.loading-ind.block{display:flex;justify-content:center;padding:20px 0}.loading-dots{display:inline-flex;gap:4px}.loading-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.3;animation:loadingDot 1.05s infinite ease-in-out}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}@keyframes loadingDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.loading-ring{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brand);animation:spin .7s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.loading-dots i,.loading-ring{animation:none}.loading-dots i{opacity:.6}}.plan-section+.plan-section{margin-top:14px;border-top:1px solid var(--border);padding-top:8px}.plan-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.plan-section-toggle{display:flex;align-items:center;gap:8px;border:none;background:none;cursor:pointer;padding:4px 0}.plan-section-toggle h3{margin:0;font-size:15.5px}.plan-chevron{display:inline-block;transition:transform .15s;color:var(--ink-soft)}.plan-chevron.open{transform:rotate(90deg)}.planning-chips{display:flex;gap:8px;flex-wrap:wrap}.planning-tab tr.holdback-row td{color:var(--ink-soft);font-style:italic;background:#fbfaf6}.chip-btn{cursor:pointer;border:1px solid var(--border);background:var(--bg, #fff);font:inherit}.chip-btn:hover{border-color:var(--brand);color:var(--brand)}.planning-banner{background:#eef4f8;border:1px solid #cfdfe9;border-radius:8px;padding:8px 12px;font-size:13px;margin-bottom:10px}.planning-banner.warn{background:#fdf3e4;border-color:#efd9b2}.planning-scroll{overflow:auto;max-height:calc(100 * var(--vh) - 330px)}.planning-grid{border-collapse:separate;border-spacing:0}.planning-grid th,.planning-grid td{background:#fff}.planning-grid thead th{position:sticky;top:0;z-index:3}.planning-grid tfoot td{position:sticky;bottom:0;z-index:3;font-weight:600;border-top:2px solid var(--border);background:#fff}.planning-grid .stick-1,.planning-grid .stick-2,.planning-grid .stick-3{position:sticky;z-index:2}.planning-grid .stick-1{left:0;width:240px;min-width:240px;max-width:240px}.planning-grid .stick-2{left:240px}.planning-grid .stick-3{left:330px;border-right:2px solid var(--border)}.planning-grid .stick-2,.planning-grid .stick-3{min-width:90px}.planning-grid .stick-r{position:sticky;right:0;z-index:2;border-left:2px solid var(--border);min-width:90px}.planning-grid thead th.stick-1,.planning-grid thead th.stick-2,.planning-grid thead th.stick-3,.planning-grid thead th.stick-r,.planning-grid tfoot td.stick-1,.planning-grid tfoot td.stick-2,.planning-grid tfoot td.stick-3,.planning-grid tfoot td.stick-r{z-index:4}.planning-grid th.past,.planning-grid td.past{color:var(--ink-soft);background:#fafaf8}.planning-grid td.edit{min-width:86px}.planning-grid td.edit input{width:80px;border:1px solid var(--border);border-radius:6px;padding:3px 6px;text-align:right;font:inherit}.planning-grid td.edit input:focus{outline:2px solid var(--brand);outline-offset:-1px}.planning-grid td.edit input.cell-unsaved{font-style:italic;font-weight:600;color:#b26a00;border-color:#d9a05b}.mp-grid td.edit{min-width:52px}.mp-grid td.edit input{width:46px}.mp-grid th.mp-month{text-align:center;border-bottom:1px solid var(--border)}.mp-grid th .mp-stat{display:block;font-size:10px;font-weight:700;line-height:1.1;color:#b26a00}.planning-grid td.edit input.cell-sofia,.mp-grid span.cell-sofia{color:#6d28d9;border-color:#c4b5fd;background:#faf5ff}.planning-grid td.edit input.cell-bad{border-color:#d93025;background:#fdecea}.planning-grid .cell-billed{font-size:11px;color:var(--ink-soft)}.planning-grid .cell-pct{font-size:11px;color:var(--ink-soft);text-align:right}.planning-grid td.ok{color:#2e7d32}.planning-grid td.off{color:#b26a00;font-weight:600}.planning-grid tr.history-only td{color:var(--ink-soft);font-style:italic}.planning-grid .co-chip{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;background:#eef;color:#33c;font-size:10.5px;font-weight:600;vertical-align:middle}.planning-actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.plan-date-input{display:block;margin-top:10px;font-size:15px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;width:200px;font-family:inherit;color:var(--ink);background:#fff}.plan-date-input:focus{outline:2px solid var(--brand);outline-offset:-1px}.div-chip{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;font-size:10.5px;font-weight:600;vertical-align:middle;border:1px solid transparent}.div-chip.div-10{background:color-mix(in srgb,var(--dept-elec-project) 12%,white);border-color:color-mix(in srgb,var(--dept-elec-project) 60%,white);color:color-mix(in srgb,var(--dept-elec-project) 55%,black)}.div-chip.div-20{background:color-mix(in srgb,var(--dept-comms) 12%,white);border-color:color-mix(in srgb,var(--dept-comms) 60%,white);color:color-mix(in srgb,var(--dept-comms) 45%,black)}.div-chip.div-30{background:color-mix(in srgb,var(--dept-security) 12%,white);border-color:color-mix(in srgb,var(--dept-security) 60%,white);color:color-mix(in srgb,var(--dept-security) 45%,black)}.plan-menu-wrap{position:relative;display:inline-block}.plan-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:60;min-width:160px;padding:4px}.plan-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 12px;cursor:pointer;font:inherit;border-radius:6px}.plan-menu button:hover{background:var(--bg, #f4f4f2)}.plan-history-entry{border-top:1px solid var(--border);padding:10px 0}.plan-history-entry:first-of-type{border-top:none}.plan-history-head{display:flex;align-items:center;gap:10px}.plan-history-head .btn{margin-left:auto;padding:3px 10px;font-size:12.5px}.plan-history-changes{margin:6px 0 0;font:12px/1.5 ui-monospace,Consolas,monospace;color:var(--ink-soft);white-space:pre-wrap;max-height:140px;overflow-y:auto}.planning-recon{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:13px}.planning-recon.ok{background:#e9f4ea;border:1px solid #cfe6d2;color:#2e7d32}.planning-recon.warn{background:#fdf3e4;border:1px solid #efd9b2;color:#7a5200}.planning-recon.bad{background:#fbeeee;border:1px solid #f0cac7;color:#7f241d}.planning-recon.bad .btn{padding:2px 10px;font-size:12.5px;border-color:#e0a9a5;color:#7f241d;background:#fff}.planning-grid tr.extra-line td,.planning-grid tr.extra-line td.stick-1,.planning-grid tr.extra-line td.stick-2,.planning-grid tr.extra-line td.stick-3,.planning-grid tr.extra-line td.stick-r{background:#fbf8ef}.extra-info{display:inline-block;margin-left:6px;padding:0 5px;border-radius:6px;background:#f4e8c8;color:#7a5200;font-size:10.5px;font-weight:600;cursor:help;vertical-align:middle}.extra-remove{border:none;background:none;color:var(--danger, #b3261e);cursor:pointer;margin-right:4px;font-size:12px;padding:0 2px}.export-host{position:relative}.export-host>.filters:first-of-type,.export-host>.actionbar:first-of-type{padding-right:76px}.export-corner{position:absolute;top:8px;right:10px;z-index:5;display:inline-flex;gap:6px;align-items:center}.export-btn{background:none;border:0;padding:2px;line-height:0;cursor:pointer;color:#8a9097;border-radius:4px}.export-btn:hover:not(:disabled){color:var(--ink);background:#f1f3f5}.export-btn[title="Export to PDF"]:hover:not(:disabled){color:#c62828}.export-btn[title="Export to Excel"]:hover:not(:disabled){color:#1e7e34}.export-btn:disabled{opacity:.4;cursor:default}.export-btn.busy{animation:export-pulse .9s ease-in-out infinite}@keyframes export-pulse{0%,to{opacity:1}50%{opacity:.35}}.week-multi{position:relative;display:inline-block}.week-multi>button.week-multi-btn{padding:5px 26px 5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center;font:inherit;cursor:pointer;min-width:170px;text-align:left}.week-multi-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.week-multi-pop{position:absolute;top:calc(100% + 3px);left:0;z-index:71;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #00000026;padding:6px 0;max-height:300px;overflow-y:auto;min-width:220px}.week-multi-pop label{display:flex;gap:8px;align-items:center;padding:4px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.week-multi-pop label:hover{background:#f4f6f8}.week-multi-pop .week-multi-all{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:6px;font-weight:600}.delta-neg{color:#b00020}.delta-pos{color:#1b5e20}.badge.lunch{background:#eef1f5;color:#46586a}.approvals-strip{padding:6px 10px;margin-bottom:12px}.approvals-strip .actionbar.subtabs{margin:0}.actionbar.subtabs .btn{font-size:13px;padding:5px 12px}.export-slot{display:inline-flex;align-items:center}.queue-count{margin-left:auto;color:var(--ink-soft);font-size:12.5px;font-weight:600}.export-inline{display:inline-flex;gap:4px;align-items:center;margin-left:4px}.rt-reset-slot{width:22px;flex-shrink:0;display:inline-flex;justify-content:center}.rt-reset{font-size:14px;line-height:1;padding:0 4px;color:#8a9097}.rt-reset:hover{color:var(--ink)}.rt-status-wrap{position:relative;display:inline-flex;align-items:center;cursor:help}.rt-status-card{position:fixed;z-index:95}.emp-list .svc-plate{background:#fff}.emp-list .svc-plate.selected{background:#eef3f8}.emp-plate .svc-plate-num{font-size:14px}.emp-plate-sub{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);margin-top:2px}.emp-plate-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.emp-plate .score-pill,.emp-plate .level-pill{flex-shrink:0}.emp-list .svc-filter-row .btn-subtle{padding:2px 8px;flex:none}.rv-filter-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;flex-wrap:wrap}.rv-filter-search{border:1px solid var(--line);border-radius:6px;padding:6px 12px;font-size:13px;min-width:280px;font-family:inherit}.rv-filter-search:focus,.rv-filter-select:focus,.rv-filter-date:focus{outline:none;border-color:var(--brand)}.rv-filter-select{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:13px;background:#fff;font-family:inherit}.rv-filter-bar .multiselect-btn{padding:6px 8px;font-size:13px;color:var(--ink)}.rv-filter-bar .multiselect-btn:not(.has-value){color:var(--ink)}.rv-filter-dates{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-soft)}.rv-filter-date{border:1px solid var(--line);border-radius:6px;padding:5px 6px;font-size:12px;font-family:inherit}.rv-filter-bar .btn-subtle{font-size:13px;padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}.rv-filter-bar .btn-subtle:disabled{opacity:.5}.rv-bar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.rv-bar-actions .btn{font-size:13px;padding:6px 12px}.rv-list{position:relative;overflow-x:auto;overflow-y:visible;min-height:300px}.rv-list .export-corner{top:6px;right:8px}.rv-table{width:100%;border-collapse:collapse;font-size:13px}.rv-table thead{position:sticky;top:0;z-index:1}.rv-table th{background:var(--card);padding:10px 12px;text-align:left;font-weight:600;font-size:13px;color:var(--ink-soft);border-bottom:2px solid var(--line);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.rv-table th:hover{color:var(--brand)}.rv-table th.cell-actions{cursor:default}.rv-table th.num,.rv-table td.num{text-align:right}.rv-table td{padding:8px 12px;border-bottom:1px solid #eee;background:var(--card)}.rv-row{cursor:pointer}.rv-row:hover td{background:#f4f6f8}.rv-table .cell-id{font-weight:700;color:var(--brand)}.rv-table .cell-id a{color:var(--brand);text-decoration:none}.rv-table .cell-id a:hover{text-decoration:underline}.rv-table .cell-actions{width:40px;position:relative;padding-left:14px}.row-actions{position:relative;display:inline-block}.row-actions-trigger{opacity:0;transition:opacity .15s;font-size:18px;font-weight:700;letter-spacing:1px;line-height:1;padding:0 4px;color:var(--ink-soft)}.rv-row:hover .row-actions-trigger,.row-actions-trigger.open{opacity:1}.rv-empty{padding:28px 12px!important;text-align:center}.row-menu{position:absolute;right:4px;top:26px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #00000024;display:flex;flex-direction:column;min-width:190px;padding:4px}.row-menu.left{right:auto;left:0;top:100%}.row-menu button{text-align:left;background:transparent;border:0;padding:7px 10px;border-radius:6px;font-size:13px;cursor:pointer;color:var(--ink)}.row-menu button:hover{background:#eef3f8}.row-menu button.danger{color:#b00020}.row-menu button:disabled{opacity:.5;cursor:default}.multiselect{position:relative}.multiselect-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;cursor:pointer;color:var(--ink-soft);max-width:220px}.multiselect-btn.has-value{color:var(--ink);border-color:var(--brand)}.multiselect-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-caret{font-size:11px}.multiselect-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #00000024;min-width:220px;max-height:300px;overflow:auto;padding:4px}.multiselect-option{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:13px;border-radius:6px;cursor:pointer}.multiselect-option:hover{background:#eef3f8}.multiselect-clear{width:100%;text-align:left;background:transparent;border:0;color:var(--brand);font-size:12px;padding:5px 8px;cursor:pointer}.multiselect-search{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;margin-bottom:4px}.recipients{position:relative}.recipients-box{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:34px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:text}.recipient-chip{display:inline-flex;align-items:center;gap:4px;background:#eef3f8;color:var(--brand-dark);border-radius:12px;padding:2px 6px 2px 9px;font-size:12.5px}.recipient-chip-x{border:0;background:transparent;color:var(--brand);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.recipients-input{flex:1;min-width:120px;border:0;outline:none;font-size:13px;padding:4px 2px;background:transparent}.recipients-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #00000024;min-width:280px;max-height:260px;overflow:auto;padding:4px}.recipients-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:transparent;border:0;padding:6px 8px;border-radius:6px;cursor:pointer}.recipients-option.active,.recipients-option:hover{background:#eef3f8}.recipients-option-name{font-size:13px;color:var(--ink)}.recipients-option-email{font-size:11.5px;color:var(--ink-soft)}.compose-grid{display:flex;flex-direction:column;gap:8px;margin:8px 0}.compose-grid>label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-soft)}.compose-grid input,.compose-grid textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-family:inherit;color:var(--ink)}.compose-body{border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:220px;max-height:calc(46 * var(--vh));overflow:auto;font-size:13.5px;line-height:1.45;background:#fff;color:#222}.compose-body:focus{outline:2px solid rgba(0,71,127,.25)}.collect-list{border:1px solid var(--line);border-radius:8px;max-height:calc(46 * var(--vh));overflow:auto}.collect-row{display:grid;grid-template-columns:28px 1.6fr 1.3fr 1.2fr 1fr;gap:8px;align-items:center;padding:6px 10px;font-size:13px;border-bottom:1px solid var(--line);cursor:pointer}.collect-row:last-child{border-bottom:0}.collect-row:hover{background:#f6f9fc}.collect-row.head{position:sticky;top:0;background:#f4f6f7;font-weight:600;font-size:12px;color:var(--ink-soft);z-index:1}.share-page{min-height:calc(100 * var(--vh));background:var(--bg, #f4f6f8)}.share-head{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}.share-title{font-size:20px;font-weight:800;color:var(--brand-dark, #1f2d5a)}.share-sub{margin-left:8px;font-size:13px}.share-main{max-width:760px;margin:20px auto;padding:0 16px}.share-msg{padding:22px;font-size:14px}.share-thanks{text-align:center;color:#1b5e20}.review-form-card{padding:18px}.review-form input:not([type=checkbox]),.review-form textarea,.review-form select{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#fff;font:inherit;font-size:13px;color:var(--ink)}.review-form input:focus,.review-form textarea:focus,.review-form select:focus{outline:2px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:0}.review-form ::placeholder{font-style:italic;color:var(--ink-soft);opacity:.75}.review-form textarea{resize:vertical}.rf-rubric{font-size:12.5px;margin-bottom:2px}.rf-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.rf-row+.rf-row{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.rf-cat{width:210px;flex:none;font-size:13px;font-weight:600;color:var(--ink)}.rf-cat-desc{font-size:11px;font-weight:400;line-height:1.35;margin-top:2px}.rf-score{width:58px;flex:none;text-align:center;font-weight:600}.rf-comment{flex:1;min-height:46px}.rf-field{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.rf-field textarea{font-weight:400;text-transform:none;letter-spacing:normal}.rf-req{font-weight:400;text-transform:none;letter-spacing:normal;font-style:italic}.rf-total{font-weight:700;color:var(--brand);margin:8px 0 0}.review-form .category-set{margin-top:12px;padding:8px 10px}.review-form .category-set legend{font-weight:700;text-transform:uppercase;letter-spacing:.04em}.review-form .check{font-size:12.5px}.review-form .check input{accent-color:var(--brand)}.learn-page{max-width:980px;margin:0 auto}.learn-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin:6px 0 16px}.learn-head h2{margin:0}.learn-sub{color:var(--ink-soft);font-size:13.5px;margin:0;flex-basis:100%}.learn-back{color:var(--ink-soft);text-decoration:none;font-size:13.5px}.learn-back:hover{color:var(--brand)}.learn-actions{margin-left:auto;display:flex;gap:8px}.learn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.learn-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s}.learn-card:hover{border-color:var(--brand);box-shadow:0 4px 14px #00477f1a}.learn-card h3{margin:0;font-size:15.5px;color:var(--brand)}.learn-card p{margin:0;font-size:13px;color:var(--ink-soft);flex:1}.learn-status{font-size:12px;color:var(--ink-soft)}.learn-status.done{color:#1b5e20;font-weight:600}.learn-article{padding:22px 26px;font-size:14px;line-height:1.55}.learn-article h3{color:var(--brand);margin:20px 0 8px;font-size:15px}.learn-article h3:first-child{margin-top:0}.learn-article p{margin:0 0 10px}.learn-article ol,.learn-article ul{margin:0 0 10px;padding-left:22px}.learn-article li{margin-bottom:6px}.learn-table{border-collapse:collapse;margin:8px 0 14px;font-size:13.5px}.learn-table th,.learn-table td{border:1px solid var(--line);padding:6px 12px;text-align:left;vertical-align:top}.learn-table th{background:var(--bg)}.quiz-result{padding:12px 18px;margin-bottom:12px;border-left:4px solid #c62828}.quiz-result.perfect{border-left-color:#2e7d32}.quiz-list{padding-left:20px;margin:0}.quiz-q{margin-bottom:18px}.quiz-question{font-weight:600;margin-bottom:8px}.quiz-options{display:flex;flex-direction:column;gap:4px}.quiz-option{display:flex;gap:8px;align-items:baseline;padding:5px 10px;border-radius:7px;cursor:pointer;font-size:13.5px}.quiz-option:hover{background:var(--bg)}.quiz-option.picked{background:#e3edf5}.quiz-option.correct{background:#d9efd9;font-weight:600}.quiz-option.wrong{background:#f6dcdc;text-decoration:line-through}.quiz-letter{color:var(--ink-soft);min-width:16px}.quiz-why{margin:8px 0 0 10px;padding:8px 12px;background:var(--bg);border-radius:7px;font-size:13px;color:var(--ink-soft);font-style:italic}.quiz-submit{margin-top:16px;display:flex;justify-content:flex-end}.learn-results-wrap{padding:0;overflow-x:auto}.learn-results{border-collapse:collapse;width:100%;font-size:13.5px}.learn-results th,.learn-results td{border-bottom:1px solid var(--line);padding:7px 12px;text-align:left;white-space:nowrap}.learn-results thead th{background:var(--bg);position:sticky;top:0}.learn-results td:first-child{font-weight:600}.lr-cell{cursor:pointer;min-width:90px}.lr-cell:hover{outline:2px solid var(--brand);outline-offset:-2px}.lr-cell.none{color:var(--ink-soft)}.lr-cell.full{background:#d9efd9}.lr-cell.ok{background:#eef7e7}.lr-cell.low{background:#f6e3dc}.lr-cell sup{color:var(--ink-soft);margin-left:2px}.lr-input{width:60px;font:inherit;padding:2px 6px}.print-only{display:none}@media print{.no-print,.navbar{display:none!important}.print-only{display:block}.quiz-print-head h2{margin:0 0 4px}.quiz-print-head p{margin:0 0 6px;color:#444}.quiz-print-name{margin:10px 0 16px!important;color:#000!important}.learn-quiz .card{border:none;box-shadow:none;padding:0}.quiz-option{padding:1px 0}.quiz-option.picked{background:none}.quiz-q{break-inside:avoid}.page{padding:0}}.jobpick{position:relative;min-width:320px}.jobpick input{width:100%;padding:6px 26px 6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--card)}.jobpick-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:15px;color:var(--ink-soft);padding:2px 6px}.jobpick-list{position:absolute;z-index:40;top:105%;left:0;right:0;max-height:320px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #00000024;padding:4px}.jobpick-list>button{display:block;width:100%;text-align:left;border:0;background:none;padding:5px 8px;border-radius:6px;font-size:13px;cursor:pointer}.jobpick-list>button:hover{background:#eef3f8}.jobpick-group{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--ink-soft);padding:6px 8px 2px}.jobpick-empty{padding:8px;font-size:13px;color:var(--ink-soft)}.warranty-ico{margin-left:6px;font-size:12px;cursor:default;filter:saturate(.7)}.coord{display:flex;gap:12px;align-items:flex-start}.coord-main{flex:1;min-width:0}.coord-summary{font-size:13px;color:var(--ink-soft);margin-bottom:10px}.coord-summary strong{color:var(--ink)}.coord-phase{margin-bottom:14px}.coord-phase h4{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.coord-flow{display:flex;flex-wrap:wrap;align-items:stretch;row-gap:6px}.coord-table{margin:8px 0 4px 14px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card)}.coord-table-head,.coord-row{display:grid;grid-template-columns:20px 92px minmax(0,1.5fr) minmax(0,1fr) 40px;column-gap:10px;align-items:center;padding:6px 12px}.coord-table-side{margin:0}.coord-table-side .coord-table-head,.coord-table-side .coord-row{padding:5px 8px;column-gap:8px;grid-template-columns:18px 76px minmax(0,1.4fr) minmax(0,1fr) 30px}.coord-table-plain .coord-table-head,.coord-table-plain .coord-row{grid-template-columns:20px minmax(0,1.5fr) minmax(0,1fr) 40px}.coord-table-head{background:var(--bg);border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.coord-row{width:100%;border:0;border-bottom:1px solid #eef1f5;background:var(--card);text-align:left;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}.coord-row:last-child{border-bottom:0}.coord-row:nth-of-type(2n){background:#fafbfc}.coord-row:hover{background:#f0f5fa}.coord-row.selected{background:#e6eef6;box-shadow:inset 3px 0 0 var(--brand)}.coord-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.coord-row .coord-mark{width:18px;height:18px;font-size:11px}.coord-row-ref{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.coord-row-title{line-height:1.3;overflow-wrap:anywhere}.coord-row-status{font-size:12px;line-height:1.3;color:var(--ink-soft)}.coord-row-docs{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums}.coord-row-badge{display:inline-block;margin-left:6px;min-width:16px;padding:0 5px;border-radius:8px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.coord-row.coord-na{color:var(--ink-soft)}.coord-row.coord-na .coord-row-title{text-decoration:line-through}.coord-docs{list-style:none;margin:0;padding:0;font-size:13px}.coord-docs li{padding:2px 0;overflow-wrap:anywhere}.coord-step{display:inline-flex;align-items:stretch}.coord-arrow{align-self:center;width:22px;text-align:center;color:#9aa7b3;font-size:15px;flex-shrink:0}.coord-stage{display:flex;align-items:center;gap:8px;padding:7px 11px;min-width:148px;max-width:230px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;text-align:left;font:inherit;color:var(--ink);position:relative}.coord-stage:hover{border-color:#b7c4d0;background:#fafbfc}.coord-stage.selected{border-color:var(--brand);box-shadow:0 0 0 2px #00477f26}.coord-stage.coord-done{background:#f4faf4}.coord-stage.coord-na{background:#f7f8f9;color:var(--ink-soft)}.coord-stage.coord-na .coord-stage-name{text-decoration:line-through}.coord-stage-text{display:flex;flex-direction:column;min-width:0}.coord-stage-name{font-size:13px;font-weight:600;line-height:1.25}.coord-stage small{font-size:11px;color:var(--ink-soft);line-height:1.3}.coord-mark{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;border:1.5px solid #c3ced8;background:#fff;color:var(--ink-soft)}.coord-mark.coord-done{background:#c8e6c9;border-color:#81c784;color:#1b5e20}.coord-mark.coord-waiting,.coord-mark.coord-in_progress{background:#fff3cd;border-color:#e6c35c;color:#7a5b00}.coord-mark.coord-blocked{background:#fde3e3;border-color:#e39a9a;color:#b00020}.coord-mark.coord-na{background:#eef1f5;border-color:#d3dae1;color:#7b8894}.coord-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.coord-hint{font-size:12px;color:var(--ink-soft);margin:4px 0 0}.coord-banner{margin:0 0 12px;padding:7px 11px;border-radius:8px;font-size:13px;background:#fff4ce;border:1px solid #f0c000;color:#5c4500}.coord-banner-off{background:#eef1f5;border-color:#d3dae1;color:var(--ink-soft)}.coord-off{max-width:720px}.coord-off h3{margin:0 0 6px;color:var(--brand)}.coord-off p{margin:0 0 10px;font-size:13px;line-height:1.5}.coord-off-switch{display:flex;align-items:center;gap:8px}.coord-side{width:clamp(400px,calc(34 * var(--vw)),580px);flex-shrink:0;position:sticky;top:8px;max-height:calc(100 * var(--vh) - 24px);overflow:auto}.coord-side-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.coord-side-head>div{flex:1;min-width:0}.coord-side-head h3{margin:0;font-size:16px;color:var(--ink)}.coord-side-phase{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.coord-side h4{margin:12px 0 5px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.coord-close{margin-left:auto}.coord-pill{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:#eef1f5;color:#46586a}.coord-pill.coord-done{background:#c8e6c9;color:#1b5e20}.coord-pill.coord-waiting,.coord-pill.coord-in_progress{background:#fff3cd;color:#7a5b00}.coord-pill.coord-blocked{background:#fde3e3;color:#b00020}.coord-related{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline}.coord-related .btn-subtle{padding:1px 6px;font-size:12px}.coord-flow{margin:0 0 12px}.coord-flow ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.coord-flow-step{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:start;font-size:13px}.coord-flow-mark{font-weight:700;line-height:1.4;text-align:center}.coord-flow-step.is-done .coord-flow-mark{color:#1b5e20}.coord-flow-step.is-open .coord-flow-mark{color:#b26a00}.coord-flow-step.is-unknown .coord-flow-mark{color:var(--ink-soft)}.coord-flow-name{font-weight:600;overflow-wrap:anywhere}.coord-flow-meta,.coord-flow-why{font-size:12px;color:var(--ink-soft);overflow-wrap:anywhere}.coord-flow-count{margin-left:2px;font-size:11px;color:var(--ink-soft);flex-shrink:0}.coord-facts{display:grid;grid-template-columns:82px 1fr;gap:3px 8px;margin:0;font-size:13px}.coord-facts dt{color:var(--ink-soft);font-size:12px}.coord-facts dd{margin:0;overflow-wrap:anywhere}.coord-buttons{margin-top:4px;padding-top:2px;border-top:1px dashed var(--line)}.coord-button-row{display:flex;flex-wrap:wrap;gap:6px}.coord-snooze{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px}.coord-snooze input{padding:5px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:13px}.coord-people-line{display:flex;align-items:baseline;gap:8px;width:100%;box-sizing:border-box;margin:0 0 10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:13px;color:var(--ink);text-align:left;cursor:pointer}.coord-people-line:hover,.coord-people-line.selected{border-color:var(--brand)}.coord-people-label{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.coord-people-names{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coord-people-count{display:inline-flex;align-items:center;gap:2px;margin-left:2px;font-size:11px;color:var(--ink-soft);flex-shrink:0}.coord-people-count svg{width:11px;height:11px}.coord-contacts{list-style:none;margin:0;padding:0;display:grid;gap:6px}.coord-contact{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:13px;overflow-wrap:anywhere}.coord-contact-inactive{opacity:.65}.coord-contact-for{margin-top:2px}.coord-contact-small{margin-top:2px;font-size:12px;color:var(--ink-soft)}.coord-contact-card{margin-left:6px;padding:0 5px;border-radius:4px;background:#eef1f5;font-size:11px;color:#46586a}.coord-contact-actions{display:flex;gap:6px;margin-top:5px}.coord-add-contact{margin-top:6px}.coord-contact-form{display:grid;gap:8px}.coord-contact-form label{display:grid;gap:3px;font-size:12px;font-weight:600;color:var(--ink-soft)}.coord-contact-form input,.coord-contact-form select{padding:5px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400;color:var(--ink)}.coord-contact-form p{margin:0;font-size:12px}.coord-reason{display:grid;gap:4px;font-size:13px;font-weight:600}.coord-reason textarea{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-weight:400;resize:vertical}.coord-keydate{flex-wrap:wrap;margin:4px 0 10px}.coord-keydate .btn{white-space:nowrap}.coord-keydate-hint{flex-basis:100%;font-size:12px}.coord-history,.coord-waits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.coord-hist{display:grid;grid-template-columns:46px 1fr auto;gap:8px;font-size:12.5px;line-height:1.35;align-items:baseline}.coord-hist-day{color:var(--ink-soft);font-size:11.5px;white-space:nowrap}.coord-hist-text{overflow-wrap:anywhere}.coord-who{color:var(--ink-soft)}.coord-kind{display:inline-block;margin-right:6px;padding:0 6px;border-radius:8px;background:#eef1f5;color:#46586a;font-size:10.5px;font-weight:600}.coord-hist-error .coord-kind,.coord-hist-unknown .coord-kind{background:#fde3e3;color:#b00020}.coord-link{border:1px solid var(--line);border-radius:6px;background:#fff;padding:1px 7px;font:inherit;font-size:11px;font-weight:600;color:var(--brand);cursor:pointer;text-decoration:none}.coord-link:hover{background:#f4f6f8}.coord-tabs{display:flex;gap:4px;margin:10px 0 0}.coord-tabs .btn-subtle{padding:2px 12px;font-size:12px}.coord-tabs .btn-subtle.active{background:var(--brand);color:#fff;border-color:var(--brand)}.coord-hist-main{grid-column:1 / 3;display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:baseline;min-width:0;padding:0;border:0;border-radius:4px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.coord-hist-main:hover .coord-hist-text,.coord-hist-main:focus-visible .coord-hist-text{color:var(--brand);text-decoration:underline}.coord-detail-title{overflow-wrap:anywhere;line-height:1.35}.coord-detail-what{margin:0 0 10px;font-size:13px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}.coord-detail-list{margin:0;padding-left:18px;display:grid;gap:2px;font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}.coord-detail-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.coord-detail-related{margin-top:6px}.coord-wait{display:flex;flex-direction:column;font-size:12.5px;padding:5px 8px;border:1px solid #c4b5fd;border-radius:6px;background:#faf5ff}.coord-wait-who{color:var(--ink-soft);font-size:11.5px}.coord-empty{margin:0;font-size:12.5px;color:var(--ink-soft)}.coord-switch{display:inline-flex;align-items:center;gap:8px}.coord-switch>span{display:inline-flex;align-items:center;gap:6px}.coord-switch input{width:16px;height:16px;accent-color:var(--brand)}.coord-switch-note{color:var(--ink-soft);font-size:11.5px}.coord-rehearsal-tag{padding:0 7px;border-radius:8px;background:#fff4ce;border:1px solid #f0c000;color:#5c4500;font-weight:600}@media (max-width: 1100px){.coord{flex-direction:column}.coord-side{width:auto;position:static;max-height:none;align-self:stretch}}.sofia-split{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:12px;align-items:start}.sofia-list{padding:4px;max-height:calc(76 * var(--vh));overflow:auto}.sofia-row{text-decoration:none;display:flex;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--ink)}.sofia-row:hover{background:var(--bg)}.sofia-row.on{background:#e6eef6}.sofia-icon{font-size:18px;width:22px;text-align:center;flex-shrink:0}.sofia-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}.sofia-row-title{font-weight:600;overflow:hidden;text-overflow:ellipsis}.sofia-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:9px;font-size:10.5px;font-weight:700;background:#fff4ce;color:#7a5b00;vertical-align:1px}.sofia-tag.sofia-failed{background:#f8dcdc;color:#8a1f1f}.sofia-tag.sofia-sent,.sofia-tag.sofia-applied{background:#dff3e4;color:#1d6b34}.sofia-pane{padding:14px 16px;min-height:300px}.sofia-empty{padding:24px;color:var(--ink-soft);text-align:center}.sofia-detail-head h3{margin:0 0 4px}.sofia-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--ink-soft);margin-bottom:10px}.sofia-chip{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:1px 8px;color:var(--ink)}.sofia-why{font-size:13px;color:var(--ink-soft);background:var(--bg);border-radius:6px;padding:6px 10px}.sofia-error{color:#8a1f1f;font-size:13px}.sofia-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:8px 0 10px}.sofia-tab{background:none;border:none;border-bottom:2px solid transparent;padding:6px 12px;font:inherit;font-size:13px;color:var(--ink-soft);cursor:pointer}.sofia-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.sofia-thread-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px}.sofia-thread-msg{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:8px;font-size:13px}.sofia-thread-msg header{margin-bottom:6px;overflow-wrap:anywhere}.sofia-thread-to{font-size:12px;margin-top:2px}.sofia-thread-subject{font-size:12px;font-weight:600;margin-top:2px}.sofia-thread-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.sofia-thread-files{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px}.sofia-reasoning{font-size:13px}.sofia-reasoning h4{margin:12px 0 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.sofia-reasoning ul{margin:0;padding-left:18px}.sofia-sources{list-style:none;padding-left:0!important;display:grid;gap:4px}.sofia-note{font-size:13px;background:#fffbea;border:1px solid #f0e2a6;border-radius:6px;padding:6px 10px;margin:8px 0}.sofia-again{display:flex;gap:6px;align-items:flex-start;font-size:13px;background:#fff4e5;border:1px solid #f0b46b;border-radius:6px;padding:8px 10px;margin:8px 0}.sofia-actions{margin:12px 0;gap:8px}.sofia-history{font-size:12.5px;border-top:1px solid var(--line);padding-top:8px}.sofia-history ul{margin:6px 0 0;padding-left:18px}.sofia-history li{margin-bottom:3px}.sofia-history-note{color:var(--ink-soft)}.sofia-files{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;margin:6px 0}.sofia-file{display:inline-flex;gap:4px;align-items:center;background:var(--bg);border-radius:6px;padding:2px 6px}.sofia-date{font-size:14px;display:flex;flex-direction:column;gap:6px;margin:8px 0}.sofia-grid{font-size:13px;margin:8px 0}.sofia-pdf{width:100%;height:calc(60 * var(--vh));border:1px solid var(--line);border-radius:6px;margin:8px 0}.sofia-people{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:4px;margin:8px 0;font-size:13px}.rich-bar{display:flex;gap:4px;margin-bottom:4px}.rich-tool{min-width:28px;height:26px;border:1px solid var(--line);background:#fff;border-radius:5px;cursor:pointer;font-size:13px}.rich-tool:hover,.compose-readonly{background:var(--bg)}@media (max-width: 900px){.sofia-split{grid-template-columns:1fr}}.settings-split{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav-item{text-align:left;background:none;border:0;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:14px;color:var(--ink)}.settings-nav-item:hover{background:var(--bg)}.settings-nav-item.on{background:#e6eef6;font-weight:600;color:var(--brand)}.settings-page{min-width:0}.settings-card{padding:16px}.settings-card h3{margin-top:0}.settings-card h4{margin:16px 0 4px}.settings-card textarea,.settings-card input:not([type=checkbox]){font:inherit;font-size:13.5px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;box-sizing:border-box}.settings-learned,.settings-history{padding-left:18px;font-size:13px}.settings-history li{margin-bottom:8px}.settings-events{font-size:12px}@media (max-width: 700px){.settings-split{grid-template-columns:1fr}.settings-nav{flex-direction:row;flex-wrap:wrap}}.it-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;flex-wrap:wrap}.it-head-actions{display:flex;gap:8px;flex-wrap:wrap}.it-groups{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.it-count{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:#00000014;font-size:11px;text-align:center}.btn.primary .it-count{background:#ffffff40}.it-table td{vertical-align:top}.it-row-link{color:var(--brand);font-weight:600;text-decoration:none}.it-row-link:hover{text-decoration:underline}.it-st{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--st-stat);color:#444}.it-st-suggested{background:#fff3cd;color:#7a5b00}.it-st-new{background:var(--st-scheduled);color:var(--brand-dark)}.it-st-in-progress{background:#e1d5f3;color:#4a2a7a}.it-st-waiting-on-requester{background:#ffe0b2;color:#7a4100}.it-st-resolved{background:#c8e6c9;color:#1b5e20}.it-st-self-resolved{background:var(--st-clocked);color:#2e5b22}.it-label{display:block;font-weight:600;font-size:13px;margin:12px 0 4px}.it-input{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid var(--line);border-radius:6px;font:inherit}textarea.it-input{resize:vertical}.it-drop{margin-top:10px;padding:14px;border:2px dashed var(--line);border-radius:8px;text-align:center;font-size:13px;color:var(--ink-soft);cursor:pointer}.it-drop:hover,.it-drop:focus-visible{border-color:var(--brand);outline:none}.it-drop.over{border-color:var(--brand);background:#eef4fa;color:var(--brand)}.it-files{display:flex;flex-direction:column;gap:6px;margin-top:10px}.it-file{display:flex;align-items:center;gap:8px;font-size:13px}.it-file img{width:48px;height:36px;object-fit:cover;border:1px solid var(--line);border-radius:4px}.it-file-icon{width:48px;text-align:center;font-size:20px}.it-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.it-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.it-who{margin:0 0 10px;font-size:13px}.it-desc{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.it-desc p{margin:0 0 8px}.it-desc p:last-child{margin-bottom:0}.it-section{margin-top:14px}.it-section-head{font-weight:700;color:var(--brand);font-size:13px;margin-bottom:6px}.it-bot{padding:10px 12px;border-left:3px solid var(--brand);background:#eef4fa;border-radius:0 8px 8px 0;font-size:14px;line-height:1.5}.it-bot ol{margin:0;padding-left:20px}.it-bot li{margin-bottom:4px}.it-reply{white-space:pre-wrap;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px}.it-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.it-thumb{display:block;width:120px;height:84px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg)}.it-thumb img{width:100%;height:100%;object-fit:cover;display:block}.it-thumb-wait{display:inline-block}@media (max-width: 640px){.it-table th:nth-child(5),.it-table td:nth-child(5){display:none}}.audit{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.audit-intro h2,.audit-done h2{margin:0 0 8px;color:var(--brand);font-size:20px}.audit-intro p,.audit-done p{margin:0 0 8px;line-height:1.5}.audit-done{max-width:720px;margin:0 auto}.audit-none{display:flex;align-items:center;gap:10px;padding:14px 16px;border:2px solid var(--line);border-radius:10px;background:var(--card);font-weight:600;cursor:pointer}.audit-none input{width:20px;height:20px}.audit-none.on{border-color:var(--brand);background:#eef4fa}.audit-item{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.audit-item.has-problem{border-color:#d9534f}.audit-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-field{display:flex;flex-direction:column;gap:4px;min-width:0}.audit-label{font-weight:600;font-size:13px}.audit-hint{font-size:12px;color:var(--ink-soft)}.audit-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px;background:var(--card)}textarea.audit-input{resize:vertical}.audit-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.audit-seg{display:flex;flex-wrap:wrap;gap:6px}.audit-seg button,.audit-chip{padding:8px 14px;border:1px solid var(--line);border-radius:18px;background:var(--card);font:inherit;font-size:14px;cursor:pointer;min-height:38px}.audit-seg button.on,.audit-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.audit-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.audit-need{display:flex;flex-direction:column;gap:6px}.audit-need label{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.audit-need label.on{border-color:var(--brand);background:#eef4fa}.audit-need input{width:18px;height:18px}.audit-howto-toggle{align-self:flex-start;border:0;background:none;color:var(--brand);text-decoration:underline;padding:0;font:inherit;font-size:13px;cursor:pointer}.audit-howto{margin:0;padding:8px 12px 8px 28px;background:#eef4fa;border-radius:8px;font-size:13px;line-height:1.5}p.audit-howto{padding-left:12px}.audit-pics{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.audit-pic{position:relative;width:84px;height:64px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg);display:grid;place-items:center}.audit-pic img{width:100%;height:100%;object-fit:cover}.audit-pic-doc{font-size:12px;font-weight:700;color:var(--ink-soft)}.audit-pic-x{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;border:0;background:#0009;color:#fff;font-size:11px;cursor:pointer}.audit-pic-add{padding:10px 14px;border:1px dashed var(--brand);border-radius:8px;background:#fff;color:var(--brand);font:inherit;font-weight:600;cursor:pointer;min-height:44px}.audit-paste{flex:1;min-width:180px;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;font-size:12px;color:var(--ink-soft);cursor:text}.audit-paste:focus{outline:none;border-color:var(--brand);background:#eef4fa}.audit-problem{color:#b3261e;font-size:13px;font-weight:600}.audit-reopened{border-color:var(--brand);background:#eef4fa}.audit-reopened h2{margin:0 0 8px;color:var(--brand);font-size:18px}.audit-reopened p{margin:0 0 8px;line-height:1.5}.audit-reopen-note{padding:8px 12px;background:#fff;border-left:3px solid var(--brand);border-radius:0 6px 6px 0;white-space:pre-wrap}.audit-sent{display:inline-flex;align-items:center;padding:8px 12px;border-radius:8px;background:var(--st-clocked);color:#2e5b22;font-size:13px;font-weight:600}.dev-reopened{color:#a15c00;font-size:12px}.audit-add{align-self:flex-start;min-height:44px}.audit-submit{align-self:stretch;min-height:48px;font-size:16px}@media (max-width: 640px){.audit-two{grid-template-columns:1fr}.audit-paste{display:none}}@media (hover: none){.audit-paste{display:none}}.dev-st{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--st-stat);color:#444}.dev-st-assigned{background:var(--st-scheduled);color:var(--brand-dark)}.dev-st-spare{background:#c8e6c9;color:#1b5e20}.dev-st-in-repair{background:#fff3cd;color:#7a5b00}.dev-st-lost-stolen{background:#f8d7da;color:#842029}.dev-st-retired{background:var(--st-stat);color:#555}.dev-audit{margin-bottom:12px}.dev-audit-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dev-audit-bar{width:160px;height:8px;border-radius:4px;background:var(--line);overflow:hidden}.dev-audit-bar>div{height:100%;background:var(--brand)}.dev-audit-lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.dev-audit-lists ul{margin:0;padding-left:18px;font-size:13px;line-height:1.7}.dev-comment{font-size:12px;color:var(--ink-soft);font-style:italic}.dev-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.dev-toolbar .it-input{width:auto}.dev-toolbar .dev-search{flex:1;min-width:200px}.dev-table-wrap{overflow-x:auto}.dev-table td{vertical-align:top}.dev-sub{font-size:11px}.dev-specs-cell{max-width:280px;font-size:12px}.dev-specs-read{color:var(--ink)}.dev-specs-none{color:#a15c00}.dev-specs-pending{font-style:italic}.dev-flag-dot{color:#b3261e;cursor:help}.dev-flag{margin:6px 0;padding:8px 10px;border-radius:8px;background:#fdecea;color:#842029;font-size:13px;white-space:pre-wrap}.dev-specs{border-collapse:collapse;font-size:13px}.dev-specs td{padding:3px 14px 3px 0;vertical-align:top}.dev-history{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.dev-form{display:flex;flex-direction:column;gap:8px}.dev-row{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;min-width:0}.dev-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.person-devices table{margin-bottom:4px}@media (max-width: 640px){.dev-audit-lists,.dev-spec-grid{grid-template-columns:1fr}.dev-toolbar .it-input{flex:1 1 45%}}
