/*! S-DEVELOP ERP (c) 2026 S Solutions, Dubai, UAE - www.ssolutions.ae - All rights reserved. Proprietary and confidential software, licensed not sold. Copying, modification, decompiling, de-obfuscation, reverse engineering or distribution without the written permission of S Solutions is prohibited and will be prosecuted under UAE Federal Decree-Law No. 38 of 2021. See LICENSE.txt. */
:root{--bg: #f4f6fa;--surface: #ffffff;--surface-2: #f8fafc;--border: #e6eaf0;--border-strong: #d4dbe5;--text: #0f172a;--text-2: #475569;--text-3: #8a97ab;--brand: #0f766e;--brand-600: #0b625b;--brand-50: #ecfdf8;--brand-100: #c8f5ea;--navy: #0b1f33;--navy-2: #12304d;--green: #16a34a;--amber: #d97706;--red: #dc2626;--blue: #2563eb;--green-50: #effcf3;--amber-50: #fff8eb;--red-50: #fef1f1;--blue-50: #eef4ff;--radius: 12px;--shadow: 0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.05);--shadow-lg: 0 12px 32px rgba(15,23,42,.14);--font: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}*{box-sizing: border-box}html,body{margin: 0}body{font-family: var(--font);font-size: 14px;line-height: 1.45;color: var(--text);background: var(--bg);-webkit-font-smoothing: antialiased}a{color: inherit;text-decoration: none}button{font: inherit}h1,h2,h3,h4{margin: 0}svg.ic{flex: none}#app{display: grid;grid-template-columns: 244px minmax(0,1fr);min-height: 100vh}#sidebar{background: var(--navy);color: #c3cfdd;position: sticky;top: 0;height: 100vh;display: flex;flex-direction: column;padding: 16px 12px;overflow-y: auto}.brand{display: flex;gap: 10px;align-items: center;padding: 4px 10px 20px;color: #fff}.brand-mark{width: 34px;height: 34px;border-radius: 10px;background: linear-gradient(135deg,#2dd4bf,#0f766e);display: grid;place-items: center;font-weight: 800;color: #fff;font-size: 16px}.brand-name{font-weight: 700;font-size: 16px;letter-spacing: -.01em}.brand-sub{font-size: 11px;color: #7f93ab}.nav-section{font-size: 10.5px;text-transform: uppercase;letter-spacing: .09em;color: #5f7590;padding: 16px 12px 6px;font-weight: 600}.nav a{display: flex;gap: 11px;align-items: center;padding: 9px 12px;border-radius: 9px;color: #c3cfdd;font-weight: 500;margin-bottom: 2px;transition: background .12s,color .12s}.nav a:hover{background: rgba(255,255,255,.06);color: #fff}.nav a.active{background: rgba(45,212,191,.14);color: #5eead4}.side-foot{margin-top: auto;padding: 14px 12px 4px;font-size: 11.5px;color: #5f7590;border-top: 1px solid rgba(255,255,255,.06)}.side-foot b{color: #c3cfdd;font-weight: 600;display: block}#main{min-width: 0;display: flex;flex-direction: column}#topbar{height: 60px;background: var(--surface);border-bottom: 1px solid var(--border);display: flex;align-items: center;gap: 12px;padding: 0 24px;position: sticky;top: 0;z-index: 30}#crumb{font-weight: 600;font-size: 15px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.topbar-right{margin-left: auto;display: flex;gap: 10px;align-items: center;min-width: 0}.proj-pick{display: flex;align-items: center;gap: 8px;border: 1px solid var(--border-strong);border-radius: 9px;padding: 0 4px 0 10px;height: 36px;background: var(--surface);min-width: 0}.proj-pick select{border: 0;outline: 0;font: inherit;font-weight: 500;background: transparent;color: var(--text);max-width: 280px;cursor: pointer;height: 34px}.avatar{width: 34px;height: 34px;border-radius: 50%;background: var(--brand-50);color: var(--brand);display: grid;place-items: center;font-weight: 700;font-size: 13px;flex: none}.menu-btn{display: none}#view{padding: 24px;width: 100%;max-width: 1500px;margin: 0 auto}.page-head{display: flex;align-items: flex-end;justify-content: space-between;gap: 16px;margin-bottom: 20px;flex-wrap: wrap}.page-head h1{font-size: 22px;letter-spacing: -.015em;margin-bottom: 4px;display: flex;gap: 10px;align-items: center;flex-wrap: wrap}.page-head p{margin: 0;color: var(--text-2)}.actions{display: flex;gap: 8px;flex-wrap: wrap;align-items: center}.back{display: inline-flex;gap: 6px;align-items: center;color: var(--text-2);font-size: 13px;margin-bottom: 8px}.back:hover{color: var(--brand)}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 7px;height: 36px;padding: 0 14px;border-radius: 9px;border: 1px solid var(--border-strong);background: var(--surface);color: var(--text);font-weight: 500;cursor: pointer;white-space: nowrap;transition: background .12s,border-color .12s}.btn:hover{background: var(--surface-2);border-color: #c3ccd8}.btn.primary{background: var(--brand);border-color: var(--brand);color: #fff}.btn.primary:hover{background: var(--brand-600)}.btn.danger{color: var(--red)}.btn.danger-fill{background: var(--red);border-color: var(--red);color: #fff}.btn.ok-fill{background: var(--green);border-color: var(--green);color: #fff}.btn.sm{height: 30px;padding: 0 10px;font-size: 13px;border-radius: 8px}.btn.ghost{border-color: transparent;background: transparent}.btn.ghost:hover{background: var(--surface-2)}.btn:disabled{opacity: .5;cursor: not-allowed}.icon-btn{border: 0;background: transparent;cursor: pointer;color: var(--text-2);padding: 6px;border-radius: 8px;display: inline-grid;place-items: center}.icon-btn:hover{background: var(--surface-2);color: var(--text)}.field{display: flex;flex-direction: column;gap: 5px;min-width: 0}.field>label{font-size: 12.5px;color: var(--text-2);font-weight: 500}.field .hint{font-size: 11.5px;color: var(--text-3)}.input,select.input,textarea.input{height: 36px;border: 1px solid var(--border-strong);border-radius: 8px;padding: 0 10px;font: inherit;background: #fff;color: var(--text);width: 100%;min-width: 0}textarea.input{height: auto;padding: 8px 10px;resize: vertical}.input:focus{outline: 3px solid var(--brand-100);border-color: var(--brand)}.input.sm{height: 30px;font-size: 13px;padding: 0 8px}.input.num{text-align: right;font-variant-numeric: tabular-nums}.input:disabled{background: var(--surface-2);color: var(--text-2)}.form-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 14px}.form-grid .full{grid-column: 1 / -1}.form-grid.g3{grid-template-columns: repeat(3,minmax(0,1fr))}.check{display: inline-flex;gap: 8px;align-items: center;cursor: pointer;font-size: 13px;color: var(--text-2)}.radio-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(200px,1fr));gap: 10px}.radio-card{border: 1px solid var(--border-strong);border-radius: 10px;padding: 12px 14px;cursor: pointer;display: flex;gap: 10px;align-items: flex-start}.radio-card:has(input:checked){border-color: var(--brand);background: var(--brand-50)}.radio-card b{display: block;font-weight: 600}.radio-card span{font-size: 12.5px;color: var(--text-2)}.kpis{display: grid;grid-template-columns: repeat(auto-fit,minmax(190px,1fr));gap: 14px;margin-bottom: 18px}.kpi{background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);padding: 14px 16px;box-shadow: var(--shadow);display: block;transition: transform .12s,box-shadow .12s,border-color .12s;position: relative;min-width: 0}a.kpi[href]{cursor: pointer}a.kpi[href]:hover{border-color: var(--brand);transform: translateY(-1px);box-shadow: var(--shadow-lg)}a.kpi[href]::after{content: '›';position: absolute;right: 14px;top: 10px;color: var(--text-3);font-size: 18px;opacity: 0;transition: opacity .12s}a.kpi[href]:hover::after{opacity: 1}.kpi-label{font-size: 12.5px;color: var(--text-2);display: flex;gap: 6px;align-items: center;font-weight: 500}.kpi-value{font-size: 22px;font-weight: 700;margin-top: 6px;letter-spacing: -.02em;font-variant-numeric: tabular-nums;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.kpi-sub{font-size: 12.5px;color: var(--text-3);margin-top: 3px;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow-wrap: anywhere}.kpi.good .kpi-value{color: var(--green)}.kpi.warn .kpi-value{color: var(--amber)}.kpi.bad .kpi-value{color: var(--red)}.up{color: var(--green);font-weight: 600}.down{color: var(--red);font-weight: 600}.mini-bar{height: 5px;background: #edf1f6;border-radius: 99px;margin-top: 9px;overflow: hidden;position: relative}.mini-bar>span{position: absolute;left: 0;top: 0;bottom: 0;border-radius: 99px;background: var(--brand)}.mini-bar>i{position: absolute;top: -2px;bottom: -2px;width: 2px;background: var(--navy)}.grid{display: grid;gap: 16px;margin-bottom: 16px}.g-2{grid-template-columns: repeat(2,minmax(0,1fr))}.g-3{grid-template-columns: repeat(3,minmax(0,1fr))}.g-4{grid-template-columns: repeat(4,minmax(0,1fr))}.span-2{grid-column: span 2}.span-all{grid-column: 1 / -1}.card{background: var(--surface);border: 1px solid var(--border);border-radius: var(--radius);box-shadow: var(--shadow);min-width: 0}.card-head{display: flex;align-items: center;justify-content: space-between;padding: 14px 16px 0;gap: 8px;flex-wrap: wrap}.card-head h3{font-size: 14.5px;font-weight: 600}.card-head .hint{font-size: 12px;color: var(--text-3)}.card-body{padding: 12px 16px 16px}.card-body.flush{padding: 0}.chart{height: 300px;width: 100%}.chart.sm{height: 250px}.chart.lg{height: 360px}.chart.xs{height: 180px}.dt-toolbar{display: flex;gap: 10px;align-items: center;margin-bottom: 10px;flex-wrap: wrap}.dt-tools{display: flex;gap: 8px;margin-left: auto;flex-wrap: wrap;align-items: center}.search{display: flex;align-items: center;gap: 6px;border: 1px solid var(--border-strong);border-radius: 9px;padding: 0 10px;height: 36px;background: var(--surface);min-width: 240px;color: var(--text-3)}.search input{border: 0;outline: 0;font: inherit;flex: 1;background: transparent;color: var(--text);min-width: 0}.dt-scroll{overflow: auto;max-height: 640px;border: 1px solid var(--border);border-radius: 10px;background: var(--surface)}table.tbl{width: 100%;border-collapse: separate;border-spacing: 0;font-size: 13px}.tbl th{position: sticky;top: 0;background: var(--surface-2);text-align: left;font-weight: 600;color: var(--text-2);font-size: 12px;padding: 9px 10px;border-bottom: 1px solid var(--border);white-space: nowrap;z-index: 1;user-select: none}.tbl th.sortable{cursor: pointer}.tbl th.sortable:hover{color: var(--text)}.tbl th .sort{display: inline-block;width: 10px;margin-left: 3px;color: var(--brand)}.tbl td{padding: 8px 10px;border-bottom: 1px solid #eff2f6;vertical-align: top}.tbl.mid td{vertical-align: middle}.nowrap{white-space: nowrap}.tbl tr:last-child td{border-bottom: 0}.tbl .r{text-align: right}.tbl .c{text-align: center}.num{font-variant-numeric: tabular-nums;white-space: nowrap}.tbl tr.clickable{cursor: pointer}.tbl tbody tr.clickable:hover td{background: #f3faf8}.tbl tfoot td{font-weight: 700;background: var(--surface-2);border-top: 1px solid var(--border);position: sticky;bottom: 0}.tbl td.empty{text-align: center;color: var(--text-3);padding: 32px}.tbl tr.row-head td{background: #f9fbfc;font-weight: 600;color: var(--text-2)}.tbl tr.row-warn td{background: #fffbf2}.tbl tr.row-bad td{background: #fff5f5}.tbl .desc{max-width: 520px;min-width: 240px}.tbl .desc small{display: block;color: var(--text-3);font-size: 11.5px;margin-top: 2px}.tbl .code{font-family: ui-monospace,'Cascadia Mono',Consolas,monospace;font-size: 12px;color: var(--brand);white-space: nowrap;font-weight: 600}.tbl input.input.sm{width: 110px}.dt-foot{display: flex;justify-content: space-between;align-items: center;padding: 10px 2px 0;color: var(--text-3);font-size: 12.5px;gap: 10px;flex-wrap: wrap}.pager{display: flex;gap: 4px;align-items: center}.badge{display: inline-flex;align-items: center;gap: 4px;padding: 2px 9px;border-radius: 999px;font-size: 11.5px;font-weight: 600;background: #eef2f6;color: #475569;white-space: nowrap;line-height: 1.6}.badge.green{background: var(--green-50);color: #15803d}.badge.amber{background: var(--amber-50);color: #b45309}.badge.red{background: var(--red-50);color: #b91c1c}.badge.blue{background: var(--blue-50);color: #1d4ed8}.badge.violet{background: #f4f1ff;color: #6d28d9}.badge.teal{background: var(--brand-50);color: var(--brand)}.badge.dark{background: var(--navy);color: #fff}.tabs{display: flex;gap: 2px;box-shadow: inset 0 -1px 0 var(--border);margin-bottom: 18px;overflow-x: auto;overflow-y: hidden;scrollbar-width: none}.tabs a{padding: 10px 14px;color: var(--text-2);font-weight: 500;border-bottom: 2px solid transparent;white-space: nowrap;display: inline-flex;gap: 6px;align-items: center}.tabs a:hover{color: var(--text)}.tabs a.active{color: var(--brand);border-color: var(--brand)}.tabs a .badge{font-size: 10.5px;padding: 0 7px}.filters{display: flex;gap: 8px;flex-wrap: wrap;align-items: center;margin-bottom: 12px}.filters select.input{width: auto;min-width: 150px}.chip{display: inline-flex;align-items: center;gap: 6px;height: 28px;padding: 0 6px 0 10px;border-radius: 99px;background: var(--brand-50);color: var(--brand);font-size: 12.5px;font-weight: 600}.chip a{display: inline-grid;place-items: center;width: 18px;height: 18px;border-radius: 50%}.chip a:hover{background: var(--brand-100)}.list{display: flex;flex-direction: column}.list-row{display: flex;align-items: center;gap: 12px;padding: 10px 4px;border-bottom: 1px solid #eff2f6;cursor: pointer;border-radius: 8px}.list-row:last-child{border-bottom: 0}.list-row:hover{background: #f3faf8}.list-row .grow{flex: 1;min-width: 0}.list-row .t{font-weight: 500;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.list-row .s{font-size: 12px;color: var(--text-3);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.kv{display: grid;grid-template-columns: max-content 1fr;gap: 7px 18px;font-size: 13px}.kv dt{color: var(--text-3)}.kv dd{margin: 0;font-weight: 500}.modal-backdrop{position: fixed;inset: 0;background: rgba(11,31,51,.48);display: flex;align-items: flex-start;justify-content: center;padding: 4vh 16px;z-index: 100;overflow: auto;animation: fade .14s ease-out}.modal{background: var(--surface);border-radius: 14px;box-shadow: var(--shadow-lg);width: 100%;max-width: 560px;display: flex;flex-direction: column;max-height: 92vh;animation: rise .16s ease-out}.modal.lg{max-width: 920px}.modal.xl{max-width: 1240px}.modal-head{display: flex;align-items: center;justify-content: space-between;padding: 16px 20px;border-bottom: 1px solid var(--border);gap: 10px}.modal-head h3{font-size: 16px}.modal-body{padding: 20px;overflow: auto}.modal-foot{padding: 14px 20px;border-top: 1px solid var(--border);display: flex;justify-content: flex-end;gap: 8px;flex-wrap: wrap}.modal-foot .left{margin-right: auto;display: flex;gap: 8px;align-items: center;color: var(--text-3);font-size: 12.5px}@keyframes fade{from{opacity: 0}}@keyframes rise{from{opacity: 0;transform: translateY(8px)}}#hovercard{position: fixed;left: 0;top: 0;z-index: 400;pointer-events: none;background: var(--navy);color: #cbd5e1;border-radius: 10px;padding: 10px 12px;font-size: 12.5px;max-width: 340px;min-width: 200px;box-shadow: var(--shadow-lg);opacity: 0;transition: opacity .1s}#hovercard.show{opacity: 1;pointer-events: auto}#hovercard.clickable{cursor: pointer}#hovercard.clickable .hc-foot{text-decoration: underline;text-underline-offset: 3px}#hovercard.clickable:hover .hc-foot{color: #fff}.hc-title{font-weight: 600;color: #fff;margin-bottom: 6px;font-size: 13px}.hc-row{display: flex;justify-content: space-between;gap: 18px;padding: 1.5px 0}.hc-row span:last-child{color: #fff;font-weight: 600;font-variant-numeric: tabular-nums;text-align: right}.hc-note{margin-top: 6px;color: #94a3b8;font-size: 11.5px}.hc-foot{margin-top: 7px;padding-top: 6px;border-top: 1px solid rgba(255,255,255,.1);color: #5eead4;font-size: 11.5px}#toasts{position: fixed;right: 16px;bottom: 16px;display: flex;flex-direction: column;gap: 8px;z-index: 500}.toast{background: var(--navy);color: #fff;padding: 11px 14px;border-radius: 10px;box-shadow: var(--shadow-lg);font-size: 13px;max-width: 380px;animation: rise .18s ease-out}.toast.error{background: #991b1b}.toast.ok{background: #065f46}.drop{border: 2px dashed var(--border-strong);border-radius: 14px;padding: 34px 20px;text-align: center;color: var(--text-2);cursor: pointer;transition: .12s;background: var(--surface-2);display: block}.drop.over,.drop:hover{border-color: var(--brand);background: var(--brand-50)}.drop .big{font-size: 15px;font-weight: 600;color: var(--text);margin: 10px 0 4px}.drop .ico{width: 46px;height: 46px;border-radius: 12px;display: inline-grid;place-items: center;background: var(--brand-50);color: var(--brand)}.formats{display: flex;gap: 6px;justify-content: center;flex-wrap: wrap;margin-top: 14px}.progress{height: 8px;border-radius: 99px;background: #eaeef4;overflow: hidden}.progress>span{display: block;height: 100%;background: var(--brand);border-radius: 99px;transition: width .2s}.proc{padding: 28px 8px;text-align: center}.proc .msg{margin: 10px 0 12px;color: var(--text-2)}.mapper{display: grid;grid-template-columns: 260px minmax(0,1fr);gap: 18px}.sheet-list{display: flex;flex-direction: column;gap: 6px;max-height: 520px;overflow: auto}.sheet-item{border: 1px solid var(--border);border-radius: 10px;padding: 9px 10px;cursor: pointer;display: flex;gap: 8px;align-items: flex-start}.sheet-item.active{border-color: var(--brand);background: var(--brand-50)}.sheet-item .t{font-weight: 600;font-size: 13px;word-break: break-word}.sheet-item .s{font-size: 11.5px;color: var(--text-3)}.map-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px;margin-bottom: 14px}.summary-bar{display: flex;gap: 18px;flex-wrap: wrap;padding: 10px 14px;background: var(--surface-2);border: 1px solid var(--border);border-radius: 10px;margin-bottom: 12px;font-size: 13px}.summary-bar b{font-variant-numeric: tabular-nums}.note{padding: 10px 14px;border-radius: 10px;background: var(--blue-50);color: #1e40af;font-size: 13px;margin-bottom: 12px;display: flex;gap: 8px;align-items: flex-start}.note.warn{background: var(--amber-50);color: #92400e}.note.bad{background: var(--red-50);color: #991b1b}.note.ok{background: var(--green-50);color: #166534}.empty-state{text-align: center;padding: 56px 20px;color: var(--text-2)}.empty-state h2{color: var(--text);font-size: 19px;margin: 14px 0 6px}.empty-state p{max-width: 520px;margin: 0 auto 18px}.empty-state .ico{width: 56px;height: 56px;border-radius: 16px;background: var(--brand-50);color: var(--brand);display: inline-grid;place-items: center}.empty-mini{padding: 30px 10px;text-align: center;color: var(--text-3);font-size: 13px}.proj-card{padding: 18px;cursor: pointer;transition: .12s;display: flex;flex-direction: column;gap: 12px}.proj-card:hover{border-color: var(--brand);box-shadow: var(--shadow-lg)}.proj-card .top{display: flex;justify-content: space-between;gap: 10px;align-items: flex-start}.proj-card h3{font-size: 15.5px}.proj-card .meta{color: var(--text-3);font-size: 12.5px}.proj-stats{display: grid;grid-template-columns: repeat(3,1fr);gap: 10px}.proj-stats div small{display: block;color: var(--text-3);font-size: 11.5px}.proj-stats div b{font-variant-numeric: tabular-nums}.pbar-row{display: grid;grid-template-columns: 64px 1fr 48px;gap: 8px;align-items: center;font-size: 12px;color: var(--text-2)}.pbar{height: 7px;background: #edf1f6;border-radius: 99px;overflow: hidden}.pbar span{display: block;height: 100%;border-radius: 99px;background: var(--brand)}.pbar span.pl{background: #94a3b8}.ipc td:first-child{width: 36px;color: var(--text-3);font-weight: 600}.ipc tr.total td{font-weight: 700;background: var(--surface-2)}.ipc tr.grand td{font-weight: 700;background: var(--brand-50);color: var(--brand-600);font-size: 14px}.gantt{border: 1px solid var(--border);border-radius: 10px;overflow: auto;max-height: 680px;background: var(--surface)}.g-table{display: grid;min-width: 100%}.g-row{display: grid;grid-template-columns: 330px 1fr;border-bottom: 1px solid #f0f3f7;min-height: 34px}.g-row.head{position: sticky;top: 0;background: var(--surface-2);z-index: 3;border-bottom: 1px solid var(--border);font-size: 11.5px;color: var(--text-2);font-weight: 600}.g-row.grp{background: #f7f9fb;font-weight: 600;font-size: 12.5px}.g-name{padding: 7px 10px;font-size: 12.5px;position: sticky;left: 0;background: inherit;z-index: 2;border-right: 1px solid var(--border);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;background-color: var(--surface)}.g-row.grp .g-name,.g-row.head .g-name{background-color: #f7f9fb}.g-name .code{color: var(--brand);font-weight: 600;font-family: ui-monospace,Consolas,monospace;font-size: 11.5px;margin-right: 6px}.g-track{position: relative;min-width: 900px}.g-months{display: flex;height: 100%}.g-months span{flex: none;border-left: 1px solid var(--border);padding: 8px 4px;font-size: 10.5px;white-space: nowrap;overflow: hidden}.g-bar{position: absolute;height: 9px;border-radius: 3px}.g-bar.bl{top: 7px;background: #cbd5e1}.g-bar.cur{top: 18px;background: #5eead4;overflow: hidden}.g-bar.cur.late{background: #fca5a5}.g-bar.cur>i{position: absolute;left: 0;top: 0;bottom: 0;background: var(--brand)}.g-bar.cur.late>i{background: var(--red)}.g-dd{position: absolute;top: 0;bottom: 0;width: 2px;background: var(--amber);z-index: 1}.g-ms{position: absolute;top: 10px;width: 12px;height: 12px;transform: rotate(45deg);background: var(--navy)}.legend{display: flex;gap: 16px;flex-wrap: wrap;font-size: 12px;color: var(--text-2);align-items: center}.legend i{display: inline-block;width: 18px;height: 8px;border-radius: 2px;margin-right: 6px;vertical-align: middle}.muted{color: var(--text-3)}.small{font-size: 12px}.mt{margin-top: 16px}.mb{margin-bottom: 16px}.row{display: flex;gap: 10px;align-items: center;flex-wrap: wrap}.spacer{flex: 1}.text-pre{white-space: pre-wrap;font-size: 12.5px;line-height: 1.55;background: var(--surface-2);border: 1px solid var(--border);border-radius: 10px;padding: 14px;max-height: 460px;overflow: auto;font-family: ui-monospace,Consolas,monospace}.attendees{display: flex;gap: 6px;flex-wrap: wrap}.timeline{display: flex;flex-direction: column;gap: 0}.tl-item{display: grid;grid-template-columns: 18px 1fr;gap: 12px;padding-bottom: 14px;position: relative}.tl-item::before{content: '';position: absolute;left: 8px;top: 18px;bottom: 0;width: 2px;background: var(--border)}.tl-item:last-child::before{display: none}.tl-dot{width: 18px;height: 18px;border-radius: 50%;background: var(--brand-50);border: 2px solid var(--brand);margin-top: 1px}.tl-item .t{font-weight: 600;font-size: 13px}.tl-item .s{font-size: 12px;color: var(--text-3)}.tl-item .n{font-size: 12.5px;color: var(--text-2);margin-top: 2px}.flag{color: var(--amber)}.pos{color: var(--green)}.neg{color: var(--red)}hr.sep{border: 0;border-top: 1px solid var(--border);margin: 16px 0}#bottomnav{display: none}@media (max-width: 1100px){.g-3{grid-template-columns: repeat(2,minmax(0,1fr))}.g-3 .span-2{grid-column: 1 / -1}.g-4{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 900px){#app{grid-template-columns: 1fr}#sidebar{position: fixed;left: 0;top: 0;bottom: 0;width: 264px;transform: translateX(-100%);transition: transform .2s;z-index: 150}body.nav-open #sidebar{transform: none;box-shadow: var(--shadow-lg)}body.nav-open::after{content: '';position: fixed;inset: 0;background: rgba(11,31,51,.4);z-index: 140}.menu-btn{display: inline-grid}#topbar{padding: 0 10px}#view{padding: 16px 16px 90px}.g-2,.g-3,.g-4{grid-template-columns: 1fr}.span-2{grid-column: auto}.form-grid,.form-grid.g3{grid-template-columns: 1fr}.search{min-width: 0;flex: 1}.mapper{grid-template-columns: 1fr}.proj-pick{max-width: 52vw}.role-pick{max-width: 34vw}.proj-pick select{max-width: 100%;width: 100%;min-width: 0}#crumb{font-size: 14px;min-width: 0}.avatar{display: none}.kpis{grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}.kpi{padding: 12px}.kpi-value{font-size: 18px}.page-head h1{font-size: 19px}.g-row{grid-template-columns: 180px 1fr}#bottomnav{display: flex;position: fixed;bottom: 0;left: 0;right: 0;background: var(--surface);border-top: 1px solid var(--border);height: 64px;z-index: 40;padding-bottom: env(safe-area-inset-bottom)}#bottomnav a{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 3px;font-size: 10.5px;color: var(--text-3);flex: 1;font-weight: 500}#bottomnav a.active{color: var(--brand)}.modal-backdrop{padding: 0}.modal{max-height: 100vh;border-radius: 0;min-height: 100vh}}@media print{#sidebar,#topbar,#bottomnav,.no-print,.tabs,.actions{display: none !important}#app{display: block}#view{padding: 0}.card{box-shadow: none;border: 0}body{background: #fff}.print-only{display: block !important}}.print-only{display: none}.pc-n{display: inline-block;min-width: 30px;padding: 2px 9px;border-radius: 99px;background: rgba(15,118,110,.10);color: var(--brand);font-weight: 700;font-variant-numeric: tabular-nums;text-align: center;text-decoration: none;cursor: pointer;transition: background .12s,transform .12s}.pc-n:hover{background: rgba(15,118,110,.22);transform: translateY(-1px)}.pc-n.bad{background: rgba(220,38,38,.10);color: #dc2626}.pc-n.bad:hover{background: rgba(220,38,38,.2)}.pc-n.warn{background: rgba(217,119,6,.12);color: #b45309}.pc-n.good{background: rgba(22,163,74,.12);color: #15803d}.pc-n.zero{background: transparent;color: var(--text-3);cursor: default;font-weight: 500}.pc-matrix td,.pc-matrix th{text-align: center}.pc-matrix td:first-child,.pc-matrix th:first-child{text-align: left}.pc-matrix tr.grp td{background: var(--surface-2);font-weight: 700}.pc-matrix tfoot td{font-weight: 700;border-top: 2px solid var(--border-strong)}.chip.off{background: var(--surface-2);color: var(--text-3);text-decoration: line-through}a.chip{text-decoration: none;padding: 0 10px;cursor: pointer}.list-row[href]{text-decoration: none;color: inherit}.list-row[href]:hover{background: var(--surface-2)}h4.mt{margin: 18px 0 8px;font-size: 14px}@media (max-width: 600px){.lg-only{display: none}}.pbar{display: inline-block;width: 56px;height: 6px;border-radius: 3px;background: var(--surface-2);margin-right: 6px;vertical-align: middle;overflow: hidden}.pbar>span{display: block;height: 100%;background: var(--green);border-radius: 3px}.ccf-m table th small{display: block;font-weight: 500;font-size: 10px;opacity: .75}.ccf-m td.act,.ccf-m th.act{background: rgba(22,163,74,.07)}.ccf-m td.fc,.ccf-m th.fc{background: rgba(217,119,6,.06)}.ccf-m .sticky{position: sticky;left: 0;background: var(--surface);z-index: 1;min-width: 190px}.ccf-m thead .sticky{z-index: 2}:root{--font: 'Plus Jakarta Sans','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}html[data-font="inter"]{--font: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}html[data-font="poppins"]{--font: 'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}html[data-font="manrope"]{--font: 'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}html[data-font="plex"]{--font: 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}:root{--brand-400: #14b8a6;--brand-rgb: 15,118,110;--bg-image: none;--surface-a: var(--surface);--surface-strong: var(--surface);--blur: 0px;--gloss: .55;--card-border: var(--border);--card-shadow: 0 1px 2px rgba(15,23,42,.04),0 10px 28px -18px rgba(15,23,42,.25);--side-bg: linear-gradient(180deg,#0f2a44 0%,#0b1f33 55%,#081726 100%);--side-text: #c3cfdd;--side-muted: #6b819b;--side-hover: rgba(255,255,255,.07);--side-active-bg: linear-gradient(90deg,rgba(45,212,191,.22),rgba(45,212,191,.05));--side-active-text: #ffffff;--side-active-bar: #2dd4bf;--topbar-bg: rgba(255,255,255,.82);--input-bg: #ffffff;--thead-bg: linear-gradient(180deg,#f8fafc,#f1f5f9);--row-border: #eef2f6;--hover-row: rgba(var(--brand-rgb),.06);--track: #e9eef4;--modal-bg: var(--surface);--backdrop: rgba(11,31,51,.45);--chart-text: #64748b;--chart-grid: #eef2f7;--chart-legend: #475569;--tint-green: #effcf3;--tint-amber: #fff8eb;--tint-red: #fef1f1;--tint-blue: #eef4ff;--tint-violet: #f4f1ff;--tint-grey: #eef2f6}html[data-theme="sunrise"]{--brand: #e67a12;--brand-600: #c9650a;--brand-400: #f9a54a;--brand-50: #fff6ec;--brand-100: #fde3c4;--brand-rgb: 230,122,18;--bg: #f3f4f9;--bg-image: radial-gradient(1100px 520px at 92% -12%,rgba(243,135,32,.13),transparent 60%),radial-gradient(900px 520px at -10% 110%,rgba(31,42,92,.09),transparent 60%);--text: #1b2347;--text-2: #4a5275;--text-3: #8a90ab;--side-bg: linear-gradient(180deg,#27357a 0%,#1f2a5c 45%,#141c42 100%);--side-text: #d5daf0;--side-muted: #8d96c4;--side-active-bg: linear-gradient(90deg,rgba(243,135,32,.26),rgba(243,135,32,.04));--side-active-bar: #F38720;--side-active-text: #ffffff;--chart-2: #3b4f9e}html[data-theme="sand"]{--chart-2: #475569}html[data-theme="carbon"]{--chart-2: #94a3b8}html[data-theme="gold"]{--chart-2: #60a5fa}html[data-theme="emerald"]{--brand: #0f766e;--brand-600: #0b625b;--brand-400: #14b8a6;--brand-50: #ecfdf8;--brand-100: #c8f5ea;--brand-rgb: 15,118,110;--bg: #f2f5f9;--bg-image: radial-gradient(1200px 500px at 85% -10%,rgba(20,184,166,.10),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(37,99,235,.06),transparent 60%)}html[data-theme="royal"]{--brand: #2563eb;--brand-600: #1d4ed8;--brand-400: #60a5fa;--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-rgb: 37,99,235;--bg: #f1f4fb;--bg-image: radial-gradient(1100px 520px at 90% -10%,rgba(37,99,235,.12),transparent 60%),radial-gradient(800px 480px at -10% 100%,rgba(14,165,233,.08),transparent 60%);--side-bg: linear-gradient(180deg,#1e3a8a 0%,#172554 60%,#0f1a3d 100%);--side-active-bg: linear-gradient(90deg,rgba(96,165,250,.28),rgba(96,165,250,.06));--side-active-bar: #93c5fd;--side-muted: #8197c9}html[data-theme="aurora"]{--brand: #7c3aed;--brand-600: #6d28d9;--brand-400: #a78bfa;--brand-50: rgba(124,58,237,.10);--brand-100: rgba(124,58,237,.22);--brand-rgb: 124,58,237;--bg: #e9e6ff;--bg-image: radial-gradient(900px 600px at 0% 0%,rgba(167,139,250,.85),transparent 60%),radial-gradient(900px 700px at 100% 10%,rgba(56,189,248,.70),transparent 55%),radial-gradient(900px 700px at 60% 110%,rgba(244,114,182,.65),transparent 60%),linear-gradient(135deg,#ede9fe,#e0f2fe);--surface: rgba(255,255,255,.62);--surface-a: rgba(255,255,255,.55);--surface-2: rgba(255,255,255,.45);--surface-strong: rgba(255,255,255,.88);--blur: 18px;--gloss: .75;--border: rgba(255,255,255,.65);--border-strong: rgba(124,58,237,.22);--card-border: rgba(255,255,255,.75);--card-shadow: 0 8px 32px -12px rgba(76,29,149,.35),inset 0 1px 0 rgba(255,255,255,.8);--side-bg: linear-gradient(180deg,rgba(49,22,104,.72),rgba(30,27,75,.78));--side-text: #e9e3ff;--side-muted: #b8a8f0;--side-active-bg: linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.06));--side-active-bar: #f0abfc;--topbar-bg: rgba(255,255,255,.45);--input-bg: rgba(255,255,255,.75);--thead-bg: rgba(255,255,255,.55);--row-border: rgba(124,58,237,.10);--track: rgba(124,58,237,.14);--modal-bg: rgba(255,255,255,.86);--backdrop: rgba(46,16,101,.35)}html[data-theme="ocean"]{--brand: #0284c7;--brand-600: #0369a1;--brand-400: #38bdf8;--brand-50: rgba(2,132,199,.10);--brand-100: rgba(2,132,199,.22);--brand-rgb: 2,132,199;--bg: #dff3fb;--bg-image: radial-gradient(1000px 600px at 10% -10%,rgba(34,211,238,.55),transparent 60%),radial-gradient(900px 700px at 100% 30%,rgba(59,130,246,.45),transparent 60%),radial-gradient(800px 600px at 40% 120%,rgba(16,185,129,.40),transparent 60%),linear-gradient(160deg,#e0f7fa,#e0ecff);--surface: rgba(255,255,255,.66);--surface-a: rgba(255,255,255,.58);--surface-2: rgba(255,255,255,.45);--surface-strong: rgba(255,255,255,.9);--blur: 16px;--gloss: .7;--border: rgba(255,255,255,.7);--border-strong: rgba(2,132,199,.25);--card-border: rgba(255,255,255,.8);--card-shadow: 0 8px 30px -12px rgba(3,105,161,.35),inset 0 1px 0 rgba(255,255,255,.85);--side-bg: linear-gradient(180deg,rgba(8,47,73,.82),rgba(7,89,133,.78));--side-text: #e0f2fe;--side-muted: #93c5e8;--side-active-bg: linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.05));--side-active-bar: #67e8f9;--topbar-bg: rgba(255,255,255,.5);--input-bg: rgba(255,255,255,.78);--thead-bg: rgba(255,255,255,.55);--row-border: rgba(2,132,199,.10);--track: rgba(2,132,199,.14);--modal-bg: rgba(255,255,255,.88);--backdrop: rgba(8,47,73,.35)}html[data-theme="sunset"]{--brand: #e11d48;--brand-600: #be123c;--brand-400: #fb7185;--brand-50: rgba(225,29,72,.08);--brand-100: rgba(225,29,72,.18);--brand-rgb: 225,29,72;--bg: #ffe9e1;--bg-image: radial-gradient(900px 600px at 0% 0%,rgba(251,146,60,.65),transparent 60%),radial-gradient(900px 700px at 100% 0%,rgba(244,114,182,.55),transparent 55%),radial-gradient(900px 700px at 50% 120%,rgba(167,139,250,.5),transparent 60%),linear-gradient(135deg,#fff1e6,#ffe4ec);--surface: rgba(255,255,255,.64);--surface-a: rgba(255,255,255,.58);--surface-2: rgba(255,255,255,.45);--surface-strong: rgba(255,255,255,.9);--blur: 16px;--gloss: .7;--border: rgba(255,255,255,.7);--border-strong: rgba(225,29,72,.22);--card-border: rgba(255,255,255,.8);--card-shadow: 0 8px 30px -12px rgba(190,18,60,.30),inset 0 1px 0 rgba(255,255,255,.85);--side-bg: linear-gradient(180deg,rgba(76,5,25,.82),rgba(88,28,135,.78));--side-text: #ffe4e6;--side-muted: #f0a5b8;--side-active-bg: linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.05));--side-active-bar: #fda4af;--topbar-bg: rgba(255,255,255,.5);--input-bg: rgba(255,255,255,.78);--thead-bg: rgba(255,255,255,.55);--row-border: rgba(225,29,72,.10);--track: rgba(225,29,72,.12);--modal-bg: rgba(255,255,255,.9);--backdrop: rgba(76,5,25,.35)}html[data-theme="midnight"]{--brand: #22d3ee;--brand-600: #06b6d4;--brand-400: #67e8f9;--brand-50: rgba(34,211,238,.10);--brand-100: rgba(34,211,238,.22);--brand-rgb: 34,211,238;--bg: #070b16;--bg-image: radial-gradient(900px 600px at 0% 0%,rgba(34,211,238,.14),transparent 60%),radial-gradient(900px 700px at 100% 10%,rgba(168,85,247,.16),transparent 55%),radial-gradient(900px 700px at 50% 120%,rgba(59,130,246,.12),transparent 60%);--surface: rgba(17,24,39,.78);--surface-a: rgba(17,24,39,.66);--surface-2: rgba(255,255,255,.04);--surface-strong: #111827;--blur: 14px;--gloss: .08;--border: rgba(148,163,184,.14);--border-strong: rgba(148,163,184,.26);--card-border: rgba(148,163,184,.16);--card-shadow: 0 10px 30px -14px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05);--text: #e5e7eb;--text-2: #a7b0c0;--text-3: #6b7689;--side-bg: linear-gradient(180deg,rgba(8,12,24,.92),rgba(10,14,28,.96));--side-text: #cbd5e1;--side-muted: #64748b;--side-active-bg: linear-gradient(90deg,rgba(34,211,238,.20),rgba(34,211,238,.02));--side-active-bar: #22d3ee;--side-active-text: #a5f3fc;--topbar-bg: rgba(10,14,28,.72);--input-bg: rgba(255,255,255,.04);--thead-bg: rgba(255,255,255,.04);--row-border: rgba(148,163,184,.08);--hover-row: rgba(34,211,238,.07);--track: rgba(148,163,184,.16);--modal-bg: rgba(15,20,35,.97);--backdrop: rgba(0,0,0,.6);--chart-text: #94a3b8;--chart-grid: rgba(148,163,184,.12);--chart-legend: #cbd5e1;--tint-green: rgba(34,197,94,.15);--tint-amber: rgba(245,158,11,.15);--tint-red: rgba(239,68,68,.16);--tint-blue: rgba(59,130,246,.16);--tint-violet: rgba(139,92,246,.18);--tint-grey: rgba(148,163,184,.14)}html[data-theme="gold"]{--brand: #d4a017;--brand-600: #b8860b;--brand-400: #f2c94c;--brand-50: rgba(212,160,23,.10);--brand-100: rgba(212,160,23,.22);--brand-rgb: 212,160,23;--bg: #0b1324;--bg-image: radial-gradient(1000px 600px at 100% -10%,rgba(212,160,23,.14),transparent 60%),radial-gradient(900px 700px at -10% 110%,rgba(59,130,246,.10),transparent 60%),linear-gradient(180deg,#0d1730,#0a1122);--surface: rgba(20,31,56,.86);--surface-a: rgba(20,31,56,.78);--surface-2: rgba(255,255,255,.04);--surface-strong: #14203a;--blur: 10px;--gloss: .07;--border: rgba(212,160,23,.14);--border-strong: rgba(212,160,23,.28);--card-border: rgba(212,160,23,.18);--card-shadow: 0 12px 32px -16px rgba(0,0,0,.8),inset 0 1px 0 rgba(242,201,76,.08);--text: #f1f5f9;--text-2: #b6c0d2;--text-3: #7d8aa3;--side-bg: linear-gradient(180deg,#060c1a,#0b1428);--side-text: #e2e8f0;--side-muted: #8a7a4a;--side-active-bg: linear-gradient(90deg,rgba(212,160,23,.24),rgba(212,160,23,.03));--side-active-bar: #f2c94c;--side-active-text: #f8e7b0;--topbar-bg: rgba(8,14,28,.78);--input-bg: rgba(255,255,255,.05);--thead-bg: rgba(212,160,23,.08);--row-border: rgba(148,163,184,.09);--hover-row: rgba(212,160,23,.07);--track: rgba(148,163,184,.16);--modal-bg: rgba(16,26,48,.98);--backdrop: rgba(0,0,0,.6);--chart-text: #9aa6bd;--chart-grid: rgba(148,163,184,.12);--chart-legend: #e2e8f0;--tint-green: rgba(34,197,94,.15);--tint-amber: rgba(245,158,11,.16);--tint-red: rgba(239,68,68,.16);--tint-blue: rgba(59,130,246,.16);--tint-violet: rgba(139,92,246,.18);--tint-grey: rgba(148,163,184,.14)}html[data-theme="graphite"]{--brand: #27272a;--brand-600: #18181b;--brand-400: #52525b;--brand-50: #f4f4f5;--brand-100: #e4e4e7;--brand-rgb: 39,39,42;--bg: #f4f4f5;--bg-image: none;--gloss: .25;--radius: 10px;--card-shadow: 0 1px 2px rgba(0,0,0,.05);--side-bg: linear-gradient(180deg,#18181b,#0f0f11);--side-text: #d4d4d8;--side-muted: #71717a;--side-active-bg: rgba(255,255,255,.10);--side-active-bar: #fafafa;--topbar-bg: rgba(255,255,255,.92)}html[data-theme="forest"]{--brand: #15803d;--brand-600: #166534;--brand-400: #4ade80;--brand-50: #f0fdf4;--brand-100: #dcfce7;--brand-rgb: 21,128,61;--bg: #f1f6f1;--bg-image: radial-gradient(1100px 520px at 90% -10%,rgba(74,222,128,.14),transparent 60%),radial-gradient(800px 480px at -10% 100%,rgba(202,138,4,.07),transparent 60%);--side-bg: linear-gradient(180deg,#14532d,#0f3d22 60%,#0a2a17);--side-text: #d1fae5;--side-muted: #6fa287;--side-active-bg: linear-gradient(90deg,rgba(134,239,172,.25),rgba(134,239,172,.04));--side-active-bar: #86efac}html[data-theme="sand"]{--brand: #b45309;--brand-600: #92400e;--brand-400: #f59e0b;--brand-50: #fffbeb;--brand-100: #fef3c7;--brand-rgb: 180,83,9;--bg: #f8f3ea;--bg-image: radial-gradient(1100px 520px at 90% -10%,rgba(245,158,11,.14),transparent 60%),radial-gradient(900px 500px at 0% 110%,rgba(180,83,9,.08),transparent 60%),linear-gradient(180deg,#faf6ee,#f4ecdf);--surface: #fffdf8;--surface-2: #fbf6ec;--border: #ece3d2;--border-strong: #ddd0b8;--text: #3b2f22;--text-2: #6b5a45;--text-3: #a08c72;--side-bg: linear-gradient(180deg,#3b2a1a,#2a1d11 60%,#1f150c);--side-text: #f3e6cf;--side-muted: #a28a68;--side-active-bg: linear-gradient(90deg,rgba(245,158,11,.26),rgba(245,158,11,.04));--side-active-bar: #fbbf24;--thead-bg: linear-gradient(180deg,#fbf6ec,#f5ecdc);--row-border: #f1e8d8;--topbar-bg: rgba(255,253,248,.85);--input-bg: #fffdf8;--track: #efe5d3}html[data-theme="frost"]{--brand: #0f172a;--brand-600: #020617;--brand-400: #475569;--brand-50: rgba(15,23,42,.05);--brand-100: rgba(15,23,42,.10);--brand-rgb: 15,23,42;--bg: #eef2f7;--bg-image: radial-gradient(900px 600px at 0% 0%,rgba(191,219,254,.9),transparent 60%),radial-gradient(900px 700px at 100% 0%,rgba(226,232,240,.95),transparent 55%),radial-gradient(900px 700px at 60% 110%,rgba(199,210,254,.8),transparent 60%),linear-gradient(135deg,#f8fafc,#e2e8f0);--surface: rgba(255,255,255,.55);--surface-a: rgba(255,255,255,.5);--surface-2: rgba(255,255,255,.4);--surface-strong: rgba(255,255,255,.92);--blur: 22px;--gloss: .85;--border: rgba(255,255,255,.8);--border-strong: rgba(15,23,42,.12);--card-border: rgba(255,255,255,.9);--card-shadow: 0 10px 30px -14px rgba(15,23,42,.25),inset 0 1px 0 #fff;--side-bg: linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.35));--side-text: #1e293b;--side-muted: #64748b;--side-hover: rgba(15,23,42,.06);--side-active-bg: linear-gradient(90deg,rgba(15,23,42,.10),rgba(15,23,42,.02));--side-active-text: #0f172a;--side-active-bar: #0f172a;--topbar-bg: rgba(255,255,255,.45);--input-bg: rgba(255,255,255,.7);--thead-bg: rgba(255,255,255,.5);--row-border: rgba(15,23,42,.06);--modal-bg: rgba(255,255,255,.88)}html[data-theme="frost"] .brand,html[data-theme="frost"] .nav a:hover{color: #0f172a}html[data-theme="rosegold"]{--brand: #b76e79;--brand-600: #9b5560;--brand-400: #e0a3ab;--brand-50: rgba(183,110,121,.08);--brand-100: rgba(183,110,121,.18);--brand-rgb: 183,110,121;--bg: #fbefe9;--bg-image: radial-gradient(900px 600px at 0% 0%,rgba(253,205,196,.85),transparent 60%),radial-gradient(900px 700px at 100% 0%,rgba(245,222,179,.8),transparent 55%),radial-gradient(900px 700px at 50% 120%,rgba(232,180,188,.7),transparent 60%),linear-gradient(135deg,#fff5f0,#fbe8e4);--surface: rgba(255,255,255,.62);--surface-a: rgba(255,255,255,.56);--surface-2: rgba(255,255,255,.42);--surface-strong: rgba(255,255,255,.92);--blur: 16px;--gloss: .75;--border: rgba(255,255,255,.75);--border-strong: rgba(183,110,121,.22);--card-border: rgba(255,255,255,.85);--card-shadow: 0 8px 30px -12px rgba(155,85,96,.3),inset 0 1px 0 #fff;--text: #3f2a2d;--text-2: #6e5054;--text-3: #a8878b;--side-bg: linear-gradient(180deg,rgba(74,40,46,.86),rgba(110,62,70,.82));--side-text: #fbe4e2;--side-muted: #d0a3a8;--side-active-bg: linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.05));--side-active-bar: #f5d0a9;--topbar-bg: rgba(255,255,255,.5);--input-bg: rgba(255,255,255,.78);--thead-bg: rgba(255,255,255,.55);--row-border: rgba(183,110,121,.10);--track: rgba(183,110,121,.14);--modal-bg: rgba(255,255,255,.92)}html[data-theme="carbon"]{--brand: #f97316;--brand-600: #ea580c;--brand-400: #fb923c;--brand-50: rgba(249,115,22,.10);--brand-100: rgba(249,115,22,.22);--brand-rgb: 249,115,22;--bg: #121214;--bg-image: radial-gradient(900px 500px at 100% -10%,rgba(249,115,22,.10),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 2px,transparent 2px 6px);--surface: #1b1b1f;--surface-a: #1b1b1f;--surface-2: rgba(255,255,255,.035);--surface-strong: #202025;--blur: 0px;--gloss: .05;--border: rgba(255,255,255,.07);--border-strong: rgba(255,255,255,.13);--card-border: rgba(255,255,255,.08);--card-shadow: 0 1px 0 rgba(255,255,255,.04) inset,0 12px 28px -16px rgba(0,0,0,.9);--text: #ededef;--text-2: #a1a1aa;--text-3: #71717a;--side-bg: linear-gradient(180deg,#0c0c0e,#101013);--side-text: #d4d4d8;--side-muted: #5f5f68;--side-active-bg: linear-gradient(90deg,rgba(249,115,22,.20),rgba(249,115,22,.02));--side-active-bar: #f97316;--side-active-text: #fed7aa;--topbar-bg: rgba(18,18,20,.85);--input-bg: rgba(255,255,255,.04);--thead-bg: rgba(255,255,255,.04);--row-border: rgba(255,255,255,.05);--hover-row: rgba(249,115,22,.07);--track: rgba(255,255,255,.09);--modal-bg: #1c1c20;--backdrop: rgba(0,0,0,.65);--chart-text: #a1a1aa;--chart-grid: rgba(255,255,255,.06);--chart-legend: #d4d4d8;--tint-green: rgba(34,197,94,.15);--tint-amber: rgba(245,158,11,.15);--tint-red: rgba(239,68,68,.16);--tint-blue: rgba(59,130,246,.16);--tint-violet: rgba(139,92,246,.18);--tint-grey: rgba(255,255,255,.07)}html[data-theme="nebula"]{--brand: #c084fc;--brand-600: #a855f7;--brand-400: #e9d5ff;--brand-50: rgba(192,132,252,.10);--brand-100: rgba(192,132,252,.22);--brand-rgb: 192,132,252;--bg: #0d0a1f;--bg-image: radial-gradient(900px 650px at 0% 0%,rgba(124,58,237,.45),transparent 60%),radial-gradient(800px 650px at 100% 20%,rgba(14,165,233,.30),transparent 55%),radial-gradient(900px 700px at 50% 120%,rgba(236,72,153,.32),transparent 60%),linear-gradient(160deg,#120d2b,#0a0818);--surface: rgba(255,255,255,.07);--surface-a: rgba(255,255,255,.06);--surface-2: rgba(255,255,255,.05);--surface-strong: #1a1538;--blur: 20px;--gloss: .12;--border: rgba(255,255,255,.12);--border-strong: rgba(255,255,255,.2);--card-border: rgba(255,255,255,.14);--card-shadow: 0 10px 40px -14px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12);--text: #f4f1ff;--text-2: #c4bce6;--text-3: #8a80b5;--side-bg: linear-gradient(180deg,rgba(20,14,48,.65),rgba(14,10,34,.75));--side-text: #e4ddff;--side-muted: #8a80b5;--side-active-bg: linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.02));--side-active-bar: #f0abfc;--side-active-text: #fff;--topbar-bg: rgba(15,11,36,.45);--input-bg: rgba(255,255,255,.06);--thead-bg: rgba(255,255,255,.06);--row-border: rgba(255,255,255,.06);--hover-row: rgba(192,132,252,.09);--track: rgba(255,255,255,.1);--modal-bg: rgba(26,21,56,.94);--backdrop: rgba(5,3,15,.55);--chart-text: #b3abd6;--chart-grid: rgba(255,255,255,.07);--chart-legend: #e4ddff;--tint-green: rgba(34,197,94,.16);--tint-amber: rgba(245,158,11,.16);--tint-red: rgba(239,68,68,.18);--tint-blue: rgba(59,130,246,.18);--tint-violet: rgba(139,92,246,.22);--tint-grey: rgba(255,255,255,.08)}html[data-theme="obsidian"]{--brand: #34d399;--brand-600: #10b981;--brand-400: #6ee7b7;--brand-50: rgba(52,211,153,.10);--brand-100: rgba(52,211,153,.2);--brand-rgb: 52,211,153;--bg: #000000;--bg-image: radial-gradient(800px 500px at 50% -20%,rgba(52,211,153,.12),transparent 60%);--surface: #0a0a0a;--surface-a: rgba(12,12,12,.9);--surface-2: rgba(255,255,255,.03);--surface-strong: #0e0e0e;--blur: 8px;--gloss: .04;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--card-border: rgba(52,211,153,.14);--card-shadow: 0 0 0 1px rgba(52,211,153,.04),0 10px 30px -12px rgba(52,211,153,.12);--text: #f5f5f5;--text-2: #a3a3a3;--text-3: #6b6b6b;--side-bg: #000;--side-text: #d4d4d4;--side-muted: #525252;--side-active-bg: linear-gradient(90deg,rgba(52,211,153,.18),transparent);--side-active-bar: #34d399;--side-active-text: #a7f3d0;--topbar-bg: rgba(0,0,0,.8);--input-bg: rgba(255,255,255,.04);--thead-bg: rgba(255,255,255,.03);--row-border: rgba(255,255,255,.05);--hover-row: rgba(52,211,153,.06);--track: rgba(255,255,255,.08);--modal-bg: #0c0c0c;--backdrop: rgba(0,0,0,.7);--chart-text: #a3a3a3;--chart-grid: rgba(255,255,255,.06);--chart-legend: #e5e5e5;--tint-green: rgba(34,197,94,.15);--tint-amber: rgba(245,158,11,.15);--tint-red: rgba(239,68,68,.16);--tint-blue: rgba(59,130,246,.16);--tint-violet: rgba(139,92,246,.18);--tint-grey: rgba(255,255,255,.07)}html[data-font="outfit"]{--font: 'Outfit',system-ui,sans-serif}html[data-font="dmsans"]{--font: 'DM Sans',system-ui,sans-serif}html[data-font="nunito"]{--font: 'Nunito Sans',system-ui,sans-serif}html[data-font="montserrat"]{--font: 'Montserrat',system-ui,sans-serif}html[data-font="system"]{--font: 'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif}html[data-glass="off"]{--blur: 0px !important;--surface-a: var(--surface-strong) !important;--gloss: .15}html[data-glass="soft"][data-mode="light"]{--blur: 10px;--surface-a: rgba(255,255,255,.78);--card-border: rgba(255,255,255,.8)}html[data-glass="strong"]{--blur: 26px;--gloss: .8}html[data-glass="strong"][data-mode="light"]{--surface-a: rgba(255,255,255,.42);--card-border: rgba(255,255,255,.85);--topbar-bg: rgba(255,255,255,.35)}html[data-glass="strong"][data-mode="dark"]{--surface-a: rgba(255,255,255,.05);--card-border: rgba(255,255,255,.14)}html[data-glass="soft"][data-mode="light"] body,html[data-glass="strong"][data-mode="light"] body{background-image: var(--bg-image),radial-gradient(800px 600px at 0% 0%,rgba(var(--brand-rgb),.22),transparent 60%),radial-gradient(800px 600px at 100% 100%,rgba(var(--brand-rgb),.16),transparent 60%)}html[data-radius="sharp"]{--radius: 4px}html[data-radius="sharp"] .btn,html[data-radius="sharp"] .input,html[data-radius="sharp"] .proj-pick,html[data-radius="sharp"] .nav a,html[data-radius="sharp"] .dt-scroll,html[data-radius="sharp"] .modal,html[data-radius="sharp"] .search{border-radius: 4px}html[data-radius="sharp"] .nav-ic,html[data-radius="sharp"] .kpi-label .ic{border-radius: 4px}html[data-radius="soft"]{--radius: 18px}html[data-radius="soft"] .btn,html[data-radius="soft"] .input,html[data-radius="soft"] .proj-pick,html[data-radius="soft"] .search{border-radius: 12px}html[data-radius="soft"] .nav a,html[data-radius="soft"] .dt-scroll{border-radius: 14px}html[data-radius="soft"] .modal{border-radius: 22px}html[data-radius="pill"]{--radius: 22px}html[data-radius="pill"] .btn,html[data-radius="pill"] .input:not(textarea),html[data-radius="pill"] .proj-pick,html[data-radius="pill"] .search,html[data-radius="pill"] .nav a{border-radius: 999px}html[data-radius="pill"] .nav-ic{border-radius: 50%}html[data-radius="pill"] .modal{border-radius: 26px}html[data-radius="pill"] .dt-scroll{border-radius: 18px}html[data-density="compact"] body{font-size: 13px}html[data-density="compact"] .tbl td{padding-top: 4px;padding-bottom: 4px}html[data-density="compact"] .tbl th{padding-top: 6px;padding-bottom: 6px}html[data-density="compact"] .kpi{padding: 10px 12px}html[data-density="compact"] .nav a{padding-top: 4px;padding-bottom: 4px}html[data-density="compact"] .btn{height: 32px}html[data-density="compact"] .input{height: 32px}html[data-density="compact"] #view{padding-top: 16px}html[data-density="spacious"] body{font-size: 15px}html[data-density="spacious"] .tbl td{padding-top: 12px;padding-bottom: 12px}html[data-density="spacious"] .kpi{padding: 20px 22px}html[data-density="spacious"] .nav a{padding-top: 10px;padding-bottom: 10px}html[data-density="spacious"] .btn,html[data-density="spacious"] .input{height: 40px}html[data-side="dark"]{--side-bg: linear-gradient(180deg,#111827,#0b1120);--side-text: #cbd5e1;--side-muted: #64748b;--side-hover: rgba(255,255,255,.07);--side-active-text: #fff}html[data-side="light"]{--side-bg: var(--surface-strong);--side-text: var(--text-2);--side-muted: var(--text-3);--side-hover: rgba(var(--brand-rgb),.07);--side-active-bg: rgba(var(--brand-rgb),.12);--side-active-text: var(--brand);--side-active-bar: var(--brand)}html[data-side="light"] #sidebar{box-shadow: inset -1px 0 0 var(--border)}html[data-side="light"] .brand{color: var(--text)}html[data-side="light"] .nav a:hover{color: var(--text)}html[data-side="glass"]{--side-bg: rgba(255,255,255,.14);--side-hover: rgba(255,255,255,.14);--side-active-bg: rgba(255,255,255,.26)}html[data-side="glass"][data-mode="light"]{--side-bg: rgba(255,255,255,.4);--side-text: var(--text);--side-muted: var(--text-3);--side-hover: rgba(var(--brand-rgb),.08);--side-active-bg: rgba(var(--brand-rgb),.14);--side-active-text: var(--brand);--side-active-bar: var(--brand)}html[data-side="glass"] #sidebar{--blur: 24px;border-right: 1px solid var(--card-border)}html[data-side="glass"][data-mode="light"] .brand,html[data-side="glass"][data-mode="light"] .nav a:hover{color: var(--text)}html[data-side="brand"]{--side-bg: linear-gradient(180deg,var(--brand-400) -30%,var(--brand) 35%,var(--brand-600));--side-text: rgba(255,255,255,.92);--side-muted: rgba(255,255,255,.62);--side-hover: rgba(255,255,255,.14);--side-active-bg: rgba(255,255,255,.22);--side-active-text: #fff;--side-active-bar: #fff}html[data-icons="mono"] .nav-ic{color: var(--side-muted)}html[data-icons="mono"] .nav a:hover .nav-ic,html[data-icons="mono"] .nav a.active .nav-ic{color: var(--side-active-bar)}html[data-icons="mono"] .kpi-label .ic{color: var(--text-3)}html[data-icons="soft"] .nav-ic{width: 24px;height: 24px;border-radius: 6px;background: color-mix(in srgb,var(--c) 18%,transparent)}html[data-icons="soft"] .nav-ic .ic{width: 14px;height: 14px}@keyframes masar-drift{0%{background-position: 0% 0%,0 0}50%{background-position: 100% 60%,0 0}100%{background-position: 30% 100%,0 0}}html[data-motion="on"] body{background-size: 180% 180%,auto;animation: masar-drift 40s ease-in-out infinite alternate}html[data-motion="on"] .kpi,html[data-motion="on"] .card{transition: transform .2s,box-shadow .2s}html[data-motion="on"] .kpi:hover{transform: translateY(-3px)}@media (prefers-reduced-motion: reduce){html[data-motion="on"] body{animation: none}}body{font-family: var(--font);background: var(--bg-image),var(--bg);background-attachment: fixed;color: var(--text);letter-spacing: -.003em}h1,h2,h3,.kpi-value,.brand-name{letter-spacing: -.02em}#sidebar{background: var(--side-bg);color: var(--side-text);backdrop-filter: blur(var(--blur)) saturate(150%);-webkit-backdrop-filter: blur(var(--blur)) saturate(150%);box-shadow: inset -1px 0 0 rgba(255,255,255,.06),6px 0 24px -12px rgba(0,0,0,.35);position: sticky;overflow: hidden auto}#sidebar::before{content: '';position: absolute;inset: 0 0 auto 0;height: 180px;background: linear-gradient(180deg,rgba(255,255,255,.10),transparent);pointer-events: none}.brand-mark{background: linear-gradient(135deg,var(--brand-400),var(--brand-600));box-shadow: inset 0 1px 0 rgba(255,255,255,.45),0 6px 16px -6px rgba(var(--brand-rgb),.7)}.nav-section{color: var(--side-muted)}.nav a{color: var(--side-text);padding: 7px 10px;gap: 10px;position: relative}.nav a:hover{background: var(--side-hover);color: #fff}.nav a.active{background: var(--side-active-bg);color: var(--side-active-text);font-weight: 600}.nav a.active::before{content: '';position: absolute;left: -12px;top: 8px;bottom: 8px;width: 3px;border-radius: 0 3px 3px 0;background: var(--side-active-bar);box-shadow: 0 0 10px var(--side-active-bar)}.nav-ic{width: 18px;height: 18px;display: inline-grid;place-items: center;flex: none;color: color-mix(in srgb,var(--c) 72%,#ffffff);transition: color .15s,transform .15s}html[data-mode="light"]:is([data-side="light"],[data-theme="frost"]) .nav-ic,html[data-mode="light"][data-side="glass"] .nav-ic{color: var(--c)}.nav-ic .ic{width: 16px;height: 16px;stroke-width: 1.7}.nav a:hover .nav-ic{transform: translateX(1px)}.nav a.active .nav-ic{color: var(--side-active-text)}.side-foot{border-top-color: rgba(255,255,255,.08);color: var(--side-muted)}.side-foot b{color: var(--side-text)}#topbar{background: var(--topbar-bg);backdrop-filter: blur(16px) saturate(170%);-webkit-backdrop-filter: blur(16px) saturate(170%);border-bottom: 1px solid var(--border)}#crumb{color: var(--text)}.proj-pick{background: var(--input-bg);border-color: var(--border-strong)}.proj-pick select{color: var(--text);background: transparent}.proj-pick select option{background: var(--surface-strong);color: var(--text)}.avatar{background: linear-gradient(135deg,var(--brand-400),var(--brand-600));color: #fff;box-shadow: inset 0 1px 0 rgba(255,255,255,.4)}.theme-btn .ic{color: var(--brand)}.card,.kpi{background: var(--surface-a);border-color: var(--card-border);box-shadow: var(--card-shadow);backdrop-filter: blur(var(--blur)) saturate(160%);-webkit-backdrop-filter: blur(var(--blur)) saturate(160%);border-radius: var(--radius)}.kpi{overflow: hidden}.kpi::before{content: '';position: absolute;inset: 0 0 55% 0;background: linear-gradient(180deg,rgba(255,255,255,var(--gloss)),rgba(255,255,255,0));pointer-events: none;border-radius: inherit;opacity: .55}.kpi>*{position: relative}a.kpi[href]:hover{border-color: rgba(var(--brand-rgb),.55);box-shadow: 0 14px 34px -14px rgba(var(--brand-rgb),.45)}.kpi-label{color: var(--text-2)}.kpi-label .ic{width: 14px;height: 14px;stroke-width: 1.8;color: var(--k,var(--brand));flex: none}.kpis>:nth-child(7n+1){--k: #6366f1}.kpis>:nth-child(7n+2){--k: #0ea5e9}.kpis>:nth-child(7n+3){--k: #10b981}.kpis>:nth-child(7n+4){--k: #f59e0b}.kpis>:nth-child(7n+5){--k: #ef4444}.kpis>:nth-child(7n+6){--k: #a855f7}.kpis>:nth-child(7n+7){--k: #14b8a6}.kpi-value{color: var(--text)}.kpi.good .kpi-value{color: #16a34a}.kpi.warn .kpi-value{color: #d97706}.kpi.bad .kpi-value{color: #dc2626}.mini-bar,.pbar,.progress{background: var(--track)}.mini-bar>span,.pbar span,.progress>span{background: linear-gradient(90deg,var(--brand-400),var(--brand))}.card-head h3{color: var(--text)}.btn{background: var(--surface-strong);color: var(--text);border-color: var(--border-strong);box-shadow: 0 1px 2px rgba(0,0,0,.04)}.btn:hover{background: var(--surface)}.btn.primary{background: linear-gradient(180deg,var(--brand-400),var(--brand) 55%,var(--brand-600));border-color: var(--brand-600);color: #fff;box-shadow: inset 0 1px 0 rgba(255,255,255,.35),0 6px 16px -8px rgba(var(--brand-rgb),.8);text-shadow: 0 1px 0 rgba(0,0,0,.12)}.btn.primary:hover{filter: brightness(1.06);background: linear-gradient(180deg,var(--brand-400),var(--brand) 55%,var(--brand-600))}html[data-mode="dark"] .btn.primary{color: #06141a;text-shadow: none}.btn.ghost{background: transparent;box-shadow: none}.input,select.input,textarea.input{background: var(--input-bg);color: var(--text);border-color: var(--border-strong)}.input:focus{outline-color: rgba(var(--brand-rgb),.25);border-color: var(--brand)}.search{background: var(--input-bg);border-color: var(--border-strong)}.dt-scroll{background: var(--surface-a);border-color: var(--card-border)}.tbl th{background: var(--thead-bg);color: var(--text-2);border-bottom-color: var(--border);backdrop-filter: blur(8px)}.tbl td{border-bottom-color: var(--row-border)}.tbl tbody tr.clickable:hover td{background: var(--hover-row)}.tbl tfoot td{background: var(--thead-bg)}.tbl tr.row-head td{background: rgba(var(--brand-rgb),.06);color: var(--text)}.tbl tr.row-warn td{background: var(--tint-amber)}.tbl tr.row-bad td{background: var(--tint-red)}.tabs{box-shadow: inset 0 -1px 0 var(--border)}.tabs a.active{color: var(--brand);border-color: var(--brand)}.list-row:hover{background: var(--hover-row)}.badge{background: var(--tint-grey);color: var(--text-2)}.badge.green{background: var(--tint-green);color: #16a34a}.badge.amber{background: var(--tint-amber);color: #d97706}.badge.red{background: var(--tint-red);color: #dc2626}.badge.blue{background: var(--tint-blue);color: #2563eb}.badge.violet{background: var(--tint-violet);color: #7c3aed}.badge.teal{background: rgba(var(--brand-rgb),.12);color: var(--brand)}.note{background: var(--tint-blue);color: var(--text);border: 1px solid rgba(37,99,235,.15)}.note.warn{background: var(--tint-amber);color: var(--text);border-color: rgba(217,119,6,.2)}.note.bad{background: var(--tint-red);color: var(--text);border-color: rgba(220,38,38,.2)}.note.ok{background: var(--tint-green);color: var(--text);border-color: rgba(22,163,74,.2)}.chip{background: rgba(var(--brand-rgb),.12);color: var(--brand)}.modal-backdrop{background: var(--backdrop);backdrop-filter: blur(4px)}.modal{background: var(--modal-bg);color: var(--text);backdrop-filter: blur(20px) saturate(160%);border: 1px solid var(--card-border)}.modal-head,.modal-foot{border-color: var(--border)}.drop{background: var(--surface-2);border-color: var(--border-strong);color: var(--text-2)}.drop .big{color: var(--text)}.drop .ico,.empty-state .ico{background: rgba(var(--brand-rgb),.12);color: var(--brand)}.summary-bar,.text-pre,.sheet-item,.radio-card{background: var(--surface-2);border-color: var(--border);color: var(--text)}.radio-card:has(input:checked),.sheet-item.active{background: rgba(var(--brand-rgb),.10);border-color: var(--brand)}.g-name{background-color: var(--surface-strong)}.g-row.grp .g-name,.g-row.head .g-name,.g-row.head{background-color: var(--surface-2)}.empty-state h2{color: var(--text)}#bottomnav{background: var(--topbar-bg);backdrop-filter: blur(16px);border-top-color: var(--border)}#bottomnav a.active{color: var(--brand)}.icon-btn:hover{background: var(--surface-2)}.back:hover,.tabs a:hover{color: var(--brand)}html[data-mode="dark"] .tbl .code,html[data-mode="dark"] .code{color: var(--brand)}html[data-mode="dark"] ::-webkit-scrollbar{width: 10px;height: 10px}html[data-mode="dark"] ::-webkit-scrollbar-thumb{background: rgba(148,163,184,.25);border-radius: 8px}html[data-mode="dark"] .pos{color: #4ade80}html[data-mode="dark"] .neg{color: #f87171}.theme-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(170px,1fr));gap: 12px}.theme-card{border: 2px solid var(--border);border-radius: 14px;padding: 8px;cursor: pointer;background: var(--surface-2);text-align: left;color: var(--text);font: inherit}.theme-card.sel{border-color: var(--brand);box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.15)}.theme-card b{display: block;margin-top: 8px;font-size: 13px}.theme-card span{font-size: 11.5px;color: var(--text-3)}.theme-prev{height: 86px;border-radius: 10px;position: relative;overflow: hidden;display: grid;grid-template-columns: 26% 1fr}.theme-prev i{display: block}.theme-prev .pv-side{height: 100%}.theme-prev .pv-main{padding: 8px;display: grid;grid-template-columns: 1fr 1fr;gap: 6px;align-content: start}.theme-prev .pv-card{height: 26px;border-radius: 6px;box-shadow: 0 2px 6px rgba(0,0,0,.12)}.theme-prev .pv-bar{grid-column: 1 / -1;height: 8px;border-radius: 4px}.font-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(130px,1fr));gap: 10px}.look-h{margin: 18px 0 10px;font-size: 12px;text-transform: uppercase;letter-spacing: .08em;color: var(--text-3);font-weight: 700}.look-h:first-child{margin-top: 0}.font-card{border: 2px solid var(--border);border-radius: 12px;padding: 10px 12px;background: var(--surface-2);color: var(--text);cursor: pointer;text-align: left;display: flex;flex-direction: column;gap: 2px}.font-card b{font-size: 22px;line-height: 1.1}.font-card span{font-size: 12px;color: var(--text-2)}.font-card.sel{border-color: var(--brand);box-shadow: 0 0 0 4px rgba(var(--brand-rgb),.15)}.swatches{display: flex;flex-wrap: wrap;gap: 8px}.swatch{width: 32px;height: 32px;border-radius: 50%;border: 2px solid var(--surface-strong);box-shadow: 0 0 0 1px var(--border-strong),inset 0 2px 4px rgba(255,255,255,.35);cursor: pointer;padding: 0;display: grid;place-items: center;font-weight: 800;font-size: 12px;color: var(--text-2);background: var(--surface-2);position: relative;overflow: hidden}.swatch.sel{box-shadow: 0 0 0 2px var(--text)}.swatch.custom{background: conic-gradient(#ef4444,#f59e0b,#84cc16,#10b981,#06b6d4,#6366f1,#d946ef,#ef4444)}.swatch.custom input{opacity: 0;position: absolute;inset: 0;width: 100%;height: 100%;cursor: pointer}.look-opts{display: grid;grid-template-columns: repeat(auto-fill,minmax(300px,1fr));gap: 14px 22px;margin-top: 18px}.look-opt>label{display: block;font-size: 12px;text-transform: uppercase;letter-spacing: .08em;color: var(--text-3);font-weight: 700;margin-bottom: 6px}.seg{display: inline-flex;flex-wrap: wrap;gap: 2px;padding: 3px;border-radius: 11px;background: var(--surface-2);border: 1px solid var(--border)}.seg button{border: 0;background: transparent;color: var(--text-2);font: inherit;font-size: 12.5px;font-weight: 600;padding: 6px 11px;border-radius: 8px;cursor: pointer}.seg button:hover{color: var(--text)}.seg button.sel{background: var(--surface-strong);color: var(--brand);box-shadow: 0 1px 3px rgba(0,0,0,.12)}.look-foot{display: flex;gap: 12px;align-items: center;flex-wrap: wrap;margin-top: 20px;font-size: 12.5px}.bell-btn{position: relative}.bell-btn .ic{color: var(--text-2)}.bell-n{position: absolute;top: 0;right: -2px;min-width: 17px;height: 17px;padding: 0 4px;border-radius: 9px;background: #ef4444;color: #fff;font-size: 10.5px;font-weight: 700;display: grid;place-items: center;box-shadow: 0 0 0 2px var(--surface-strong)}.cat-dot{display: inline-block;width: 9px;height: 9px;border-radius: 50%;background: var(--c);margin-right: 7px;vertical-align: 1px}.exp-thumbs{display: flex;gap: 8px;flex-wrap: wrap}.exp-thumbs img{height: 92px;max-width: 160px;object-fit: cover;border-radius: 8px;border: 1px solid var(--border);cursor: pointer}.doc-layout{display: grid;grid-template-columns: 250px minmax(0,1fr);gap: 16px;align-items: start}.doc-folders{position: sticky;top: 76px}.doc-f{display: flex;align-items: center;gap: 8px;padding: 7px 10px;border-radius: 8px;color: var(--text-2);font-size: 13px}.doc-f span{flex: 1;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.doc-f b{font-size: 11.5px;color: var(--text-3);font-weight: 600}.doc-f:hover{background: var(--hover-row);color: var(--text)}.doc-f.on{background: rgba(var(--brand-rgb),.12);color: var(--brand);font-weight: 600}.doc-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(170px,1fr));gap: 12px}.doc-card{background: var(--surface-a);border: 1px solid var(--card-border);border-radius: 12px;overflow: hidden;cursor: pointer;transition: transform .12s,box-shadow .12s}.doc-card:hover{transform: translateY(-2px);box-shadow: var(--card-shadow)}.doc-th{height: 118px;background: var(--surface-2) center / cover no-repeat}.doc-ic{display: grid;place-items: center;align-content: center;gap: 4px;color: var(--brand)}.doc-ic span{font-size: 11px;font-weight: 700;color: var(--text-3)}.doc-nm{padding: 8px 10px 0;font-size: 12.5px;font-weight: 600;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.doc-meta{padding: 2px 10px 8px;font-size: 11.5px;color: var(--text-3)}.doc-tags{padding: 0 10px 10px;display: flex;gap: 4px;flex-wrap: wrap}.drop.over{border-color: var(--brand);background: rgba(var(--brand-rgb),.08)}.tk-board{display: grid;grid-template-columns: repeat(4,minmax(240px,1fr));gap: 12px;overflow-x: auto;padding-bottom: 6px}.tk-col{background: var(--surface-2);border: 1px solid var(--border);border-radius: 12px;padding: 8px;min-height: 260px}.tk-col.over{border-color: var(--brand);background: rgba(var(--brand-rgb),.06)}.tk-h{font-weight: 700;font-size: 13px;padding: 4px 6px 10px;display: flex;justify-content: space-between;color: var(--text-2)}.tk-card{background: var(--surface-strong);border: 1px solid var(--card-border);border-left: 3px solid var(--brand);border-radius: 10px;padding: 9px 10px;margin-bottom: 8px;cursor: grab;box-shadow: 0 1px 2px rgba(0,0,0,.04)}.tk-card.od{border-left-color: #ef4444}.tk-card:hover{box-shadow: var(--card-shadow)}.tk-t{font-weight: 600;font-size: 13px;margin: 5px 0;line-height: 1.35}.tk-m{font-size: 11.5px;color: var(--text-3);display: flex;align-items: center;gap: 4px;margin-top: 2px}.tk-m.neg{color: #dc2626}@media (max-width: 900px){.doc-layout{grid-template-columns: 1fr}.doc-folders{position: static}}.quote-box{border: 1px solid var(--border);border-radius: var(--radius);padding: 12px 14px;margin-bottom: 14px;background: var(--surface-2)}.quote-tbl td{vertical-align: middle}.quote-tbl tr.q-sel td{background: var(--tint-green)}.q-tick{font-size: 13px;white-space: nowrap}.q-tick input{width: 17px;height: 17px;accent-color: #16a34a}.tot-in{width: 92px;text-align: right;font-weight: 600;background: rgba(var(--brand-rgb),.06);border-color: rgba(var(--brand-rgb),.35)}.tot-in:focus{background: var(--input-bg)}.resp-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(240px,1fr));gap: 8px 16px}.tbl th.c,.tbl td.c{text-align: center}.slogo{position: relative;display: inline-block;aspect-ratio: 1 / 1;flex-shrink: 0;vertical-align: middle}.slogo .ribbon{position: absolute;left: 26.5%;top: 8%;width: 47%;height: auto}.slogo .orbit{position: absolute;inset: 0;transform-origin: 50% 50%;animation: ss-orbit 8s linear infinite}.slogo .ball{position: absolute;animation: ss-orbit 8s linear infinite reverse;filter: drop-shadow(0 0 6px rgba(233,182,59,.55))}.slogo .b1{left: 58.3%;top: 27%;width: 14.2%}.slogo .b2{left: 30.8%;top: 63.3%;width: 16.1%}@keyframes ss-orbit{to{transform: rotate(360deg)}}@media (prefers-reduced-motion: reduce){.slogo .orbit,.slogo .ball{animation: none}}.dev-by{display: flex;align-items: center;gap: 8px;margin-top: 10px;padding-top: 10px;border-top: 1px solid rgba(255,255,255,.08);color: var(--side-muted);font-size: 11px;cursor: pointer;line-height: 1.3}.dev-by b{color: var(--side-text);font-size: 12px;letter-spacing: .02em}.dev-by:hover b{color: var(--side-active-bar)}.about-head{display: flex;gap: 18px;align-items: center}.about-p{font-size: 22px;font-weight: 800;letter-spacing: -.01em}.eula{max-height: 46vh;overflow: auto;font-size: 12.5px;line-height: 1.55;color: var(--text-2);padding-right: 6px}.eula p{margin: 0 0 10px}.lic-banner{position: fixed;right: 8px;bottom: 6px;z-index: 300;background: rgba(185,28,28,.85);color: #fff;padding: 2px 7px;border-radius: 999px;font-size: 9px;line-height: 1.3;font-weight: 600;max-width: 46vw;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;opacity: .8;box-shadow: 0 2px 8px rgba(0,0,0,.25);cursor: pointer}@media print{.lic-banner{display: block !important;position: fixed}}.brand{color: var(--side-active-text)}.brand-logo{width: 38px;height: 38px;display: grid;place-items: center;flex: none;filter: drop-shadow(0 2px 8px rgba(243,135,32,.45));transition: transform .6s ease}.brand:hover .brand-logo{transform: rotate(90deg)}.brand-name{font-weight: 800;letter-spacing: .2em;font-size: 15px}.brand-sub{color: var(--side-muted);font-size: 10.5px;letter-spacing: .02em}html[data-side="light"] .brand,html[data-theme="frost"] .brand,html[data-side="glass"][data-mode="light"] .brand{color: var(--text)}.dt-scroll{resize: vertical;min-height: 140px;position: relative}.tbl th{position: sticky;top: 0;z-index: 3}.tbl .fz{position: sticky;z-index: 2;background: var(--surface)}.tbl tbody tr:hover td.fz{background: var(--surface-2)}.tbl th.fz{z-index: 5;background: var(--thead-bg);background-color: var(--surface)}.tbl tfoot td{z-index: 3}.tbl tfoot td.fz{z-index: 5;background: var(--thead-bg);background-color: var(--surface)}.tbl .fz.fz-off{position: static;box-shadow: none}.tbl .fz-end{box-shadow: inset -1px 0 0 var(--border),6px 0 8px -6px rgba(0,0,0,.28)}.col-rs{position: absolute;top: 0;right: -3px;width: 7px;height: 100%;cursor: col-resize;z-index: 6}.col-rs:hover,body.col-resizing .col-rs:active{background: var(--brand);opacity: .55}body.col-resizing,body.col-resizing *{cursor: col-resize !important;user-select: none !important}.dt.dt-max{position: fixed;inset: 0;z-index: 900;background: var(--bg,var(--surface));padding: 14px 16px;display: flex;flex-direction: column;overflow: hidden}.dt.dt-max .dt-scroll{flex: 1;max-height: none !important;resize: none}body.dt-max-open{overflow: hidden}.cert-card{max-width: 1100px}.cert-info{display: grid;grid-template-columns: 1fr 1fr;gap: 2px 28px;margin-bottom: 14px;font-size: 13px}.cert-info div{display: flex;gap: 10px;padding: 4px 0;border-bottom: 1px dotted var(--border)}.cert-info span{color: var(--text-3,var(--text-2));min-width: 140px}.cert-tbl td.op{font-weight: 700;font-size: 15px}.cert-tbl td.op.neg{color: var(--bad,#dc2626)}.cert-tbl tr.total td{background: var(--surface-2);font-weight: 700}.cert-tbl tr.grand td{background: color-mix(in srgb,var(--brand) 14%,var(--surface));font-weight: 800;font-size: 14px}.cert-tbl input.num{width: 140px;text-align: right;margin-left: auto}.cert-sign{display: grid;grid-template-columns: repeat(3,1fr);gap: 28px;margin-top: 40px;font-size: 12.5px}.cert-sign .sig-line{border-top: 1px solid var(--text);margin-bottom: 5px}@media (max-width: 700px){.cert-info,.cert-sign{grid-template-columns: 1fr}}.vo-sum{display: grid;grid-template-columns: 1fr;gap: 0;font-size: 13px}.vo-sum>div{display: flex;justify-content: space-between;gap: 12px;padding: 7px 0;border-bottom: 1px dotted var(--border)}.vo-sum>div span{color: var(--text-2)}.vo-sum>div.b b{color: var(--brand);font-size: 14.5px}.vo-sum.compact{grid-template-columns: 1fr 1fr;column-gap: 28px;margin-bottom: 16px;border: 1px solid var(--border);border-radius: 10px;padding: 4px 14px}.cert-h{font-weight: 700;font-size: 13px;margin: 4px 0 6px;color: var(--text)}@media (max-width: 700px){.vo-sum.compact{grid-template-columns: 1fr}}.dash-sec{display: flex;align-items: center;gap: 7px;margin: 18px 0 8px;font-size: 11.5px;font-weight: 700;letter-spacing: .07em;text-transform: uppercase;color: var(--text-2)}.dash-sec svg{color: var(--brand)}.dash-sec::after{content: '';flex: 1;height: 1px;background: var(--border);margin-left: 6px}.dash-sec:first-of-type{margin-top: 6px}@media (max-width: 900px){html{-webkit-text-size-adjust: 100%}body{overscroll-behavior-y: contain;-webkit-tap-highlight-color: transparent}#app{display: block;min-height: 100vh;min-height: 100dvh}#sidebar{position: fixed !important;top: 0;bottom: 0;left: 0;height: 100vh;height: 100dvh;width: min(300px,86vw);transform: translateX(-104%);transition: transform .24s cubic-bezier(.2,.8,.2,1);z-index: 150;border-radius: 0 22px 22px 0;padding: calc(16px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom));box-shadow: none;overflow-y: auto}body.nav-open #sidebar{transform: none;box-shadow: 24px 0 60px -20px rgba(0,0,0,.55)}body.nav-open{overflow: hidden}body.nav-open::after{content: '';position: fixed;inset: 0;background: rgba(11,20,51,.5);backdrop-filter: blur(2px);z-index: 140}.brand{padding: 6px 10px 18px}.nav a{padding: 12px 12px;font-size: 14.5px;border-radius: 12px}.nav-section{padding: 18px 12px 6px}.side-foot{padding-top: 16px}#topbar{position: sticky;top: 0;height: auto;min-height: 56px;padding: env(safe-area-inset-top) 8px 0 4px;gap: 6px}.menu-btn{display: inline-grid;width: 42px;height: 42px;border-radius: 12px}#back-btn{height: 36px;padding: 0 10px;border-radius: 999px}#crumb{flex: 1;min-width: 0;font-size: 15px}.topbar-right{gap: 4px;min-width: 0}.proj-pick{height: 36px;max-width: 42vw;border-radius: 999px;padding: 0 2px 0 9px;gap: 4px}.proj-pick select{font-size: 13px;max-width: 100%;width: 100%;min-width: 0}.role-pick{width: 38px;max-width: none;padding: 0;justify-content: center;position: relative;overflow: hidden}.role-pick select{position: absolute;inset: 0;opacity: 0;width: 100%;height: 100%}.avatar{display: none}.icon-btn{width: 38px;height: 38px;padding: 0;border-radius: 12px}#view{padding: 14px 14px calc(96px + env(safe-area-inset-bottom));max-width: none}.page-head{margin-bottom: 14px;gap: 10px;align-items: flex-start}.page-head h1{font-size: 20px}.page-head p{font-size: 13px}.page-head>.row{width: 100%}.page-head>.row>.btn{flex: 1 1 auto}.btn{min-height: 42px;height: auto;padding: 8px 14px;border-radius: 12px;font-size: 14px}.btn.sm{min-height: 36px;padding: 6px 11px;font-size: 13px;border-radius: 10px}.icon-btn.sm,.btn.icon{min-height: 36px}.input,select.input{height: 44px;font-size: 16px;border-radius: 10px;padding: 0 12px}textarea.input{height: auto;min-height: 96px;padding: 10px 12px}.input.sm{height: 38px;font-size: 14px;padding: 0 10px}.tbl input.input.sm{width: 96px}.search{height: 44px;border-radius: 12px}.search input{font-size: 16px}.kpis{grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px;margin-bottom: 14px}.kpi{padding: 12px 13px;border-radius: 14px}.kpi-value{font-size: 19px}.card{border-radius: 14px}.card-head{padding: 12px 14px 0}.card-head h3{font-size: 14px}.card-body{padding: 10px 14px 14px}.g-2,.g-3,.g-4{gap: 12px}.dt-scroll{max-height: none;border-radius: 12px;-webkit-overflow-scrolling: touch;overscroll-behavior-x: contain}.tbl th{padding: 10px 10px;font-size: 11.5px}.tbl td{padding: 10px 10px;font-size: 13px}.tbl .desc{min-width: 200px;max-width: 320px}.tabs{margin: 0 -14px 14px;padding: 0 14px;gap: 0}.tabs a{padding: 11px 13px;font-size: 13.5px}.row{gap: 8px}.badge{font-size: 11px}.modal-backdrop{padding: 0;align-items: flex-end;overflow: hidden}.modal,.modal.lg,.modal.xl{max-width: none;width: 100%;min-height: 0;max-height: calc(100vh - 24px - env(safe-area-inset-top));max-height: calc(100dvh - 24px - env(safe-area-inset-top));border-radius: 22px 22px 0 0;animation: sheet-up .24s cubic-bezier(.2,.8,.2,1)}.modal::before{content: '';flex: none;width: 40px;height: 4px;border-radius: 4px;background: var(--border-strong);margin: 8px auto -2px;opacity: .8}.modal-head{padding: 10px 16px 12px}.modal-head h3{font-size: 16px}.modal-body{padding: 14px 16px;-webkit-overflow-scrolling: touch}.modal-foot{padding: 10px 16px calc(12px + env(safe-area-inset-bottom));position: sticky;bottom: 0;background: var(--surface);gap: 8px}.modal-foot .btn{flex: 1 1 auto}.modal-foot .left{width: 100%;margin: 0 0 2px}.form-grid{gap: 10px}#bottomnav{height: calc(62px + env(safe-area-inset-bottom));padding: 4px 6px env(safe-area-inset-bottom);gap: 2px;backdrop-filter: blur(18px) saturate(160%);-webkit-backdrop-filter: blur(18px) saturate(160%);box-shadow: 0 -10px 30px -18px rgba(0,0,0,.4)}#bottomnav a{gap: 2px;font-size: 10.5px;padding: 4px 0;border-radius: 12px;color: var(--text-3);font-weight: 500}#bottomnav a svg{width: 22px;height: 22px;padding: 2px 12px;border-radius: 999px;box-sizing: content-box;transition: background .18s,transform .18s}#bottomnav a.active{color: var(--brand);font-weight: 700}#bottomnav a.active svg{background: rgba(var(--brand-rgb),.14)}#bottomnav a:active svg{transform: scale(.92)}#toasts{left: 12px;right: 12px;bottom: calc(76px + env(safe-area-inset-bottom));align-items: center}.toast{max-width: 100%}.lic-banner{bottom: calc(68px + env(safe-area-inset-bottom))}#hovercard{display: none !important}}@media (max-width: 420px){.kpis{gap: 8px}.kpi-value{font-size: 17px}.kpi{padding: 11px 12px}.proj-pick{max-width: 38vw}#crumb{font-size: 14px}}@keyframes sheet-up{from{transform: translateY(28px);opacity: .5}to{transform: none;opacity: 1}}@media (max-width: 560px){#crumb{display: none}.topbar-right{flex: 1;justify-content: flex-end}.proj-pick{flex: 1;max-width: none}}.brand-sub{line-height: 1.25}.brand-for{display: block;font-size: 9.5px;letter-spacing: .14em;text-transform: uppercase;opacity: .75;font-weight: 600}.wm{white-space: nowrap;letter-spacing: inherit}.wm-erp{color: #e2730f}[data-mode="dark"] .wm-erp{color: #f9a54a}#sidebar .brand-sub .wm{font-weight: 700;color: var(--side-text)}#sidebar .wm-erp{color: #f9a54a}.lic-banner.trial{background: rgba(15,118,110,.78)}@media print{.lic-banner.trial{display: none !important}}.upd-banner{position: fixed;right: 8px;bottom: 26px;z-index: 90;display: inline-flex;align-items: center;gap: 6px;background: #0f766e;color: #fff;border: 0;border-radius: 999px;padding: 6px 12px;font: 600 12px/1.2 inherit;font-family: inherit;box-shadow: 0 6px 18px rgba(15,118,110,.35);cursor: pointer}.upd-banner:hover{background: #0b625b}@media (max-width: 900px){.upd-banner{bottom: calc(90px + env(safe-area-inset-bottom))}}@media print{.upd-banner{display: none !important}}.upd-notes{margin: 6px 0 10px 18px;padding: 0}.upd-notes li{margin: 3px 0}.upd-prog{height: 8px;border-radius: 8px;background: var(--surface-2,#eef2f6);overflow: hidden;margin-top: 10px}.upd-prog i{display: block;height: 100%;width: 0;background: linear-gradient(90deg,#f9b45c,#e2730f);transition: width .2s}.upd-msg{margin-top: 8px;min-height: 1.2em}