:root{--navy:#0D1B3E;--navy2:#162850;--gold:#C9A84C;--gold-pale:#FDF8EC;--slate:#4A5E7A;--slate-lt:#8FA3BC;--bg:#F0F2F5;--surface:#FFFFFF;--surface2:#F7F8FA;--border:#DDE3EC;--border2:#C8D2E0;--accent:#1D6FE8;--accent-lt:#EBF2FD;--danger:#DC2626;--danger-lt:#FEF2F2;--success:#16A34A;--warn:#D97706;--text:#0F172A;--text2:#475569;--text3:#94A3B8;--radius:8px;--radius-sm:5px;--radius-lg:12px;--shadow:0 1px 4px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.04);--shadow-md:0 4px 20px rgba(0,0,0,.1);--shadow-lg:0 8px 40px rgba(0,0,0,.15);--font:var(--font-plex-sans),"IBM Plex Sans",sans-serif;--mono:var(--font-plex-mono),"IBM Plex Mono",monospace;--sidebar-w:280px;--rail-w:48px;--muted:#F7F8FA}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:13px;display:flex;flex-direction:column}.topbar{height:46px;background:var(--navy);padding:0 14px;gap:10px;border-bottom:2px solid var(--gold);z-index:200}.topbar,.topbar-logo{display:flex;align-items:center;flex-shrink:0}.topbar-logo{height:32px;background:#fff;border-radius:6px;padding:2px 8px;justify-content:center;overflow:hidden}.topbar-logo img{height:28px;width:auto;max-width:140px;display:block;object-fit:contain}.topbar-title{font-size:13px;font-weight:600;color:#fff}.topbar-sub{font-size:11px;color:var(--slate-lt);margin-left:2px}.ver-badge{margin-left:8px;font-size:10px;font-weight:700;color:var(--gold);background:rgba(201,168,76,.14);padding:2px 6px;border-radius:4px;font-family:var(--mono);letter-spacing:.4px;vertical-align:middle}.topbar-spacer{flex:1 1}.role-toggle{display:flex;align-items:center;gap:5px;padding:3px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;cursor:pointer;font-size:11px;font-weight:500;color:#fff;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.role-toggle:hover{background:rgba(255,255,255,.14)}.role-dot{width:6px;height:6px;background:var(--gold)}.role-dot,.user-avatar{border-radius:50%;flex-shrink:0}.user-avatar{width:26px;height:26px;background:var(--navy2);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--gold);cursor:pointer;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:inherit}.user-avatar:hover{background:var(--navy)}.user-avatar:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.user-menu{position:relative;display:flex;align-items:center;flex-shrink:0}.user-dd{display:none;position:fixed;top:54px;right:14px;width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:9000;overflow:hidden}.user-dd.show{display:block}.user-dd-head{padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface2)}.user-dd-name{font-size:12.5px;font-weight:700;color:var(--navy);word-break:break-word}.user-dd-email{font-size:11px;color:var(--text3);margin-top:2px;word-break:break-all}.user-dd-role{display:inline-block;margin-top:7px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--navy);background:var(--gold-pale);border:1px solid var(--gold);border-radius:999px;padding:2px 8px}.user-dd-item{display:flex;align-items:center;gap:9px;width:100%;padding:11px 14px;font-size:12.5px;font-weight:600;font-family:inherit;color:var(--text);background:none;border:none;cursor:pointer;text-align:left}.user-dd-item:hover:not(:disabled){background:var(--surface2)}.user-dd-item:disabled{opacity:.6;cursor:default}.user-dd-item.danger{color:var(--danger)}.user-dd-item.danger:hover:not(:disabled){background:var(--danger-lt)}.shell{display:flex;flex:1 1;overflow:hidden}.rail{width:var(--rail-w);background:var(--navy);flex-direction:column;padding:6px 0;gap:2px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06)}.rail,.rail-btn{display:flex;align-items:center}.rail-btn{width:34px;height:34px;border-radius:7px;background:none;border:none;cursor:pointer;justify-content:center;color:var(--slate-lt);transition:all .2s;position:relative}.rail-btn:hover{background:rgba(255,255,255,.08);color:#fff}.rail-btn.active{background:rgba(201,168,76,.15);color:var(--gold)}.rail-btn svg{width:17px;height:17px}.rail-tip{position:absolute;left:42px;top:50%;transform:translateY(-50%);background:var(--navy);color:#fff;font-size:10.5px;font-weight:500;padding:3px 7px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:999;border:1px solid rgba(255,255,255,.1)}.rail-btn:hover .rail-tip{opacity:1}.rail-spacer{flex:1 1}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);overflow:hidden}.sidebar,.sidebar-head{display:flex;flex-direction:column;flex-shrink:0}.sidebar-head{padding:10px 12px;border-bottom:1px solid var(--border);gap:8px}.search-wrap{position:relative}.search-ico{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}.search-ico svg{width:12px;height:12px}.sidebar-search{width:100%;padding:6px 8px 6px 26px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:12px;color:var(--text);outline:none;transition:border-color .2s}.sidebar-search:focus{border-color:var(--accent);background:#fff}.filter-row{display:flex;gap:3px}.flt-btn{flex:1 1;padding:4px 0;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:10.5px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .2s;text-align:center}.flt-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.notif-table-head{display:grid;grid-template-columns:1fr 64px 64px;grid-gap:0;gap:0;padding:6px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.5px;text-transform:uppercase}.notif-col-event{min-width:0}.notif-col-toggle{text-align:center;flex-shrink:0}.notif-row{display:grid;grid-template-columns:1fr 64px 64px;grid-gap:0;gap:0;padding:10px;border:1px solid var(--border);border-top:none;align-items:center;background:var(--surface);transition:background .12s}.notif-row:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.notif-row:hover{background:var(--surface2)}.notif-row-label{font-size:12.5px;font-weight:500;color:var(--text);min-width:0}.notif-row-desc{font-size:11px;color:var(--text3);margin-top:2px}.notif-toggle-cell{display:flex;justify-content:center;align-items:center}.notif-toggle{position:relative;width:36px;height:20px;cursor:pointer;flex-shrink:0}.notif-toggle input{opacity:0;width:0;height:0;position:absolute}.notif-toggle-track{position:absolute;inset:0;background:var(--border2);border-radius:10px;transition:background .2s}.notif-toggle input:checked+.notif-toggle-track{background:var(--accent)}.notif-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.notif-toggle input:checked~.notif-toggle-thumb{transform:translateX(16px)}.notif-dropdown{display:none;position:fixed;top:54px;right:14px;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:9000;overflow:hidden}.notif-dropdown.show{display:block}.notif-dd-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface2)}.notif-dd-title{font-size:12px;font-weight:700;color:var(--navy)}.notif-dd-list{max-height:320px;overflow-y:auto}.notif-dd-item{padding:10px 14px;border-bottom:1px solid var(--border);transition:background .12s}.notif-dd-item:last-child{border-bottom:none}.notif-dd-item:hover{background:var(--surface2)}.notif-dd-type{font-size:12px;font-weight:600;color:var(--navy)}.notif-dd-meta{font-size:11px;color:var(--text2);margin-top:1px}.notif-dd-time{font-size:10.5px;color:var(--text3);margin-top:2px}.notif-dd-empty{padding:20px 14px;font-size:12.5px;color:var(--text3);text-align:center}.notif-dd-item-new{background:var(--accent-lt)}.notif-dd-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:5px;vertical-align:middle;flex-shrink:0}.notif-badge{position:absolute;top:3px;right:3px;min-width:14px;height:14px;background:var(--danger);color:#fff;font-size:8px;font-weight:700;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none;line-height:1}.val-warn-banner{display:flex;align-items:flex-start;gap:10px;background:#FFF7ED;border:1px solid #fed7aa;border-left:3px solid var(--warn);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;font-size:12.5px;color:#92400E;line-height:1.5}.val-warn-banner svg{flex-shrink:0;margin-top:1px;color:var(--warn)}.val-warn-list{margin:4px 0 0;padding-left:16px}.val-warn-list li{margin-bottom:2px}.fi.val-warn,.hobbs-end.val-warn{border-color:var(--warn)!important;background:#FFFBEB!important}.grpby-row{display:flex;gap:2px;padding:0 0 2px}.grpby-btn{flex:1 1;padding:4px 0;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:10px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .2s;text-align:center;letter-spacing:.2px}.grpby-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.grpby-btn:hover:not(.active){background:var(--border);color:var(--text)}.create-project-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;background:var(--navy);border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:11.5px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;width:100%}.create-project-btn:hover{background:var(--accent)}.create-project-btn svg{width:12px;height:12px}.sidebar-body{flex:1 1;overflow-y:auto;padding:6px 0}.sidebar-body::-webkit-scrollbar{width:3px}.sidebar-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.proj-section{border-bottom:1px solid var(--border)}.proj-header{display:flex;align-items:center;gap:6px;padding:9px 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s;position:relative}.proj-header:hover{background:var(--surface2)}.proj-chevron{width:15px;height:15px;color:var(--slate);transition:transform .2s;flex-shrink:0;opacity:.8}.proj-chevron.open{transform:rotate(90deg);color:var(--navy);opacity:1}.proj-icon{width:22px;height:22px;background:var(--navy);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.proj-icon svg{width:11px;height:11px;color:var(--gold)}.proj-info{flex:1 1;min-width:0}.proj-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-num{font-size:10px;color:var(--text3);font-family:var(--mono)}.proj-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.proj-header:hover .proj-actions{opacity:1}.proj-action-btn{width:20px;height:20px;background:none;border:none;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .15s}.proj-action-btn:hover{background:var(--border);color:var(--text)}.proj-action-btn svg{width:11px;height:11px}.proj-body{display:none}.proj-body.open{display:block}.week-group{margin:0}.week-header{display:flex;align-items:center;gap:5px;padding:5px 12px 5px 38px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s}.week-header:hover{background:var(--surface2)}.week-chevron{width:11px;height:11px;color:var(--text3);transition:transform .2s;flex-shrink:0}.week-chevron.open{transform:rotate(90deg)}.week-label-text{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}.week-count{font-size:9px;background:var(--surface2);border:1px solid var(--border);color:var(--text3);padding:1px 5px;border-radius:8px}.week-body{display:none}.week-body.open{display:block}.sub-item{display:flex;flex-direction:column;gap:2px;padding:6px 10px 6px 12px;cursor:pointer;transition:background .15s;border-left:3px solid transparent;position:relative;margin:1px 0}.sub-item:hover{background:var(--surface2);border-left-color:var(--border2)}.sub-item.active{background:var(--accent-lt);border-left-color:var(--accent)}.sub-date{font-size:11.5px;font-weight:600;color:var(--navy);font-family:var(--mono)}.sub-status-row{display:flex;align-items:center;gap:5px;margin-top:1px}.status-pill{font-size:9px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:1px 5px;border-radius:3px}.status-submitted{background:#DCFCE7;color:var(--success)}.status-draft{background:#FEF9C3;color:var(--warn)}.new-report-btn{display:flex;align-items:center;gap:6px;padding:6px 12px 8px 38px;cursor:pointer;font-size:11.5px;font-weight:500;color:var(--accent);transition:background .15s}.new-report-btn:hover{background:var(--accent-lt)}.new-report-btn svg{width:12px;height:12px}.main{display:flex;background:var(--bg);min-width:0}.main,.view{flex:1 1;flex-direction:column;overflow:hidden}.view{display:none}.view.active{display:flex}.empty-state{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text3);padding:40px;text-align:center}.empty-icon{font-size:38px;opacity:.35}.empty-title{font-size:14px;font-weight:600;color:var(--text2)}.empty-sub{font-size:12px;max-width:260px;line-height:1.6}.form-topbar{height:46px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 18px;gap:10px;flex-shrink:0}.form-topbar-title{font-size:13.5px;font-weight:600;color:var(--text);flex:1 1}.form-topbar-sub{font-size:11px;color:var(--text3)}.badge{padding:2px 7px;border-radius:3px;font-size:9.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.badge-admin{background:rgba(201,168,76,.15);color:#92670A}.badge-field{background:var(--accent-lt);color:var(--accent)}.badge-super-admin{background:rgba(13,27,62,.12);color:var(--navy);font-weight:700}.badge-submitted{background:#DCFCE7;color:var(--success)}.badge-draft,.ro-banner{background:#FEF9C3;color:var(--warn)}.ro-banner{display:none;padding:7px 18px;border-bottom:1px solid #fde68a;font-size:11.5px;font-weight:500;align-items:center;gap:7px;flex-shrink:0}.ro-banner.show{display:flex}.stepper-wrap{padding:14px 18px 10px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.stepper{gap:0;max-width:420px}.step,.stepper{display:flex;align-items:center}.step{gap:8px;flex:1 1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;transition:all .25s;border:2px solid var(--border);background:var(--surface);color:var(--text3)}.step.active .step-circle{background:var(--navy);border-color:var(--navy);color:#fff}.step.done .step-circle{background:var(--success);border-color:var(--success);color:#fff}.step-info{display:flex;flex-direction:column}.step-num{font-size:9.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text3)}.step.active .step-num{color:var(--accent)}.step-name{font-size:11.5px;font-weight:600;color:var(--text2)}.step.active .step-name{color:var(--text)}.step-connector{flex:1 1;height:2px;background:var(--border);margin:0 8px;transition:background .25s}.step-connector.done{background:var(--success)}.form-scroll{flex:1 1;overflow-y:auto;padding:18px}.form-scroll::-webkit-scrollbar{width:4px}.form-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.form-page{display:none}.form-page.active{display:block}.fcard{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border2);border-left:3px solid var(--navy);margin-bottom:18px;overflow:hidden;box-shadow:0 2px 8px rgba(13,27,62,.07),0 1px 2px rgba(13,27,62,.04)}.fcard-head{background:var(--navy);padding:11px 14px;gap:8px;border-bottom:2px solid var(--gold)}.fcard-head,.fcard-ico{display:flex;align-items:center}.fcard-ico{width:22px;height:22px;background:rgba(201,168,76,.2);border-radius:4px;justify-content:center;flex-shrink:0}.fcard-ico svg{width:11px;height:11px;color:var(--gold)}.fcard-title{font-size:10.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#fff}.fcard-body{padding:14px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));grid-gap:10px;gap:10px;margin-bottom:14px;padding:12px;background:var(--accent-lt);border-radius:var(--radius-sm);border:1px solid #bfd3f5}.field{margin-bottom:10px}.field:last-child{margin-bottom:0}.fl{display:block;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--slate);margin-bottom:4px}.req{color:var(--danger)}.fi,.fs,.fta{width:100%;padding:7px 10px;font-family:var(--font);font-size:12.5px;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s,box-shadow .2s;min-height:33px}.fi:focus,.fs:focus,.fta:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,111,232,.08)}.fi[readonly],.fs[disabled],.fta[readonly]{background:var(--surface2);color:var(--text2);cursor:default;border-color:var(--border);box-shadow:none}.fi.locked{background:var(--gold-pale);border-color:#E8D49A;color:var(--navy);font-weight:500}.fi::placeholder,.fta::placeholder{color:var(--text3)}.fs{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234A5E7A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:26px;cursor:pointer}.fta{min-height:60px;resize:vertical;line-height:1.5}.grid-2{grid-template-columns:1fr 1fr;grid-gap:10px}.grid-2,.grid-3{display:grid;gap:10px}.grid-3{grid-template-columns:1fr 1fr 1fr;grid-gap:10px}.wx-grid{display:flex;flex-wrap:wrap;gap:5px}.wx-pill{padding:4px 10px;background:var(--surface2);border:1.5px solid var(--border);border-radius:20px;cursor:pointer;font-size:11px;font-weight:500;color:var(--text2);transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.wx-pill.on{background:#1547B8;border-color:#1547B8;color:#fff;font-weight:600}.tw{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}.tbl{width:100%;border-collapse:collapse;font-size:12px}.tbl thead th{background:var(--navy);color:#fff;padding:7px 9px;font-size:9px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;text-align:left;white-space:nowrap}.tbl tbody tr{border-bottom:1px solid var(--border)}.tbl tbody tr:last-child{border-bottom:none}.tbl tbody tr:hover{background:var(--surface2)}.tbl tbody td{padding:5px 6px;vertical-align:middle}.eq-name{font-size:11px;font-weight:500;white-space:nowrap;padding-left:9px!important}.eq-name,.ti{color:var(--text)}.ti{width:100%;padding:5px 7px;font-family:var(--font);font-size:11.5px;background:var(--surface2);border:1.5px solid var(--border);border-radius:4px;outline:none;min-height:27px;transition:border-color .2s}.cc-wrap{display:flex;align-items:stretch;gap:4px;width:100%}.cc-wrap .ti{flex:1 1;min-width:0}.ti.cc-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234A5E7A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;padding-right:22px;cursor:pointer}.ti.cc-custom{background:var(--gold-pale)}.ti.cc-custom,.ti.cc-custom:focus{border-color:var(--gold)}.cc-back{flex-shrink:0;width:24px;min-height:27px;display:flex;align-items:center;justify-content:center;background:var(--surface2);border:1.5px solid var(--border);border-radius:4px;color:var(--slate);cursor:pointer;padding:0}.cc-back:hover{background:var(--accent-lt);border-color:var(--accent);color:var(--accent)}.cc-back svg{width:12px;height:12px}.ti:focus{background:#fff;border-color:var(--accent)}.ti[readonly]{cursor:default;background:var(--surface2);border-color:transparent}.add-row{display:flex;align-items:center;gap:5px;padding:6px 10px;background:none;border:1.5px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-size:11px;font-weight:500;color:var(--text3);width:100%;transition:all .2s;margin-top:5px}.add-row:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-lt)}.add-row svg{width:10px;height:10px}.form-actions{padding:10px 18px;display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-family:var(--font);font-size:12px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;white-space:nowrap;min-height:32px}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-gold{background:var(--gold);color:var(--navy)}.btn-gold:hover{opacity:.9}.btn-ghost{background:none;color:var(--text2);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--navy);color:var(--text)}.btn-danger{background:var(--danger-lt);color:var(--danger);border:1.5px solid #fecaca}.btn-danger:hover{background:var(--danger);color:#fff}.btn-success{background:#DCFCE7;color:var(--success);border:1.5px solid #bbf7d0}.btn-success:hover{background:var(--success);color:#fff}.btn svg{width:12px;height:12px}.act-spacer{flex:1 1}.ro-field{margin-bottom:10px}.ro-label{font-size:9.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);margin-bottom:3px}.ro-value{font-size:12.5px;color:var(--text);padding:6px 0;border-bottom:1px solid var(--border)}.ro-value.empty{color:var(--text3);font-style:italic}.ov-body{flex:1 1;overflow-y:auto;padding:18px}.ov-body::-webkit-scrollbar{width:4px}.ov-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.ov-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.ov-title{font-size:16px;font-weight:600;color:var(--text)}.ov-sub{font-size:11px;color:var(--text3);margin-top:2px}.tgl-grp{display:flex;background:var(--surface2);border:1px solid var(--border);border-radius:5px;overflow:hidden}.tgl-opt{padding:5px 12px;font-family:var(--font);font-size:11px;font-weight:500;color:var(--text2);background:none;border:none;cursor:pointer;transition:all .2s}.tgl-opt.active{background:var(--navy);color:#fff}.stat-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.stat-lbl{color:var(--text3)}.stat-val{color:var(--text);font-family:var(--mono)}.stat-sub{color:var(--text3)}.chart-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.chart-title{color:var(--text)}.bar-chart{height:90px}.bar-grp{flex-direction:column;gap:2px;flex:1 1}.bar-grp,.bar-stk{display:flex;align-items:center}.bar-stk{flex-direction:column;width:100%;gap:1px}.bar{width:100%;border-radius:2px 2px 0 0;min-height:2px;transition:opacity .2s}.bar:hover{opacity:.75}.bar.pdr{background:var(--navy)}.bar.edr{background:var(--gold)}.bar-lbl{font-size:9px;color:var(--text3);text-align:center;white-space:nowrap}.leg-item{color:var(--text2)}.recent-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:14px;margin-bottom:12px}.rc-head{margin-bottom:8px}.rc-row{grid-template-columns:100px 1fr 1fr 80px;grid-gap:8px;gap:8px;padding:6px 0;font-size:11px}.rc-row:hover{background:var(--muted)}.rc-hdr{font-size:10px}.rc-hdr:hover{background:none}.intel-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.intel-title{color:var(--navy)}.intel-title svg{opacity:.6}.intel-row{border-bottom:1px solid var(--border)}.intel-code{font-family:var(--mono);color:var(--navy)}.intel-label{color:var(--text2)}.intel-val{font-family:var(--mono);color:var(--text)}.intel-bar-wrap{background:var(--border)}.intel-bar-fill{background:var(--navy)}.proj-intel-tbl{width:100%;border-collapse:collapse;font-size:11px}.proj-intel-tbl th{font-size:9.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);padding:6px 8px;border-bottom:2px solid var(--border);text-align:left;background:var(--muted)}.proj-intel-tbl td{padding:7px 8px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}.proj-intel-tbl tr:hover td{background:var(--muted)}.proj-intel-tbl .mono{font-family:var(--mono);font-size:10.5px}.ov-section-title{color:var(--text3);border-bottom:2px solid var(--border)}.empty-ov{text-align:center;padding:40px;color:var(--text3);font-size:12px}.rc{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.rc-head{padding:10px 14px;font-weight:600;color:var(--text)}.rc-head,.rc-row{border-bottom:1px solid var(--border);font-size:11.5px}.rc-row{display:grid;grid-template-columns:110px 1fr 1fr 70px;padding:8px 14px;transition:background .15s;cursor:pointer;align-items:center}.rc-row:last-child{border-bottom:none}.rc-hdr,.rc-row:hover{background:var(--surface2)}.rc-hdr{font-size:9.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);cursor:default}.rc-hdr:hover{background:var(--surface2)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:8000;align-items:center;justify-content:center;padding:16px}.modal-box,.modal-overlay.show{display:flex}.modal-box{background:var(--surface);border-radius:var(--radius-lg);padding:0;width:560px;max-width:100%;max-height:90vh;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-size:15px;font-weight:600;color:var(--text)}.modal-close{width:28px;height:28px;background:none;border:none;cursor:pointer;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .2s}.modal-close:hover{background:var(--surface2);color:var(--text)}.modal-close svg{width:14px;height:14px}.modal-body{padding:18px 20px;overflow-y:auto;flex:1 1}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.modal-foot{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.dyn-list{flex-direction:column}.dyn-list,.dyn-row{display:flex;gap:6px}.dyn-row{align-items:center}.dyn-row .fi{flex:1 1}.dyn-row .fi.code-label{flex:1.2 1}.dyn-row .fi.code-val{flex:.8 1}.dyn-remove{width:24px;height:24px;background:none;border:none;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .2s;flex-shrink:0}.dyn-remove:hover{background:var(--danger-lt);color:var(--danger)}.dyn-remove svg{width:11px;height:11px}.dyn-add{display:flex;align-items:center;gap:5px;padding:5px 8px;background:none;border:1.5px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-size:11px;color:var(--text3);transition:all .2s;margin-top:2px;width:100%}.dyn-add:hover{border-color:var(--accent);color:var(--accent)}.dyn-add svg{width:10px;height:10px}.modal-section-title{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#fff;background:var(--navy);border-left:3px solid var(--gold);border-bottom:2px solid var(--gold);padding:9px 14px;margin:18px -20px 12px;gap:8px}.modal-section-title:first-child{margin-top:-18px}.modal-section-title span{color:rgba(255,255,255,.55);font-weight:400;text-transform:none;letter-spacing:0}.modal-section-title .chip-custom-add{background:rgba(201,168,76,.18);color:var(--gold);border-color:rgba(201,168,76,.35);flex-shrink:0}.modal-section-title .chip-custom-add:hover{background:rgba(201,168,76,.32)}.confirm-box{background:var(--surface);border-radius:var(--radius-lg);padding:24px;width:380px;max-width:100%;box-shadow:var(--shadow-lg)}.confirm-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px}.confirm-body{font-size:12.5px;color:var(--text2);line-height:1.6;margin-bottom:16px}.confirm-warn{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--danger-lt);border-radius:var(--radius-sm);border-left:3px solid var(--danger);font-size:11.5px;color:var(--danger);margin-bottom:16px;line-height:1.5}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-step{font-size:11px;color:var(--text3);margin-bottom:8px;text-align:center}.preview-overlay{display:none;position:fixed;inset:0;z-index:7000;background:rgba(8,18,38,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-direction:column}.preview-overlay.show{display:flex}.preview-head{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.preview-title{font-size:12.5px;font-weight:500;color:#fff}.preview-frame-wrap{flex:1 1;overflow:auto;padding:14px;display:flex;justify-content:center;background:#525659}#previewFrame{width:100%;max-width:860px;min-height:80vh;height:100%;border:none;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,.5);background:#fff;display:block}#previewSpinner{display:none;position:absolute;inset:56px 0 0 0;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#fff}.spin{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top:3px solid var(--gold);border-radius:50%;animation:spin .8s linear infinite}.emp-cards-list{display:flex;flex-direction:column;gap:6px}.emp-row{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:all .2s}.emp-row:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(29,111,232,.08)}.emp-row-header{gap:10px;padding:9px 12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.emp-avatar,.emp-row-header{display:flex;align-items:center}.emp-avatar{width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--gold);justify-content:center;font-size:10.5px;font-weight:700;flex-shrink:0}.emp-row-main{flex:1 1;min-width:0}.emp-row-top{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}.emp-name-display{font-size:12.5px;font-weight:600;color:var(--text)}.emp-time-chip{color:var(--text3)}.emp-hrs-chip,.emp-time-chip{font-size:11px;font-family:var(--mono)}.emp-hrs-chip{font-weight:700;padding:1px 7px;background:var(--gold-pale);border:1px solid #e8d49a;border-radius:3px;color:var(--navy)}.chip-signed{background:#DCFCE7;border:1px solid #bbf7d0;border-radius:3px;color:var(--success)}.chip-signed,.chip-unsigned{font-size:10px;font-weight:600;padding:1px 6px}.chip-unsigned{background:#FEF2F2;border:1px solid #fecaca;border-radius:3px;color:var(--danger)}.emp-tasks-preview{display:flex;flex-direction:column;gap:2px}.emp-task-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text2);line-height:1.4}.emp-task-num{font-size:9.5px;font-weight:700;color:var(--slate-lt);text-transform:uppercase;width:42px;flex-shrink:0}.emp-task-detail{display:flex;gap:0;flex-wrap:wrap}.emp-task-seg{color:var(--text2)}.emp-task-sep{color:var(--text3);padding:0 4px}.emp-task-hrs{font-weight:600;color:var(--navy);font-family:var(--mono)}.emp-row-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.emp-edit-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent-lt);border:1px solid #bfd3f5;border-radius:4px;font-family:var(--font);font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;transition:all .2s;white-space:nowrap}.emp-edit-btn:hover{background:var(--accent);color:#fff}.emp-remove-btn{width:22px;height:22px;background:none;border:none;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .15s;flex-shrink:0;padding:0}.emp-remove-btn:hover{background:var(--danger-lt);color:var(--danger)}.emp-remove-btn svg{width:11px;height:11px}.emp-drawer-overlay{display:none;position:fixed;inset:0;z-index:6000;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.emp-drawer-overlay.open{display:block}.emp-drawer{position:fixed;top:0;right:-700px;width:680px;max-width:100vw;height:100vh;background:var(--surface);box-shadow:-4px 0 32px rgba(0,0,0,.18);display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);z-index:6001}.emp-drawer.open{right:0}.emp-drawer-head{padding:14px 18px;background:var(--navy);gap:12px;border-bottom:2px solid var(--gold)}.emp-drawer-avatar,.emp-drawer-head{display:flex;align-items:center;flex-shrink:0}.emp-drawer-avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--navy);justify-content:center;font-size:13px;font-weight:700}.emp-drawer-title{font-size:14px;font-weight:600;color:#fff;flex:1 1}.emp-drawer-sub{font-size:11px;color:var(--slate-lt)}.emp-drawer-close{width:30px;height:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;flex-shrink:0}.emp-drawer-close:hover{background:rgba(255,255,255,.18)}.emp-drawer-body{flex:1 1;overflow-y:auto;padding:18px}.emp-drawer-body::-webkit-scrollbar{width:4px}.emp-drawer-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.emp-drawer-foot{padding:12px 18px;background:var(--surface2);border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.emp-drawer-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media(max-width:720px){.emp-drawer{width:100vw}.emp-drawer-grid{grid-template-columns:1fr}}.drawer-section-title{font-size:10px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--slate);padding:0 0 6px;border-bottom:1px solid var(--border);margin-bottom:10px}.emp-fields-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:16px}.task-groups-wrap{margin-bottom:14px}.task-groups-label{font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--slate);padding:0 0 6px;border-bottom:1px solid var(--border);margin-bottom:8px}.task-groups-list{display:flex;flex-direction:column;gap:6px}.task-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.task-group-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:rgba(13,27,62,.04);border-bottom:1px solid var(--border)}.task-group-num{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--slate)}.task-del-btn{width:18px;height:18px;background:none;border:none;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .15s;padding:0}.task-del-btn:hover{background:var(--danger-lt);color:var(--danger)}.task-group-body{display:flex;gap:10px;padding:8px 10px;flex-wrap:wrap;align-items:flex-end}.task-field{display:flex;flex-direction:column;gap:3px}.task-label{font-size:9.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}.yn-section{margin-bottom:14px}.yn-list{display:flex;flex-direction:column;gap:6px}.yn-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.yn-q{font-size:12px;color:var(--text);flex:1 1;line-height:1.4}.yn-btns{display:flex;gap:4px;flex-shrink:0}.yn-btn{padding:4px 12px;font-family:var(--font);font-size:11.5px;font-weight:600;border:1.5px solid var(--border);border-radius:4px;background:var(--surface2);color:var(--text2);cursor:pointer;transition:all .2s;min-width:44px;min-height:30px}.yn-btn:hover{border-color:var(--navy);color:var(--navy)}.yn-btn.yn-yes{background:#DCFCE7;border-color:var(--success);color:var(--success)}.yn-btn.yn-no{background:var(--danger-lt);border-color:var(--danger);color:var(--danger)}.yn-btn:disabled{opacity:.6;cursor:default}.sig-area{margin-top:4px}.sig-label-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.sig-label{font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--slate)}.sig-done-badge{background:#DCFCE7;color:var(--success)}.sig-done-badge,.sig-required-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:3px}.sig-required-badge{background:var(--danger-lt);color:var(--danger)}.sig-clear-btn,.sig-override-btn{font-size:10.5px;font-weight:500;padding:3px 8px;background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text2);font-family:var(--font);transition:all .2s}.sig-clear-btn:hover{border-color:var(--danger);color:var(--danger)}.sig-override-btn{border-color:var(--warn);color:var(--warn)}.sig-canvas{width:100%;height:90px;border:2px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:crosshair;touch-action:none;display:block}.sig-canvas.has-sig{border-color:var(--success)}.sig-preview{width:100%;height:90px;object-fit:contain;border:2px solid var(--success);border-radius:var(--radius-sm);background:#fff;display:block}.sig-empty{height:64px;border:2px dashed var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text3)}.settings-toggle-wrap{display:flex;align-items:center;cursor:pointer}.settings-toggle{width:42px;height:24px;background:var(--border);border-radius:12px;position:relative;transition:background .2s}.settings-toggle.on{background:var(--success)}.settings-toggle-knob{width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.settings-toggle.on .settings-toggle-knob{left:21px}.subsection-label{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--navy);padding:6px 8px;border-left:3px solid var(--gold);background:rgba(13,27,62,.03);border-radius:0 4px 4px 0;margin-bottom:10px}.attach-sub{font-size:11px;color:var(--text3);line-height:1.5}.attach-dropzone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:18px 14px;text-align:center;cursor:pointer;transition:all .2s;background:var(--surface2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.attach-dropzone.drag-over,.attach-dropzone:hover{border-color:var(--accent);background:var(--accent-lt)}.attach-drop-icon{color:var(--text3);margin-bottom:8px;display:flex;justify-content:center}.attach-dropzone.drag-over .attach-drop-icon,.attach-dropzone:hover .attach-drop-icon{color:var(--accent)}.attach-drop-text{font-size:13px;font-weight:500;color:var(--text2);margin-bottom:4px}.attach-drop-hint{font-size:10.5px;color:var(--text3);letter-spacing:.3px}.attach-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.attach-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background .15s}.attach-item:hover{background:var(--surface)}.attach-file-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;font-weight:600}.attach-file-icon.img{background:#EFF6FF;color:#2563EB}.attach-file-icon.pdf{background:#FEF2F2;color:#DC2626}.attach-file-icon.doc{background:#EFF6FF;color:#1D6FE8}.attach-file-icon.csv,.attach-file-icon.xls{background:#F0FDF4;color:#16A34A}.attach-file-icon.vid{background:#FDF4FF;color:#9333EA}.attach-file-icon.other{background:var(--surface2);color:var(--slate)}.attach-info{flex:1 1;min-width:0}.attach-name{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-meta{font-size:10.5px;color:var(--text3);margin-top:1px}.attach-remove{width:24px;height:24px;background:none;border:none;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .15s;flex-shrink:0;padding:0}.attach-remove:hover{background:var(--danger-lt);color:var(--danger)}.attach-remove svg{width:12px;height:12px}.attach-img-thumb{width:36px;height:36px;border-radius:5px;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.row-del-btn{width:22px;height:22px;background:none;border:none;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--text3);transition:all .15s;padding:0;flex-shrink:0}.row-del-btn:hover{background:var(--danger-lt);color:var(--danger)}.row-del-btn svg{width:11px;height:11px}.reset-fleet-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);font-weight:500;color:rgba(255,255,255,.75);flex-shrink:0;margin-left:auto}.reset-fleet-btn:hover{background:rgba(201,168,76,.2);color:var(--gold)}.hier-year{border-bottom:1px solid var(--border)}.hier-year-hd{display:flex;align-items:center;gap:7px;padding:7px 10px 7px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:rgba(13,27,62,.06);border-left:3px solid var(--navy);transition:background .15s;margin-bottom:1px}.hier-year-hd:hover{background:rgba(13,27,62,.12)}.hier-year-ch{width:14px;height:14px;color:var(--navy);transition:transform .2s;flex-shrink:0;opacity:.85}.hier-year-ch.open{transform:rotate(90deg)}.hier-year-lbl{font-size:11.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--navy);flex:1 1}.hier-year-ct{font-size:9.5px;background:var(--navy);color:#fff;padding:2px 7px;border-radius:10px;font-weight:700;letter-spacing:.3px}.hier-year-bd{display:none}.hier-year-bd.open{display:block}.hier-month-hd{display:flex;align-items:center;gap:7px;padding:6px 10px 6px 22px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:rgba(201,168,76,.07);border-left:3px solid var(--gold);margin:1px 0 1px 4px;border-radius:0 3px 3px 0;transition:background .15s}.hier-month-hd:hover{background:rgba(201,168,76,.15)}.hier-month-ch{width:13px;height:13px;color:var(--gold);transition:transform .2s;flex-shrink:0;opacity:.9}.hier-month-ch.open{transform:rotate(90deg)}.hier-month-lbl{font-size:11px;font-weight:600;color:#6B4F0A;flex:1 1;letter-spacing:.2px}.hier-month-ct{font-size:9.5px;background:rgba(201,168,76,.18);border:1px solid rgba(201,168,76,.4);color:#7A5C0A;padding:2px 6px;border-radius:8px;font-weight:600}.hier-month-bd{display:none}.hier-month-bd.open{display:block}.hier-week-hd{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 30px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--accent-lt);border-left:3px solid var(--accent);margin:1px 0 1px 8px;border-radius:0 3px 3px 0;transition:background .15s}.hier-week-hd:hover{background:#D6E8FB}.hier-week-ch{width:12px;height:12px;color:var(--accent);transition:transform .2s;flex-shrink:0;opacity:.9}.hier-week-ch.open{transform:rotate(90deg)}.hier-week-range{font-size:10.5px;color:var(--accent);font-family:var(--mono);font-weight:600;flex:1 1}.hier-week-ct{font-size:9.5px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:8px;font-weight:700}.hier-week-bd{display:none}.hier-week-bd.open{display:block}.reset-fleet-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);border-radius:4px;font-family:var(--font);font-size:10.5px;font-weight:600;color:var(--gold);cursor:pointer;transition:all .2s;white-space:nowrap}.reset-fleet-btn:hover{background:rgba(201,168,76,.25);border-color:var(--gold)}@keyframes spin{to{transform:rotate(1turn)}}.stab{letter-spacing:.2px}.audit-tbl tbody tr{border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}.audit-tbl tbody tr:last-child{border-bottom:none}.audit-tbl tbody tr:hover{background:var(--surface2)}.audit-tbl tbody td{padding:7px 10px;vertical-align:top}.atype-REPORT_SUBMITTED{background:#DCFCE7;color:var(--success)}.atype-REPORT_RESUBMITTED{background:#D1FAE5;color:#065F46}.atype-PROJECT_DELETED,.atype-REPORT_DELETED{background:#FEE2E2;color:var(--danger)}.audit-detail{font-size:10.5px;color:var(--text2);line-height:1.5}.audit-detail strong{color:var(--navy)}.audit-expand{padding:8px 10px 10px}@media(max-width:768px){:root{--sidebar-w:220px}.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:560px){.rail{display:none}}.chip-picker-wrap{margin-bottom:4px}.chip-search{width:100%;padding:6px 10px;font-family:var(--font);font-size:11.5px;color:var(--text);background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;margin-bottom:7px;transition:border-color .2s}.chip-search:focus{border-color:var(--accent);background:#fff}.chip-grid{display:flex;flex-wrap:wrap;gap:5px;max-height:160px;overflow-y:auto;padding:4px 2px}.chip-grid::-webkit-scrollbar{width:3px}.chip-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.chip-item{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1.5px solid var(--border);border-radius:20px;font-family:var(--font);font-size:11px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;background:var(--surface)}.chip-item:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-lt)}.chip-item.selected{background:var(--navy);border-color:var(--navy);color:#fff}.chip-item.selected:hover{background:var(--accent);border-color:var(--accent)}.chip-grid{max-height:172px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);padding:7px 8px;align-content:flex-start;overscroll-behavior:contain;scrollbar-gutter:stable}.chip-grid::-webkit-scrollbar{width:8px}.chip-grid::-webkit-scrollbar-track{background:transparent}.chip-grid::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px;border:2px solid var(--surface2)}.chip-grid::-webkit-scrollbar-thumb:hover{background:var(--slate-lt)}.chip-quick-row{display:flex;gap:6px;margin-bottom:7px}.chip-quick-btn{padding:3px 9px;font-family:var(--font);font-size:10.5px;font-weight:600;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text3);cursor:pointer;transition:all .15s}.chip-quick-btn:hover{border-color:var(--navy);color:var(--navy)}.task-chip-pick{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.task-chip{padding:3px 8px;border:1.5px solid var(--border);border-radius:12px;font-size:10.5px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;background:var(--surface);font-family:var(--mono)}.task-chip:hover{border-color:var(--accent);color:var(--accent)}.task-chip.picked{background:var(--navy);border-color:var(--navy);color:#fff}.task-chip.picked:hover{background:var(--accent);border-color:var(--accent)}.chip-custom-row{display:flex;gap:5px;margin-top:6px;align-items:center}.chip-custom-row .ti{flex:1 1;font-size:11px;padding:4px 7px}.chip-custom-add{padding:4px 10px;font-family:var(--font);font-size:11px;font-weight:600;background:var(--navy);color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .15s}.chip-custom-add:hover{background:var(--accent)}.modal-box{width:640px}@media(max-width:700px){.modal-box{width:100%}}.settings-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:18px;flex-shrink:0}.stab{padding:9px 16px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--text3);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.stab.active,.stab:hover{color:var(--navy)}.stab.active{border-bottom-color:var(--navy)}.stab-panel{display:none}.stab-panel.active{display:block}.audit-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.audit-search{flex:1 1;min-width:160px;padding:6px 10px;font-family:var(--font);font-size:12px;color:var(--text);background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s}.audit-search:focus{border-color:var(--accent);background:#fff}.audit-type-sel{padding:6px 10px;font-size:12px;color:var(--text);background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none}.audit-export-btn,.audit-type-sel{font-family:var(--font);cursor:pointer}.audit-export-btn{padding:6px 12px;font-size:11.5px;font-weight:600;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);white-space:nowrap;transition:background .2s}.audit-export-btn:hover{background:var(--accent)}.audit-count{font-size:11px;color:var(--text3);white-space:nowrap}.audit-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.audit-tbl{width:100%;border-collapse:collapse;font-size:11.5px}.audit-tbl thead th{background:var(--navy);color:#fff;padding:8px 10px;font-size:9.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;text-align:left;white-space:nowrap}.audit-tbl tbody tr.audit-main-row{border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}.audit-tbl tbody tr.audit-main-row:hover{background:var(--surface2)}.audit-ts{font-family:var(--mono);font-size:10.5px;color:var(--text2);white-space:nowrap}.audit-type-pill{display:inline-block;padding:2px 7px;border-radius:4px;font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.atype-REPORT_RESUBMITTED,.atype-REPORT_SUBMITTED{background:#DCFCE7;color:var(--success)}.atype-DRAFT_UPDATED{background:#FEF9C3;color:var(--warn)}.atype-REPORT_EDIT_OPENED{background:#FEF3C7;color:#92400E}.atype-PROJECT_DELETED,.atype-REPORT_DELETED{background:#FEE2E2;color:var(--danger)}.atype-PROJECT_CREATED{background:var(--accent-lt);color:var(--accent)}.atype-PROJECT_UPDATED{background:#E0F2FE;color:#0369A1}.audit-expand-row td{padding:0}.audit-expand{display:none;padding:8px 12px 10px;background:var(--surface2);border-top:1px solid var(--border)}.audit-expand.open{display:block}.audit-json{font-family:var(--mono);font-size:10px;color:var(--slate);background:var(--surface);padding:8px;border-radius:4px;border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;max-height:160px;overflow-y:auto}.audit-empty{padding:32px 20px;text-align:center;color:var(--text3);font-size:12px}.success-overlay{position:fixed;inset:0;background:rgba(13,27,62,.55);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}.success-overlay.show{opacity:1;pointer-events:all}.success-box{background:#fff;border-radius:12px;padding:32px 28px;width:400px;max-width:90vw;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center;transform:scale(.96);transition:transform .25s}.success-overlay.show .success-box{transform:scale(1)}.success-icon{font-size:40px;margin-bottom:12px}.success-title{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:4px}.success-subtitle{font-size:12px;color:var(--text3);margin-bottom:18px;font-weight:500;letter-spacing:.3px}.success-details{background:var(--surface2);border-radius:8px;padding:14px 16px;margin-bottom:20px;text-align:left}.success-detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;border-bottom:1px solid var(--border);font-size:11.5px}.success-detail-row:last-child{border-bottom:none;padding-bottom:0}.success-detail-label{color:var(--text3);font-weight:500}.success-detail-val{color:var(--navy);font-weight:600;font-family:var(--mono);font-size:11px}.success-email-note{font-size:11px;color:var(--text3);margin-bottom:18px;gap:5px}.form-preview-overlay,.success-email-note{display:flex;align-items:center;justify-content:center}.form-preview-overlay{position:fixed;inset:0;background:rgba(13,27,62,.6);z-index:8500;padding:24px 16px;opacity:0;pointer-events:none;transition:opacity .2s;overflow:auto}.form-preview-overlay.show{opacity:1;pointer-events:all}.form-preview-box{background:#fff;border-radius:10px;width:760px;max-width:calc(100vw - 32px);box-shadow:0 24px 80px rgba(0,0,0,.3);transform:translateY(12px);transition:transform .2s;display:flex;flex-direction:column;max-height:90vh}.form-preview-overlay.show .form-preview-box{transform:translateY(0)}.form-preview-topbar{background:var(--navy);padding:12px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:10}#fpBody{flex:1 1;overflow-y:auto;padding:4px 0}.form-preview-body{overflow-y:auto;flex:1 1;padding:20px 24px}.form-preview-topbar-title{color:#fff;font-size:13px;font-weight:700;letter-spacing:.3px}.form-preview-topbar-sub{color:rgba(255,255,255,.6);font-size:11px;margin-top:2px}.form-preview-close{background:none;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:5px;padding:5px 12px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:var(--font);transition:all .15s}.form-preview-close:hover{background:rgba(255,255,255,.12)}.fp-section{margin-bottom:18px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.fp-section-head{background:var(--surface2);padding:8px 14px;font-size:10.5px;font-weight:700;letter-spacing:.5px;border-bottom:1px solid var(--border)}.fp-section-body{padding:12px 14px}.fp-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 16px;gap:8px 16px}.fp-field{font-size:11.5px;color:var(--text2)}.fp-field strong{color:var(--navy);font-weight:600;display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.fp-field span{color:var(--text)}.fp-fullrow{grid-column:1/-1}.fp-tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.fp-tag{background:var(--accent-lt);border:1px solid #bfd3f5;color:var(--accent);border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:600}.fp-emp-card{border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px;background:#fff}.fp-emp-head{gap:10px;margin-bottom:6px}.fp-emp-avatar,.fp-emp-head{display:flex;align-items:center}.fp-emp-avatar{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:700;justify-content:center;flex-shrink:0}.fp-emp-name{font-size:12px;font-weight:600;color:var(--navy)}.fp-emp-time{font-size:10.5px;color:var(--text3);font-family:var(--mono)}.fp-emp-hrs{margin-left:auto;font-size:11px;font-weight:700;color:var(--navy);font-family:var(--mono)}.fp-task-list{display:flex;flex-direction:column;gap:3px;margin-top:4px}.fp-task{font-size:10.5px;color:var(--text2);display:flex;gap:6px;align-items:center}.fp-task-num{color:var(--text3);font-size:9.5px;width:36px;flex-shrink:0}.fp-divider{border:none;border-top:1px solid var(--border);margin:14px 0}.fp-equip-row{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;padding:6px 0;border-bottom:1px solid var(--border)}.fp-equip-row:last-child{border-bottom:none}.fp-equip-name{font-weight:600;color:var(--navy);width:180px;flex-shrink:0}.fp-equip-data{color:var(--text2);font-family:var(--mono)}.toggle-ui{width:44px;height:24px;background:var(--border);border-radius:12px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle-ui.on{background:var(--success)}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle-ui.on .toggle-thumb{left:23px}.toggle-label{font-size:12px;color:var(--text2)}.fp-page-header{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--navy);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--navy)}#m3PdfPage{background:#fff;border-radius:6px;box-shadow:0 20px 60px rgba(13,27,62,.45);overflow:hidden;font-family:var(--font)}.rpt-top-stripe{height:4px;background:linear-gradient(90deg,var(--navy),var(--navy2),var(--accent))}.rpt-header{background:linear-gradient(135deg,var(--navy) 0,var(--navy2) 100%);padding:22px 32px;justify-content:space-between;gap:20px;border-bottom:3px solid var(--gold)}.rpt-header,.rpt-header-left{display:flex;align-items:center}.rpt-header-left{gap:16px}.rpt-logo{height:50px;width:auto;display:block;background:#fff;border-radius:5px;padding:4px 8px}.rpt-company{font-size:17px;font-weight:800;color:#fff;letter-spacing:.3px;line-height:1.1;margin-bottom:3px}.rpt-report-type{font-size:9.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold)}.rpt-header-meta{display:grid;grid-template-columns:auto auto;grid-gap:5px 24px;gap:5px 24px;flex-shrink:0}.rpt-meta-row{display:flex;flex-direction:column}.rpt-meta-row span{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.45)}.rpt-meta-row strong{font-size:12px;font-weight:700;color:#fff;margin-top:1px}.rpt-subbar{background:rgba(13,27,62,.88);padding:7px 32px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.rpt-subbar-item{font-size:10px;color:rgba(255,255,255,.55);font-weight:500;letter-spacing:.2px}.rpt-subbar-item strong{color:rgba(255,255,255,.85);font-weight:700}.rpt-body{padding:28px 32px;background:#fff}.rpt-page2-band{background:var(--navy);border-left:4px solid var(--gold);padding:14px 32px;display:flex;align-items:center;gap:14px;margin:0}.rpt-page2-band-icon{font-size:18px}.rpt-page2-band-title{font-size:14px;font-weight:800;color:#fff;letter-spacing:.5px;text-transform:uppercase;line-height:1.1}.rpt-page2-band-sub{font-size:10px;color:rgba(255,255,255,.5);font-weight:500;margin-top:2px}.rpt-footer{background:#F3F5F8;border-top:1px solid #d8dfe8;padding:12px 32px;justify-content:space-between;flex-wrap:wrap;gap:8px}.rpt-footer,.rpt-footer-left{display:flex;align-items:center}.rpt-footer-left{gap:10px}.rpt-footer-logo{height:22px;width:auto;display:block;opacity:.55}.rpt-footer-company{font-size:9.5px;color:#8A9CB0;font-weight:500}.rpt-footer-right{display:flex;align-items:center;gap:14px}.rpt-footer-item{font-size:9.5px;color:#8A9CB0}.rpt-footer-divider{width:1px;height:14px;background:#C8D3DC}.rpt-bottom-stripe{height:3px;background:linear-gradient(90deg,var(--navy),var(--navy2),var(--accent))}.fp-section-head{font-size:10px;font-weight:800;color:var(--navy);letter-spacing:1.2px;text-transform:uppercase;background:linear-gradient(90deg,rgba(201,168,76,.1),rgba(201,168,76,.01));border:none;border-left:3px solid var(--gold);border-radius:0 5px 5px 0;padding:8px 12px 8px 11px;margin-bottom:12px;margin-top:18px;display:block;width:100%;box-sizing:border-box}.rpt-attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px}.rpt-attach-cell{border:1px solid var(--border);border-radius:8px;padding:7px;text-align:center;background:var(--surface2);display:flex;flex-direction:column;gap:4px;align-items:center}.rpt-attach-thumb{object-fit:cover}.rpt-attach-fileico,.rpt-attach-thumb{width:100%;height:84px;border-radius:5px;background:#fff;border:1px solid var(--border)}.rpt-attach-fileico{display:flex;align-items:center;justify-content:center;font-size:30px}.rpt-attach-name{font-size:10px;font-weight:600;color:var(--navy);word-break:break-word;line-height:1.2;max-height:24px;overflow:hidden}.rpt-attach-meta{font-size:9px;color:var(--text3)}.rpt-attach-dl{font-size:9.5px;font-weight:700;color:var(--accent);text-decoration:none;border:1px solid var(--accent);border-radius:4px;padding:2px 6px;margin-top:auto}.rpt-attach-dl:hover{background:var(--accent);color:#fff}.fp-print-btn{background:var(--navy);border:1.5px solid var(--gold);color:var(--gold);border-radius:6px;padding:6px 14px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:var(--font);margin-right:8px;transition:all .15s}.fp-print-btn:hover{background:var(--gold);color:var(--navy)}.fp-row-item{font-size:11px;color:var(--text2);padding:3px 0;border-bottom:1px solid var(--border)}.fp-row-item:last-child{border-bottom:none}@media (max-width:900px){.emp-drawer{width:100%;max-width:100%;right:-100%;border-radius:0}.emp-drawer.open{right:0}}.fi,.ti{background:#eef5fc}.fi.locked,.fi[readonly],.ti[readonly]{background:var(--surface2)}.fi:not(:placeholder-shown),.ti:not(:placeholder-shown){color:#1a1a2e;font-weight:500}.row-note{width:100%;padding:5px 7px;font-family:var(--font);font-size:11px;color:var(--text);background:#fff;border:1.5px solid var(--border);border-radius:4px;outline:none;min-height:27px}.emp-ac-menu{position:absolute;top:100%;left:0;right:0;z-index:6500;background:var(--surface);border:1.5px solid var(--accent);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;box-shadow:0 6px 16px rgba(0,0,0,.12)}.emp-ac-item{padding:7px 10px;font-size:12px;cursor:pointer;color:var(--text);border-bottom:1px solid var(--border)}.emp-ac-item:last-child{border-bottom:none}.emp-ac-item.active,.emp-ac-item:hover{background:var(--accent);color:#fff}.emp-guard-overlay{display:none;position:fixed;inset:0;z-index:7000;background:rgba(0,0,0,.45);align-items:center;justify-content:center}.emp-guard-overlay.open{display:flex}.emp-guard-box{background:var(--surface);border-radius:10px;padding:20px;max-width:340px;width:90%;box-shadow:0 12px 40px rgba(0,0,0,.25)}.emp-guard-box h4{margin:0 0 6px;font-size:15px;color:var(--navy)}.emp-guard-box p{margin:0 0 16px;font-size:12.5px;color:var(--slate);line-height:1.5}.emp-guard-btns{display:flex;flex-direction:column;gap:8px}.sidebar{transition:width .2s ease}.sidebar.collapsed{width:0;border-right:0}.sb-crumb{display:flex;gap:6px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}.sb-crumb,.sb-crumb-back{align-items:center;font-size:11.5px}.sb-crumb-back{display:inline-flex;gap:3px;color:var(--accent);cursor:pointer;font-weight:600;background:none;border:none;font-family:var(--font);padding:0}.sb-crumb-back:hover{text-decoration:underline}.sb-crumb-cur{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srch-group{padding:4px 0}.srch-group-h{font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text3);padding:6px 12px 3px}.srch-item{padding:7px 12px;cursor:pointer;border-bottom:1px solid var(--border)}.srch-item:hover{background:var(--surface2)}.srch-item-t{font-size:12px;font-weight:600;color:var(--text)}.srch-item-s{margin-top:1px}.autosave-ind,.srch-item-s{font-size:10.5px;color:var(--text3)}.autosave-ind{white-space:nowrap}.autosave-ind.saved{color:var(--success)}.usr-tbl{width:100%;border-collapse:collapse;font-size:12px}.usr-tbl th{text-align:left;padding:8px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);border-bottom:1.5px solid var(--border)}.usr-tbl td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.perm-editor{padding:8px 10px;background:var(--surface2);border-radius:5px}.audit-changes,.perm-editor{border:1px solid var(--border)}.audit-changes{margin-bottom:8px;border-radius:5px;overflow:hidden}.audit-changes table{width:100%;border-collapse:collapse;font-size:11px}.audit-changes th{text-align:left;padding:4px 8px;background:var(--surface2);font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text3)}.audit-changes td{padding:4px 8px;border-top:1px solid var(--border);vertical-align:top}.audit-chg-from{color:var(--danger)}.audit-chg-to{color:var(--success);font-weight:600}.audit-chg-op{font-size:9px;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:8px}.audit-chg-op.added{background:rgba(47,107,62,.12);color:var(--success)}.audit-chg-op.removed{background:rgba(192,57,43,.1);color:var(--danger)}.audit-chg-op.changed{background:rgba(201,168,76,.15);color:#8a6d1f}.sb-myproj{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 5px;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--slate)}.form-actions{background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 8px rgba(0,0,0,.04)}@media (pointer:coarse){.btn{min-height:44px}.fi,.ti-input,input.ti,select{min-height:42px;font-size:13px}.chip-item,.dyn-add,.dyn-remove,.sig-clear-btn,.task-chip{min-height:38px}.emp-row-header{min-height:50px}.sig-canvas{height:160px!important}.wx-pill{min-height:40px}}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:499;background:rgba(13,27,62,.45);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.sidebar-backdrop.show{display:block}@media (max-width:1024px){#view-overview .form-topbar{flex-direction:column;align-items:flex-start;padding:10px 12px;gap:8px}#view-overview .form-topbar>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:100%}#view-overview .tgl-grp{flex-shrink:0}#ov-from,#ov-to{width:120px!important;flex-shrink:0;min-height:32px}#ov-proj{min-width:0!important;flex:1 1;min-height:32px}}@media (max-width:640px){.rail-tip{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(calc(-1 * var(--sidebar-w)));transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:500;box-shadow:4px 0 20px rgba(0,0,0,.25)}.sidebar.mobile-open{transform:translateX(var(--rail-w))}.main{margin-left:0}.form-body{padding:10px 8px}.fp-grid{grid-template-columns:1fr!important}input[type=date],input[type=number],input[type=text],select,textarea{min-height:40px;font-size:14px!important}.confirm-overlay,.project-modal-overlay,.success-overlay{padding:0;align-items:flex-end}.confirm-box,.project-modal-box,.success-box{width:100%!important;max-width:100%!important;border-radius:16px 16px 0 0!important;max-height:90vh;overflow-y:auto}.form-preview-overlay{padding:0;align-items:flex-end}.form-preview-box{width:100%!important;max-width:100%!important;border-radius:16px 16px 0 0!important;max-height:95vh}.rpt-header{padding:14px 16px;flex-wrap:wrap;gap:10px}.rpt-body{padding:16px 14px}}#view-help{padding:0;background:var(--bg)}.help-topbar{gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.help-title-wrap,.help-topbar{display:flex;align-items:center}.help-title-wrap{gap:9px}.help-title-ico{width:24px;height:24px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}.help-title{font-size:16px;font-weight:700;color:var(--navy)}.help-badge{font-size:10.5px;color:var(--text3);background:var(--surface2);border:1px solid var(--border);padding:2px 8px;border-radius:5px;font-weight:500}.help-back{margin-left:auto;font-size:12.5px;color:var(--accent);background:none;border:1px solid var(--border);padding:5px 12px;border-radius:6px;cursor:pointer;font-weight:600;font-family:var(--font);transition:all .15s}.help-back:hover{background:var(--accent-lt)}.help-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:8px 20px;font-size:12px;background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.help-crumb-seg{color:var(--accent);cursor:pointer;font-weight:600}.help-crumb-seg:hover{text-decoration:underline}.help-crumb-cur{color:var(--navy);font-weight:600}.help-crumb-sep{color:var(--text3)}.help-searchbar{position:relative;margin:14px 20px 6px;flex-shrink:0}.help-search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);display:flex}.help-search-input{width:100%;box-sizing:border-box;padding:10px 14px 10px 36px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;font-family:var(--font);color:var(--text);background:var(--surface);outline:none;transition:border-color .2s}.help-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,111,232,.1)}.help-scroll{flex:1 1;overflow-y:auto;padding:10px 20px 28px}.help-section-lbl{font-size:11px;color:var(--text3);font-weight:700;letter-spacing:.7px;text-transform:uppercase;margin:12px 0 10px}.help-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.help-cat-card{display:flex;flex-direction:column;gap:3px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,transform .15s}.help-cat-card:hover{border-color:var(--accent);transform:translateY(-1px)}.help-cat-ico{font-size:22px;line-height:1}.help-cat-name{font-size:13px;font-weight:700;color:var(--navy);margin-top:6px}.help-cat-count{font-size:11px;color:var(--text3)}.help-list{display:flex;flex-direction:column}.help-row{display:flex;align-items:center;gap:10px;padding:13px 6px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;border-radius:4px}.help-row:hover{background:var(--surface)}.help-row-ico{font-size:16px;width:22px;text-align:center;flex-shrink:0}.help-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.help-row-title{font-size:13px;font-weight:600;color:var(--navy)}.help-row-cat{font-size:11px;color:var(--text3)}.help-row-arrow{color:var(--text3);font-size:18px;flex-shrink:0}.help-results-meta{font-size:12px;color:var(--text3);margin:8px 0 10px}.help-empty{font-size:13px;color:var(--text2);padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:16px}.help-article{max-width:700px}.help-art-cat{font-size:12px;color:var(--accent);font-weight:600;margin-bottom:5px}.help-art-title{font-size:22px;font-weight:800;color:var(--navy);line-height:1.2;margin-bottom:6px}.help-art-upd{font-size:11px;color:var(--text3);margin-bottom:20px}.help-p{font-size:13.5px;line-height:1.75;color:var(--text2);margin:0 0 12px}.help-h{font-size:14.5px;font-weight:700;color:var(--navy);margin:20px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--border)}.help-ol,.help-ul{font-size:13.5px;line-height:1.75;color:var(--text2);margin:0 0 12px;padding-left:22px}.help-ol li,.help-ul li{margin-bottom:4px}.help-note{border-left:3px solid var(--gold);background:var(--gold-pale);border-radius:0 7px 7px 0;padding:10px 14px;font-size:13px;line-height:1.6;color:var(--text2);margin:0 0 12px}.help-tip{border-left-color:var(--accent);background:var(--accent-lt)}.help-warn{border-left-color:var(--danger);background:var(--danger-lt)}.help-related{margin-top:26px;border-top:1px solid var(--border);padding-top:16px}.help-related-hd{font-size:11.5px;color:var(--text3);font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px}.help-related-link{display:flex;align-items:center;gap:9px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;margin-bottom:7px;font-size:13px;color:var(--navy);font-weight:500;transition:border-color .15s}.help-related-link:hover{border-color:var(--accent)}.help-rel-ico{font-size:15px}.help-rel-arrow{margin-left:auto;color:var(--accent);font-weight:700}.help-viz-wrap{margin:6px 0 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.help-viz-cap{font-size:12px;color:var(--text3)}.help-viz-rail{display:inline-flex;flex-direction:column;gap:6px;background:var(--navy);padding:8px 7px;border-radius:10px}.help-viz-rail-btn{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--slate-lt)}.help-viz-rail-btn svg{width:16px;height:16px}.help-viz-rail-btn.on{background:rgba(201,168,76,.18);color:var(--gold)}.help-viz-rail-div{height:1px;background:rgba(255,255,255,.1);margin:2px 3px}.help-viz-btn{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;padding:6px 12px 6px 8px;border-radius:7px}.help-viz-btn-ico{display:flex;color:var(--gold)}.help-viz-btn-ico svg{width:16px;height:16px}.help-viz-btn-lbl{font-size:12.5px;font-weight:600}.help-viz-qpill{width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;border:2px solid var(--gold)}.help-viz-anno{display:flex;flex-direction:column;gap:5px;margin:4px 0 14px}.help-viz-anno-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text2);line-height:1.5}.help-viz-anno-num{width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font-size:10px;font-weight:700;flex-shrink:0;margin-top:2px}.app-fatal,.app-loading,.help-viz-anno-num{display:flex;align-items:center;justify-content:center}.app-fatal,.app-loading{flex-direction:column;gap:14px;min-height:60vh;color:var(--text2,#475569);font-size:14px}.form-empty{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:24px;text-align:center}.form-empty,.muted{color:var(--text3,#6b7280)}.muted{font-size:13px}.sidebar-group{margin-bottom:10px}.sidebar-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text3,#6b7280);padding:8px 14px 4px}.sidebar-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;border:0;border-left:3px solid transparent;padding:8px 14px;cursor:pointer;color:var(--text1,#0f172a)}.sidebar-item:hover{background:var(--hover,rgba(13,27,62,.05))}.sidebar-item.active{background:var(--hover,rgba(13,27,62,.06));border-left-color:var(--gold,#C9A84C)}.sidebar-item-title{font-size:13px;font-weight:600}.sidebar-item-meta{font-size:11px;color:var(--text3,#6b7280)}.sidebar-empty{padding:24px 14px;color:var(--text3,#6b7280);font-size:13px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.kpi-card{flex:1 1 120px;background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:16px 18px}.kpi-value{font-size:28px;font-weight:800;color:var(--navy,#0D1B3E);line-height:1}.kpi-label{margin-top:6px;font-size:12px;color:var(--text3,#6b7280);text-transform:uppercase;letter-spacing:.04em}.ov-empty{background:var(--surface,#fff);border:1px solid var(--border,#dde3ec);border-radius:12px;padding:44px 24px;margin-top:16px;flex-direction:column;text-align:center;gap:6px}.ov-empty,.ov-empty-icon{display:flex;align-items:center}.ov-empty-icon{width:56px;height:56px;border-radius:50%;background:var(--accent-lt,#EBF2FD);justify-content:center;color:var(--accent,#1D6FE8);margin-bottom:6px}.ov-empty-title{font-size:15px;font-weight:600;color:var(--text,#0F172A);margin:0}.ov-empty-sub{font-size:12.5px;line-height:1.6;color:var(--text2,#475569);max-width:360px;margin:0}.ov-empty-cta{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;justify-content:center}.field-card{background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:18px}.fld{display:block;margin-bottom:12px}.fld-label{display:block;font-size:12px;font-weight:600;color:var(--text2,#475569);margin-bottom:4px}.fld-input{width:100%;box-sizing:border-box;border:1px solid var(--line,#cbd5e1);border-radius:8px;padding:8px 10px;font-size:14px}.fld-input:focus{outline:2px solid var(--accent,#1D6FE8);outline-offset:1px}.fld-error{color:#b42318;font-size:12px;margin:6px 0 0}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line,#eef2f7);font-size:14px}.summary-row:last-child{border-bottom:0}.summary-key{color:var(--text3,#6b7280)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line,#eef2f7)}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text3,#6b7280)}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.help-card{background:var(--card,#fff);border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:18px}.help-card h3{margin:0 0 8px;font-size:15px;color:var(--navy,#0D1B3E)}.help-card p{margin:0;font-size:13px;color:var(--text2,#475569);line-height:1.5}.settings-panel{margin-top:14px}.legend-note{font-size:9.5px;color:var(--text3,#6b7280);margin-top:8px;padding:6px 9px;background:var(--surface2,#f1f5f9);border-radius:4px;line-height:1.8}.attach-note{margin-top:14px}.emp-expand{padding:12px;border-top:1px solid var(--line,#eef2f7)}.page-banner{margin-bottom:12px;background:var(--navy,#0D1B3E);border-radius:var(--radius-sm,8px);display:flex;align-items:stretch;overflow:hidden}.page-banner-bar{width:6px;background:var(--gold,#C9A84C);flex-shrink:0}.page-banner-body{padding:13px 18px}.page-banner-title{font-size:22px;font-weight:800;color:#fff;line-height:1.1}.page-banner-sub{font-size:11px;font-weight:600;color:var(--gold,#C9A84C);text-transform:uppercase;letter-spacing:1.2px}.step-conn{flex:1 1;height:2px;background:var(--line,#e5e7eb);margin:0 8px;align-self:center}.create-project-btn.secondary{background:transparent;color:var(--navy,#0D1B3E);border:1px solid var(--line,#cbd5e1)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.stat-card{background:var(--surface,#fff);border-radius:var(--radius,12px);border:1px solid var(--border,#e5e7eb);padding:12px 14px}.stat-lbl{font-size:9.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text3,#6b7280);margin-bottom:5px}.stat-val{font-size:24px;font-weight:600;color:var(--text,#0F172A);font-family:var(--mono,"IBM Plex Mono",monospace);line-height:1}.stat-sub{font-size:10.5px;color:var(--text3,#6b7280);margin-top:3px}.chart-card{background:var(--surface,#fff);border-radius:var(--radius,12px);border:1px solid var(--border,#e5e7eb);padding:14px;margin-bottom:12px}.chart-title{font-size:11.5px;font-weight:600;color:var(--text,#0F172A);margin-bottom:10px}.bar-chart{display:flex;align-items:flex-end;gap:4px;height:92px}.ov-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0;height:100%}.ov-bar-fill{width:70%;max-width:30px;background:var(--navy,#0D1B3E);border-radius:3px 3px 0 0;min-height:2px}.ov-bar-lbl{font-size:9px;color:var(--text3,#94A3B8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chart-legend{display:flex;gap:12px;margin-top:8px}.leg-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text2,#475569)}.leg-dot{width:8px;height:8px;border-radius:2px}.ov-section-title{font-size:12px;font-weight:700;color:var(--text3,#6b7280);letter-spacing:.8px;text-transform:uppercase;margin:18px 0 8px;padding-bottom:4px;border-bottom:2px solid var(--border,#e5e7eb)}.intel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.intel-card{background:var(--surface,#fff);border-radius:var(--radius,12px);border:1px solid var(--border,#e5e7eb);padding:14px}.intel-title{font-size:11.5px;font-weight:700;color:var(--navy,#0D1B3E);margin-bottom:10px;gap:6px}.intel-row,.intel-title{display:flex;align-items:center}.intel-row{gap:8px;padding:5px 0;border-bottom:1px solid var(--border,#e5e7eb);font-size:11px}.intel-row:last-child{border-bottom:none}.intel-code{font-family:var(--mono,"IBM Plex Mono",monospace);font-weight:600;color:var(--navy,#0D1B3E);font-size:10.5px;min-width:48px}.intel-label{color:var(--text2,#475569);flex:1 1;font-size:10.5px}.intel-bar-wrap{flex:1 1;height:6px;background:var(--border,#e5e7eb);border-radius:3px;overflow:hidden;margin:0 6px}.intel-bar-fill{height:100%;border-radius:3px;background:var(--navy,#0D1B3E);transition:width .3s}.intel-val{font-family:var(--mono,"IBM Plex Mono",monospace);font-weight:600;color:var(--text,#0F172A);font-size:11.5px;min-width:44px;text-align:right}#toast{position:fixed;bottom:18px;right:18px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;box-shadow:var(--shadow-md);transform:translateY(60px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:9999;display:flex;align-items:center;gap:7px;max-width:300px;border-left:3px solid var(--gold);pointer-events:none}#toast.show{transform:translateY(0);opacity:1}@media print{@page{margin:0;size:Letter portrait}body,html{height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;background:#fff!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#testViewBanner,#toast,.form-preview-topbar,.main,.no-print,.rail,.rpt-attach-dl,.sidebar,.sidebar-backdrop,.topbar{display:none!important}.form-preview-overlay{position:static!important;inset:auto!important;display:block!important;opacity:1!important;background:#fff!important;padding:0!important;overflow:visible!important}.form-preview-box{width:100%!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;transform:none!important;display:block!important}#fpBody{overflow:visible!important;padding:0!important;background:#fff!important}#m3PdfPage{box-shadow:none!important;border-radius:0!important}.rpt-page2-band{page-break-before:always;break-before:page}.fp-emp-card,.fp-section,.rpt-attach-cell{break-inside:avoid;page-break-inside:avoid}}.ss-wrap{position:relative;margin-bottom:4px}.ss-control{display:flex;align-items:center;gap:8px;min-height:36px;padding:5px 8px 5px 10px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.ss-control:hover{border-color:var(--border2)}.ss-control.open{border-color:var(--accent);background:#fff}.ss-control:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ss-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex:1 1;min-width:0}.ss-placeholder{font-size:11.5px;color:var(--text3)}.ss-token{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 8px;background:var(--navy);border:1.5px solid var(--navy);border-radius:20px;font-family:var(--font);font-size:10.5px;font-weight:600;color:#fff;white-space:nowrap}.ss-token.missing{background:var(--warn);border-color:var(--warn)}.ss-token-text{overflow:hidden;text-overflow:ellipsis;max-width:210px}.ss-token-label{opacity:.6;font-weight:400;margin-left:3px}.ss-token-x{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:15px;height:15px;padding:0;background:rgba(255,255,255,.16);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .15s}.ss-token-x:hover{background:var(--danger)}.ss-more{font-size:10.5px;font-weight:600;color:var(--text3);padding:0 4px}.ss-caret{display:inline-flex;align-items:center;color:var(--text3);flex-shrink:0}.ss-control.open .ss-caret{color:var(--accent);transform:rotate(180deg)}.ss-panel{position:fixed;z-index:9000;display:flex;flex-direction:column;overflow:hidden;padding:8px;background:var(--surface2);border:1.5px solid var(--accent);border-radius:var(--radius-sm);box-shadow:0 12px 32px rgba(13,27,62,.22)}.ss-search{width:100%;padding:6px 10px;margin-bottom:7px;font-family:var(--font);font-size:11.5px;color:var(--text);background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .2s}.ss-search:focus{border-color:var(--accent)}.ss-count{margin-left:auto;font-size:10.5px;font-weight:500;color:var(--text3);white-space:nowrap}.ss-list{flex:1 1;min-height:0;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overscroll-behavior:contain;scrollbar-gutter:stable}.ss-list::-webkit-scrollbar{width:8px}.ss-list::-webkit-scrollbar-track{background:transparent}.ss-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px;border:2px solid var(--surface)}.ss-list::-webkit-scrollbar-thumb:hover{background:var(--slate-lt)}.ss-opt{display:flex;align-items:center;gap:6px;width:100%;padding:6px 9px;font-family:var(--font);font-size:11.5px;font-weight:500;color:var(--text2);background:none;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer}.ss-opt:last-child{border-bottom:none}.ss-opt.active{background:var(--accent-lt);color:var(--accent)}.ss-opt.selected{color:var(--navy);font-weight:600}.ss-opt.selected.active{background:var(--accent-lt)}.ss-opt-master{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface2);color:var(--text2);font-weight:600;border-bottom:1px solid var(--border2)}.ss-opt-master.active,.ss-opt-master:hover{background:var(--accent-lt);color:var(--accent)}.ss-opt-master .ss-opt-code{font-family:var(--font);font-size:10.5px;letter-spacing:.3px}.ss-opt-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;color:var(--success);font-weight:700;font-size:12px}.ss-opt-code{font-family:var(--mono);flex-shrink:0}.ss-opt-label{opacity:.6;font-weight:400;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-opt-create{color:var(--navy);font-weight:600}.ss-opt-create .ss-opt-check{color:var(--gold)}.ss-opt-create .ss-opt-code{font-family:var(--font)}.ss-empty{padding:12px 10px;font-size:11px;color:var(--text3);text-align:center}@media (pointer:coarse){.ss-control{min-height:44px}.ss-opt{min-height:40px}.ss-token{min-height:28px}.ss-token-x{width:20px;height:20px}.ss-search{min-height:40px;font-size:13px}}.proj-icon.has-logo{background:var(--surface);border:1px solid var(--border);overflow:hidden}.proj-icon.has-logo svg{display:none}.proj-icon img{width:100%;height:100%;object-fit:contain;display:block}.pf-logo-row{gap:12px}.pf-logo-preview,.pf-logo-row{display:flex;align-items:center}.pf-logo-preview{width:56px;height:56px;flex-shrink:0;justify-content:center;overflow:hidden;background:var(--surface);border:1.5px dashed var(--border2);border-radius:var(--radius-sm)}.pf-logo-preview img{width:100%;height:100%;object-fit:contain;display:block}.pf-logo-empty{font-size:9.5px;color:var(--text3);text-align:center;line-height:1.2}.pf-logo-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.pf-logo-btn{padding:5px 12px;font-family:var(--font);font-size:11px;font-weight:600;background:var(--navy);color:#fff;border:none;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .15s}.pf-logo-btn:hover{background:var(--accent)}.pf-logo-btn input{display:none}.pf-logo-remove{padding:5px 10px;font-family:var(--font);font-size:11px;font-weight:600;background:none;color:var(--danger);border:1px solid var(--border);border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .15s}.pf-logo-remove:hover{border-color:var(--danger);background:var(--danger-lt)}.pf-logo-hint{font-size:10px;color:var(--text3);flex:1 1;min-width:120px}@media (pointer:coarse){.pf-logo-btn,.pf-logo-remove{min-height:38px}}