:root{--ink:#17202e;--muted:#778191;--subtle:#a3acb9;--line:#e8ebef;--canvas:#f7f8fa;--panel:#fff;--blue:#3767e8;--blue-soft:#edf2ff;--green:#1f9d68;--green-soft:#e8f7f0;--amber:#bd7a15;--amber-soft:#fff4df;--red:#d85a53;--red-soft:#fff0ef;--violet:#8356c9;--violet-soft:#f3edff;--shadow:0 16px 40px rgba(23,32,46,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{min-height:100vh;display:flex}.sidebar{width:236px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 14px 14px}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 24px}.brand-mark{width:29px;height:29px;background:var(--ink);color:#fff;border-radius:8px;display:grid;place-items:center;font-size:15px;font-weight:800}.brand strong{font-size:15px;letter-spacing:.1px;display:block}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px;letter-spacing:.5px}.workspace-switcher{margin:0 0 18px;padding:10px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:8px}.workspace-switcher>div{flex:1;min-width:0}.workspace-switcher small,.workspace-switcher strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-switcher small{color:var(--muted);font-size:10px}.workspace-switcher strong{font-size:12px;margin-top:2px}.workspace-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.chevron{color:var(--subtle);font-size:15px}.nav-label{font-size:10px;color:#a1a9b4;text-transform:uppercase;letter-spacing:1px;margin:16px 10px 7px}.nav-label-spaced{margin-top:28px}.nav-item{width:100%;border:0;background:transparent;color:#687383;text-align:left;padding:10px 11px;border-radius:7px;display:flex;align-items:center;gap:10px;font-size:13px;margin:2px 0}.nav-item:hover{background:#f5f7fa;color:var(--ink)}.nav-item.active{background:#edf2ff;color:var(--blue);font-weight:650}.nav-icon{width:17px;text-align:center;font-size:16px;color:inherit}.nav-count{margin-left:auto;color:var(--blue);font-size:11px;background:#dbe5ff;border-radius:10px;padding:2px 6px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:13px}.user-card{display:flex;align-items:center;gap:9px;padding:7px 8px}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fee5d4;color:#9a4b27;font-weight:700;font-size:12px}.user-card strong,.user-card small{display:block}.user-card strong{font-size:12px}.user-card small{font-size:10px;color:var(--muted);margin-top:1px}.more{margin-left:auto;color:var(--subtle);letter-spacing:2px}.reset-button{border:0;background:none;color:var(--muted);font-size:11px;padding:8px;width:100%;text-align:left}.reset-button:hover{color:var(--blue)}.main-content{flex:1;min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.breadcrumb strong{color:var(--ink);font-weight:650}.topbar-actions{display:flex;align-items:center;gap:17px;color:var(--muted)}.top-icon,.help-button{border:0;background:none;color:inherit}.top-icon{font-size:20px;position:relative}.top-icon i{position:absolute;width:5px;height:5px;background:var(--red);border:1px solid #fff;border-radius:50%;right:-1px;top:1px}.top-divider{height:19px;width:1px;background:var(--line)}.help-button{font-size:12px}.page-wrap{max-width:1380px;margin:0 auto;padding:34px 38px 54px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.3px;color:#9aa2ae;font-weight:650;margin:0 0 8px}.page-heading h1{font-size:29px;line-height:1.2;letter-spacing:-.5px;margin:0 0 9px}.heading-copy{color:var(--muted);margin:0;line-height:1.6}.heading-copy strong{color:var(--ink)}.primary-button,.secondary-button,.ghost-button,.text-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.primary-button{background:var(--blue);color:#fff;border-radius:7px;padding:10px 15px;font-weight:650;box-shadow:0 5px 14px rgba(55,103,232,.2)}.primary-button:hover{background:#2e58cb}.primary-button span{font-size:17px;font-weight:400}.secondary-button{background:#f1f4f8;color:var(--ink);border-radius:6px;padding:8px 10px;font-size:12px}.secondary-button:hover{background:#e7ebf1}.ghost-button{padding:4px 0;background:transparent;color:var(--blue);font-size:12px}.ghost-button span{font-size:16px}.text-button{background:none;color:var(--blue);padding:8px 0;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:17px 18px 15px}.metric-label{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:7px}.metric-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.metric-dot.blue{background:var(--blue)}.metric-dot.amber{background:var(--amber)}.metric-dot.violet{background:var(--violet)}.metric-dot.red{background:var(--red)}.metric-value{font-size:28px;font-weight:720;letter-spacing:-.8px;margin:9px 0 4px}.metric-detail{color:var(--subtle);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.9fr);gap:17px;margin-bottom:17px}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:19px 20px 16px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:14px;margin:0 0 5px}.panel-heading p{color:var(--muted);font-size:11px;margin:0}.progress-list{padding:5px 20px 17px}.progress-row{padding:13px 0 10px;border-bottom:1px solid #f0f2f5}.progress-row:last-child{border-bottom:0}.progress-meta{display:flex;justify-content:space-between;font-size:12px}.progress-meta span{font-weight:650;color:var(--blue)}.progress-track{height:5px;background:#edf0f3;border-radius:5px;margin:8px 0 6px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--blue);border-radius:5px}.progress-sub{font-size:10px;color:var(--muted)}.task-list{padding:5px 20px 14px}.task-row{width:100%;display:flex;align-items:center;gap:10px;padding:12px 0;border:0;background:none;text-align:left;border-bottom:1px solid #f0f2f5}.task-row:last-child{border-bottom:0}.task-row:hover .task-copy strong{color:var(--blue)}.task-priority{width:7px;height:7px;border-radius:50%;flex:none}.task-priority.warning{background:#dda13b}.task-priority.danger{background:var(--red)}.task-priority.muted{background:#b5bdc8}.task-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.task-copy strong{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-copy small,.task-due{font-size:10px;color:var(--muted)}.task-due{flex:none}.activity-list{padding:7px 20px 13px}.activity-row{display:flex;gap:9px;padding:11px 0;border-bottom:1px solid #f0f2f5;line-height:1.5;font-size:11px}.activity-row:last-child{border-bottom:0}.activity-row strong{font-weight:650}.activity-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.activity-avatar{width:23px;height:23px;border-radius:50%;background:#ecf0ff;color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:10px;flex:none}.quick-links{padding:8px 18px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-links button{border:1px solid var(--line);background:#fff;border-radius:7px;text-align:left;padding:13px 12px}.quick-links button:hover{border-color:#cbd6f7;background:#fafbff}.quick-links span{width:25px;height:25px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border-radius:6px;margin-bottom:11px;font-size:15px}.quick-links strong,.quick-links small{display:block}.quick-links strong{font-size:12px}.quick-links small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}.module-heading{margin-bottom:25px}.table-panel{overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid var(--line);gap:16px}.table-summary{display:flex;align-items:baseline;gap:8px}.table-summary strong{font-size:13px}.table-summary span{font-size:11px;color:var(--muted)}.table-controls{display:flex;gap:8px;align-items:center}.search-box{height:32px;min-width:220px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:7px;padding:0 9px;color:var(--subtle)}.search-box input{border:0;outline:0;width:100%;font-size:11px;color:var(--ink);background:transparent}.table-controls select,.drawer-form select,.grant-form select,.grant-form input{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:11px;padding:0 8px;outline:0}.table-controls select:focus,.drawer-form select:focus,.grant-form input:focus,.grant-form select:focus,.drawer-form input:focus,.drawer-form textarea:focus{border-color:#9bb0f5;box-shadow:0 0 0 3px var(--blue-soft)}.table-scroll{overflow-x:auto}.table-panel table{width:100%;border-collapse:collapse;min-width:850px}.table-panel th{padding:11px 16px;text-align:left;font-size:10px;letter-spacing:.3px;color:#9ca5b1;font-weight:650;background:#fbfbfc;border-bottom:1px solid var(--line);white-space:nowrap}.table-panel td{padding:12px 16px;border-bottom:1px solid #f0f2f5;font-size:12px;vertical-align:middle}.table-panel tbody tr{cursor:pointer}.table-panel tbody tr:hover{background:#fbfcff}.store-cell{display:flex;align-items:center;gap:9px;min-width:168px}.store-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:7px;background:#edf2ff;color:var(--blue);font-size:12px;font-weight:750;flex:none}.store-cell strong,.cell-stack strong{display:block;font-size:12px;font-weight:650}.store-cell small,.cell-stack small,.table-panel td>small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.type-label{color:#5c6674;font-size:11px}.status-chip,.access-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;font-size:10px;line-height:1}.status-chip.success{color:var(--green);background:var(--green-soft)}.status-chip.info{color:var(--blue);background:var(--blue-soft)}.status-chip.warning{color:var(--amber);background:var(--amber-soft)}.status-chip.muted{color:#687585;background:#f0f2f5}.status-chip.danger{color:var(--red);background:var(--red-soft)}.icon-button{width:25px;height:25px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--muted);font-size:18px;line-height:1}.icon-button:hover{border-color:#b9c9f8;color:var(--blue)}.empty-state{min-height:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;padding:20px}.empty-state strong{color:var(--ink);font-size:12px}.drawer-backdrop{position:fixed;inset:0;background:rgba(20,28,40,.23);opacity:0;pointer-events:none;transition:opacity .22s;z-index:8}.drawer-backdrop.visible{opacity:1;pointer-events:auto}.detail-drawer{position:fixed;top:0;right:0;bottom:0;width:min(470px,100%);background:#fff;z-index:9;box-shadow:-16px 0 45px rgba(23,32,46,.15);transform:translateX(100%);transition:transform .24s;display:flex;flex-direction:column}.detail-drawer.open{transform:translateX(0)}.drawer-header{padding:25px 25px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.drawer-header h2{font-size:24px;margin:0 0 6px}.drawer-header p{margin:0;color:var(--muted);font-size:11px}.close-button{width:30px;height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:21px;line-height:1}.drawer-scroll{overflow:auto;padding:0 25px 35px}.drawer-section{padding:21px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-title h3{font-size:12px;margin:0}.muted-label,.saved-note{font-size:10px;color:var(--muted)}.saved-note{color:var(--green)}.drawer-form{display:flex;flex-direction:column;gap:12px}.drawer-form label{color:var(--muted);font-size:10px;display:flex;flex-direction:column;gap:5px}.drawer-form input,.drawer-form textarea{border:1px solid var(--line);border-radius:6px;padding:9px 10px;color:var(--ink);outline:0;resize:vertical;background:#fff;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full-button{width:100%;margin-top:2px}.related-records{display:grid;gap:7px}.related-item{display:flex;align-items:center;gap:10px;background:#fafbfc;border:1px solid #edf0f3;border-radius:6px;padding:9px}.related-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:5px;background:#fff;color:var(--blue);font-weight:700}.related-item div{min-width:0}.related-item small,.related-item strong,.related-item em{display:block}.related-item small{color:var(--muted);font-size:10px}.related-item strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.related-item em{font-style:normal;color:var(--green);font-size:10px;margin-top:2px}.drawer-tasks{display:grid;gap:7px}.drawer-task{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:6px 8px;padding:9px 0;border-bottom:1px solid #f1f3f5}.drawer-task strong{font-size:11px;font-weight:600}.drawer-task small{grid-column:2;color:var(--muted);font-size:10px}.grant-list{display:grid;gap:6px;margin-bottom:12px}.grant-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f3f5}.grant-row strong,.grant-row small{display:block}.grant-row strong{font-size:11px}.grant-row small{font-size:10px;color:var(--muted);margin-top:3px}.access-pill{color:var(--blue);background:var(--blue-soft)}.grant-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.grant-form input,.grant-form select{width:100%}.grant-form button{grid-column:1/-1}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,15px);background:#1f2937;color:#fff;padding:10px 15px;border-radius:7px;font-size:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:all .2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.sidebar{width:205px}.page-wrap{padding:29px 24px 45px}.topbar{padding:0 24px}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.sidebar{width:64px;padding:18px 8px}.brand{padding:0 9px 22px}.brand>div,.workspace-switcher>div,.workspace-switcher .chevron,.nav-item:not(.active)::after,.nav-label,.sidebar-footer .user-card>div,.sidebar-footer .more,.reset-button{display:none}.workspace-switcher{justify-content:center;padding:11px 0}.workspace-dot{width:9px;height:9px}.nav-item{justify-content:center;padding:11px 0}.nav-icon{font-size:17px}.nav-count{position:absolute;margin:0 0 20px 24px;font-size:9px;padding:1px 4px}.user-card{justify-content:center;padding:0}.topbar{height:58px;padding:0 15px}.topbar-actions .help-button,.topbar-actions .top-divider{display:none}.page-wrap{padding:25px 15px 38px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px}.page-heading h1{font-size:25px}.page-heading .primary-button{width:100%}.metric-grid{gap:9px}.metric-card{padding:14px}.metric-value{font-size:24px}.metric-detail{font-size:10px}.quick-links{grid-template-columns:1fr}.table-toolbar{align-items:stretch;flex-direction:column}.table-controls{flex-direction:column;align-items:stretch}.search-box{min-width:0}.table-controls select{width:100%}.detail-drawer{width:100%}.drawer-header{padding:21px 18px 17px}.drawer-scroll{padding:0 18px 30px}}
.modal-shell{position:fixed;inset:0;background:rgba(20,28,40,.3);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:15}.modal-shell.open{opacity:1;pointer-events:auto}.modal-card{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 25px 80px rgba(23,32,46,.2)}.modal-header{display:flex;justify-content:space-between;gap:18px;padding:24px 25px 19px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:20px;margin:0 0 5px}.modal-header p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0;line-height:1.5}.record-form{padding:20px 25px 24px;display:flex;flex-direction:column;gap:13px}.record-form>label,.record-fields>label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.record-form input,.record-form select,.record-form textarea{border:1px solid var(--line);border-radius:6px;padding:9px 10px;outline:0;background:#fff;color:var(--ink);font-size:12px}.record-form input:focus,.record-form select:focus,.record-form textarea:focus{border-color:#9bb0f5;box-shadow:0 0 0 3px var(--blue-soft)}.record-fields{display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px;border-top:1px solid var(--line)}
@media(max-width:720px){.modal-shell{align-items:flex-end;padding:0}.modal-card{max-height:92vh;border-radius:10px 10px 0 0}.modal-header,.record-form{padding-left:18px;padding-right:18px}.record-form .form-grid{grid-template-columns:1fr}}
.asset-wide{grid-column:1 / -1;min-width:0}.record-form select{max-width:100%;min-width:0;width:100%}.related-item>div{min-width:0}.related-item strong,.related-item em{overflow-wrap:anywhere;white-space:normal}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.record-form label,.asset-form label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;color:var(--muted)}
.record-form input,.record-form select,.record-form textarea,.asset-form input,.asset-form select,.asset-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;font-size:13px;line-height:1.5}
.record-form input,.record-form select,.asset-form input,.asset-form select{min-height:40px}
.record-form textarea,.asset-form textarea{resize:vertical;overflow-wrap:anywhere;min-height:84px}
.record-form .form-grid>label{align-self:start}.record-form .field-help,.asset-choice-preview{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;white-space:normal}
.asset-choice-preview{padding:7px 10px;background:#f6f8ff;border-radius:6px}
.asset-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}
.asset-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}.asset-toolbar select{border:1px solid var(--line);border-radius:6px;padding:7px;background:white}
.asset-summary{flex:1;font-size:12px;color:var(--muted)}
.asset-table td{overflow-wrap:anywhere;max-width:280px}.asset-table th:last-child{width:170px}.asset-table td>strong{display:block;margin:5px 0}.asset-table td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.asset-number{font-family:ui-monospace,monospace;font-size:11px;font-weight:700;color:var(--blue);padding:3px 6px;background:var(--blue-soft);border-radius:4px;white-space:nowrap}
.asset-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.asset-actions button{white-space:nowrap}.asset-table tbody tr{cursor:default}
.asset-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}
button:disabled{opacity:.45;cursor:not-allowed}
.asset-dialog{border:0;padding:0;border-radius:12px;width:min(740px,calc(100vw - 32px));max-height:90vh;color:var(--ink);box-shadow:0 25px 80px #17202e33;overflow:auto}
.asset-dialog::backdrop{background:#141c284d}.asset-form-body{padding:22px 25px;display:flex;flex-direction:column;gap:18px}.asset-form .modal-actions{position:sticky;bottom:0;background:white;padding:16px 25px;z-index:1}
.asset-form input,.asset-form select,.asset-form textarea{border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:white;color:var(--ink);outline:0}
.asset-form input:focus,.asset-form select:focus,.asset-form textarea:focus{border-color:#9bb0f5;box-shadow:0 0 0 3px var(--blue-soft)}
.asset-form .span-all{grid-column:1/-1}.asset-form .checkbox-field{flex-direction:row;align-items:center}.asset-form .checkbox-field input{width:17px;min-height:17px}
.asset-context,.allocation-row{background:#f8faff;border:1px solid var(--line);border-radius:7px;padding:12px;overflow-wrap:anywhere;line-height:1.7}.asset-context small,.allocation-row small{display:block;color:var(--muted);font-size:11px}
.allocation-list{display:grid;gap:9px}.allocation-row label{margin-top:9px}.asset-form h2{font-size:19px;margin:0 0 8px}.form-error{color:#b42318;font-size:12px;line-height:1.6;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
[hidden]{display:none!important}
.record-form .modal-actions{position:sticky;bottom:-24px;background:white;z-index:1;padding:14px 0;margin-bottom:-10px}
.cell-stack strong{overflow-wrap:anywhere;max-width:260px}.record-form .form-error:empty{display:none}
@media(max-width:720px){.record-form .form-grid,.asset-form .form-grid{grid-template-columns:minmax(0,1fr)}.asset-dialog{width:calc(100vw - 16px);max-height:94vh}.asset-form-body{padding:18px}.asset-toolbar{align-items:stretch}.asset-toolbar label{flex-wrap:wrap}.asset-summary{flex-basis:100%}.asset-toolbar button{width:100%}}
