:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#263246;background:#f5f7fb;font-synthesis:none;--blue:#5267df;--blue-light:#eef0ff;--muted:#8b95a7;--line:#eaf0f5;--red:#cf665d;--green:#43957e}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b4bff7;outline-offset:2px}svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:white;border-right:1px solid var(--line);padding:31px 17px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 9px}.brand-mark{width:36px;height:38px;border-radius:10px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:750;font-style:italic;box-shadow:0 4px 12px #5267df25}.brand strong{font-size:20px;letter-spacing:.4px}.brand small{display:block;font-size:9px;color:#a2abba;margin-top:5px;letter-spacing:.7px}.workspace-label{font-size:10px;color:#a1abbb;margin:44px 17px 13px}.nav-item{display:flex;gap:13px;align-items:center;padding:13px 16px;border-radius:7px;font-size:12px;margin:4px 0;color:#7b879b;border:0;background:transparent;width:100%;text-align:left}.nav-item.active{background:var(--blue-light);color:var(--blue);font-weight:600}.nav-item:hover{background:#f3f5fb}.nav-item .nav-badge{margin-left:auto;font-size:10px;padding:2px 6px;border-radius:4px;background:#e3e7fd}.nav-separator{height:1px;background:var(--line);margin:22px 15px}.sidebar-bottom{margin-top:auto}.environment{background:#f8f9fd;border:1px solid #edf0f7;border-radius:7px;display:flex;gap:8px;align-items:flex-start;margin:25px 6px 19px;padding:13px 10px;font-size:10px;color:#77869a}.environment>span{height:6px;width:6px;border-radius:50%;background:#e1ac61;margin-top:3px}.environment small{display:block;font-size:9px;margin-top:5px;color:#a2acbc}.profile{display:flex;gap:10px;align-items:center;padding:14px 8px 0;border:0;border-top:1px solid var(--line);width:100%;text-align:left;background:white}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f0ecfa;color:#9181b6;font-size:12px;flex-shrink:0}.profile strong{font-size:11px;font-weight:600}.profile small{display:block;font-size:9px;color:#98a3b5;margin-top:4px}.profile-more{margin-left:auto;color:#a4adbd}.main-wrap{margin-left:226px}.topbar{height:72px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:15px}.breadcrumb{font-size:11px;color:#95a0b1;white-space:nowrap}.breadcrumb span{margin:0 13px;color:#c9d0db}.breadcrumb strong{font-weight:400;color:#637085}.topbar-right{display:flex;align-items:center;gap:20px}.scope-label{font-size:10px;color:#a6afbe}.icon-button{border:0;background:transparent;padding:6px;color:#8b96a8;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.icon-button:hover{background:#f0f3fa;color:var(--blue)}main{max-width:1660px;margin:0 auto;padding:31px 35px 40px}.page-title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}h1{font-size:25px;margin:0;font-weight:650;letter-spacing:.2px}h2{font-size:15px;font-weight:600;margin:0}h3{font-size:13px;margin:0;font-weight:600}.page-subtitle{font-size:11px;color:#98a3b4;line-height:1.8;margin:9px 0 0}.page-actions{display:flex;gap:9px;align-items:center}.button{border:1px solid #e3e8f0;border-radius:6px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;background:white;white-space:nowrap;min-height:37px}.button svg{width:15px;height:15px}.primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 6px #5267df12}.primary:hover{background:#4358ce}.secondary:hover{background:#f8f9fc}.text-button{border:0;background:none;color:var(--blue);font-size:11px;padding:5px;display:inline-flex;align-items:center;gap:5px}.text-button svg{width:14px;height:14px}.danger{color:var(--red)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:21px 23px;position:relative;overflow:hidden}.stat-heading{display:flex;align-items:center;justify-content:space-between;color:#8c98ab;font-size:11px}.stat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:7px;background:#f0f2ff;color:#8390df}.stat:nth-child(2) .stat-icon{background:#edf7f5;color:#7caf9c}.stat:nth-child(3) .stat-icon{background:#fff5eb;color:#d7ae77}.stat:nth-child(4) .stat-icon{background:#f3effb;color:#b298d0}.stat-value{font-size:29px;font-weight:650;margin:11px 0 9px;letter-spacing:-.5px}.stat-value small{font-size:12px;font-weight:400;color:#98a1b1;margin-left:5px}.stat-note{font-size:10px;color:#a4afbd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0}.panel-title{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-title p{font-size:10px;color:#a4afbe;margin:6px 0 0}.panel-title .muted{font-size:10px}.pipeline{padding:3px 24px 21px}.stage-row{display:grid;grid-template-columns:65px 1fr 65px;align-items:center;gap:14px;margin:19px 0;font-size:11px;color:#8794a6}.stage-track{height:20px;background:#f4f6fb;border-radius:3px;overflow:hidden}.stage-fill{height:100%;border-radius:3px;background:#9eaaf0;min-width:0;transition:width .4s}.stage-row:nth-child(2) .stage-fill{background:#8b9be9}.stage-row:nth-child(3) .stage-fill{background:#7d8ee4}.stage-row:nth-child(4) .stage-fill{background:#667adb}.stage-row:nth-child(5) .stage-fill{background:#5267cf}.stage-end{text-align:right;font-size:10px}.pipeline-footer{display:flex;gap:24px;padding:17px 24px;background:#fcfcff;border-top:1px solid var(--line);font-size:10px;color:#97a3b6;border-radius:0 0 8px 8px}.pipeline-footer strong{font-size:13px;color:#6b7dc8;margin-left:7px;font-weight:600}.agenda-list{padding:0 22px 8px;max-height:338px;overflow:auto}.agenda-item{padding:15px 0;border-top:1px solid #f0f3f8;display:flex;gap:11px}.agenda-mark{height:29px;min-width:29px;border:1px solid #ebedf7;border-radius:7px;display:grid;place-items:center;color:#939fc9}.agenda-mark svg{height:15px;width:15px}.agenda-body{flex:1;min-width:0}.agenda-title{font-size:11px;color:#586981;line-height:1.7;cursor:pointer;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-title:hover{color:var(--blue)}.agenda-meta{display:flex;align-items:center;gap:7px;margin-top:6px;color:#9da8b9;font-size:9px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:4px;font-size:10px;white-space:nowrap;background:#f2f4f8;color:#8995a9;line-height:1.3}.badge.blue{color:#6d7ed3;background:#eef0fc}.badge.green{color:#5b9a86;background:#eef7f2}.badge.orange{color:#bf955d;background:#fff5e9}.badge.red{color:#c47c74;background:#fdf0ee}.badge.purple{color:#9a84b8;background:#f4effa}.recent-panel{margin-top:23px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{color:#9ca7b9;font-size:10px;font-weight:400;padding:14px 23px;background:#fafbfd;white-space:nowrap;border-block:1px solid #f0f3f8}td{padding:17px 23px;border-bottom:1px solid #f0f3f8;color:#7e8ba1}tr.record-row{cursor:pointer}tr.record-row:hover{background:#fafbff}.record-title{color:#455873;font-size:12px;font-weight:500;line-height:1.6;display:block}.record-code{display:block;color:#aab3c1;font-size:9px;margin-top:5px;font-family:Consolas,monospace}.money{font-family:Inter,"Segoe UI",sans-serif;color:#586983;font-weight:500;white-space:nowrap}.muted{color:#a2adbd}.mini-avatar{width:22px;height:22px;background:#f0f2fc;border-radius:50%;display:inline-grid;place-items:center;color:#8796be;font-size:9px;margin-right:6px;vertical-align:middle}.link-chips{display:flex;gap:4px;flex-wrap:wrap}.mini-link{border-radius:4px;color:#8a97b1;background:#f5f7fb;padding:3px 6px;font-size:9px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-footer{padding:15px 23px;font-size:10px;color:#aab3c2;display:flex;align-items:center;justify-content:space-between}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 19px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.search{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #e5eaf3;background:#fff;border-radius:6px;width:245px;color:#a4afc0}.search svg{width:15px;height:15px}.search input{border:0;outline:0!important;width:100%;font-size:11px;color:#63738c;background:transparent;min-width:0}.search input::placeholder{color:#adb7c7}.filter-select{background:#fff;border:1px solid #e5eaf3;border-radius:6px;font-size:11px;color:#8491a6;padding:9px 10px;max-width:170px;min-height:35px}.view-toggle{display:flex;border:1px solid #e5eaf3;background:#fff;padding:3px;border-radius:6px}.view-toggle button{border:0;background:transparent;padding:5px 8px;display:flex;color:#a4afc0;border-radius:4px}.view-toggle button svg{height:15px;width:15px}.view-toggle button.active{background:var(--blue-light);color:var(--blue)}.archive-check{font-size:10px;color:#99a5b9;display:flex;align-items:center;gap:6px}.archive-check input{accent-color:var(--blue)}.list-mobile{display:none}.pagination{display:flex;gap:8px;align-items:center}.pagination button{border:1px solid var(--line);background:white;padding:4px 8px;border-radius:4px;font-size:11px}.kanban{display:flex;gap:13px;overflow-x:auto;padding-bottom:14px;min-height:450px}.kanban-column{background:#edf0f7;min-width:230px;flex:1;border-radius:8px;padding:13px}.kanban-heading{display:flex;justify-content:space-between;font-size:11px;color:#8290a6;padding:5px 2px 13px}.kanban-card{border:1px solid #e5eaf2;border-radius:7px;background:#fff;padding:16px;margin-bottom:10px;cursor:pointer;box-shadow:0 2px 4px #32395003}.kanban-card:hover{border-color:#b4bff0}.kanban-card .money{display:block;margin:14px 0;font-size:15px}.kanban-card .record-title{font-size:12px}.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a2acbc;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.empty{text-align:center;color:#a2adbf;padding:45px 20px;line-height:1.9;font-size:12px}.empty svg{display:block;margin:0 auto 13px;width:31px;height:31px;color:#c5cede}.empty .button{margin:15px auto 0}.mobile-nav{display:none}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.team-card{padding:22px;background:white;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:13px}.team-card h3{font-size:12px}.team-card p{font-size:10px;color:#a1adbf;margin:7px 0 0}.info-strip{background:#eef1ff;color:#8190ba;padding:13px 17px;border:1px solid #e5e9fe;border-radius:6px;font-size:11px;line-height:1.8;margin-bottom:23px}dialog{padding:0;border:1px solid #e5eaf3;border-radius:12px;box-shadow:0 15px 70px #25304a22;color:#34425a}dialog::backdrop{background:#18233c55;backdrop-filter:blur(2px)}.drawer{height:100dvh;max-height:100dvh;margin:0 0 0 auto;width:740px;max-width:100vw;border-radius:12px 0 0 12px;border:0;overflow:auto}.drawer-header{padding:29px 30px 0;position:sticky;top:0;background:#fff;z-index:2}.drawer-topline{display:flex;align-items:center;justify-content:space-between;color:#a8b1c0;font-size:10px;margin-bottom:18px}.drawer-title{display:flex;align-items:flex-start;gap:14px}.drawer-title h2{font-size:23px;line-height:1.6}.drawer-title .badge{margin-top:7px;flex-shrink:0}.drawer-meta{display:flex;gap:19px;align-items:center;color:#9ca8bb;font-size:10px;margin-top:14px}.drawer-actions{display:flex;gap:9px;margin:23px 0}.drawer-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-top:22px;overflow:auto}.drawer-tabs button{border:0;background:none;font-size:11px;padding:13px 0;color:#9ca8b9;white-space:nowrap;border-bottom:2px solid transparent}.drawer-tabs button.active{border-color:var(--blue);color:var(--blue)}.drawer-body{padding:27px 30px 40px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.detail-field dt{font-size:10px;color:#a1adbe;margin-bottom:9px}.detail-field dd{margin:0;font-size:12px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap;color:#5e6e85}.detail-field.full{grid-column:1/-1}.detail-section-title{font-size:12px;color:#5c6e87;margin:29px 0 17px;padding-top:25px;border-top:1px solid var(--line)}.detail-note{font-size:12px;line-height:1.9;color:#8a98ad;white-space:pre-wrap;overflow-wrap:anywhere}.relation-section{margin-bottom:26px}.relation-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.relation-heading h3{font-size:12px}.related-card{padding:14px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;display:flex;align-items:center;gap:12px}.related-card>button:first-child{flex:1;text-align:left;background:none;border:0;min-width:0}.related-card .record-title{font-size:12px}.timeline-item{padding:0 0 23px 26px;border-left:1px solid #e7ebf4;position:relative;margin-left:5px}.timeline-item::before{content:"";position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:#8a9be8;border:2px solid #fff;box-sizing:content-box}.timeline-meta{font-size:10px;color:#a4aebe;margin-bottom:10px;display:flex;gap:12px}.timeline-content{background:#f8f9fd;border:1px solid #edf0f7;border-radius:6px;padding:15px;font-size:12px;line-height:1.9;color:#7889a2;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}.audit-item{padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;color:#8593a9;line-height:1.9}.audit-item small{font-size:9px;color:#aab4c5;display:block}.editor-dialog{width:750px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 50px)}.modal-header{padding:24px 27px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:white;position:sticky;top:0;z-index:3}.overline{display:block;font-size:9px;letter-spacing:1.6px;color:#9ca8be;margin-bottom:9px}.modal-header h2{font-size:18px}.form-body{padding:25px 27px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field label{font-size:11px;color:#8c99ae}.form-field input,.form-field select,.form-field textarea,.link-search input{border:1px solid #e1e7f0;border-radius:6px;background:#fff;padding:10px 12px;font-size:12px;color:#62748e;min-width:0;width:100%;line-height:1.5}.form-field textarea{resize:vertical;min-height:120px}.form-field input::placeholder,.form-field textarea::placeholder{color:#b4bdcb}.form-field.full{grid-column:1/-1}.form-help{font-size:10px;color:#a7b2c2;line-height:1.7}.form-heading{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:5px;font-size:12px;color:#7c8ca4}.form-heading:first-child{border:0;padding-top:0}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:17px 27px;position:sticky;bottom:0;background:#fff;z-index:3}.modal-footer>span{font-size:10px;color:#a9b3c4}.modal-footer>div{display:flex;gap:8px}.form-error{padding:13px 27px;background:#fff1ef;color:#c4766a;font-size:12px;position:sticky;top:94px;z-index:4;line-height:1.8}.person-options,.editor-link-options{display:flex;flex-wrap:wrap;gap:8px}.choice-chip{display:flex;align-items:center;gap:6px;border:1px solid #e5eaf3;padding:8px 10px;border-radius:5px;font-size:10px;color:#8c9ab1;cursor:pointer}.choice-chip:has(input:checked){border-color:#b5c0f3;background:#f4f6ff;color:#7386d3}.choice-chip input{width:12px;height:12px;accent-color:var(--blue);margin:0}.editor-link-select{max-height:180px;overflow:auto;display:flex;flex-wrap:wrap;gap:7px}.links-dialog{width:560px;max-width:calc(100vw - 28px);max-height:85dvh}.link-search{padding:17px 24px}.link-results{overflow:auto;max-height:48dvh;padding:0 24px 16px;min-height:120px}.link-option{padding:13px 9px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;font-size:11px;color:#7e8da5;cursor:pointer}.link-option input{accent-color:var(--blue)}.link-option small{display:block;font-size:9px;color:#b0b9c8;margin-top:6px}.confirm-dialog{width:380px;max-width:calc(100vw - 32px);padding:27px}.confirm-dialog h2{font-size:17px}.confirm-dialog p{font-size:12px;color:#929eb1;line-height:1.9;margin:16px 0 25px}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#34425c;color:#fff;padding:13px 22px;border-radius:7px;box-shadow:0 5px 25px #23304625;font-size:12px;z-index:9999;max-width:90vw;line-height:1.7}.loading{padding:100px 20px;text-align:center;color:#a5afbf;font-size:12px}.loading::before{content:"";display:block;width:25px;height:25px;border:2px solid #e0e6f7;border-top-color:#7688da;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-footnote{font-size:10px;color:#aeb7c5;text-align:center;margin-top:25px;line-height:1.8}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.15fr 1fr;background:#fff}.login-intro{padding:55px 11%;background:linear-gradient(145deg,#edf0fc,#f7f9ff);display:flex;flex-direction:column;justify-content:center}.login-intro .brand{padding:0;margin-bottom:80px}.login-intro h1{font-size:42px;line-height:1.6;letter-spacing:1px;color:#475d86}.login-intro>.overline{color:#9fadd0;font-size:9px}.login-intro>p{color:#a0abc2;font-size:12px;line-height:2.1;margin-top:23px}.login-art{display:flex;gap:13px;margin:50px 0}.art-box{background:#ffffffbb;padding:20px 16px;border:1px solid #e3e8fa;border-radius:9px;font-size:12px;color:#8797c2;flex:1}.art-box span{display:block;font-size:9px;color:#b4bed2;margin-top:10px}.login-card{align-self:center;margin:60px auto;width:340px;max-width:calc(100% - 50px)}.login-card h2{font-size:23px;margin-top:14px}.login-card p{font-size:12px;line-height:1.9;color:#a0acbd;margin:18px 0 30px}.login-user{display:flex;align-items:center;gap:13px;width:100%;padding:16px;border:1px solid #e5eaf5;background:white;border-radius:8px;margin:12px 0;text-align:left}.login-user:hover{border-color:#9aacec;background:#fafbff}.login-user strong{font-size:13px;font-weight:500}.login-user small{display:block;font-size:10px;color:#a3aec1;margin-top:5px}.login-user>svg{margin-left:auto;color:#aeb9ce;width:16px}.login-foot{font-size:10px;color:#b1bac9;line-height:1.9;margin-top:35px}.login-button{display:flex;width:100%;margin:15px 0;padding:13px}[hidden]{display:none!important}@media(min-width:1600px){main{padding:38px 45px}.dashboard-grid{grid-template-columns:1.8fr 1fr}.stat{padding:24px 27px}}@media(max-width:1200px){.sidebar{width:196px;padding-inline:12px}.main-wrap{margin-left:196px}main{padding:27px 24px}.topbar{padding:0 24px}.stat{padding:18px}.stats{gap:12px}.dashboard-grid{grid-template-columns:1.45fr 1fr;gap:16px}td,th{padding:15px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.scope-label{display:none}.sidebar{width:176px}.main-wrap{margin-left:176px}.brand strong{font-size:17px}.brand{gap:8px}.brand small{font-size:8px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .agenda-list{max-height:260px}.nav-item{padding-inline:12px;font-size:11px}.login-intro{padding:45px 9%}.login-intro h1{font-size:32px}.art-box{padding:17px 10px}.login-art{gap:8px}.login-card{width:300px}}@media(max-width:680px){.sidebar{display:none}.main-wrap{margin-left:0}.topbar{height:57px;padding:0 18px}.breadcrumb{font-size:10px}.breadcrumb::before{content:"L";display:inline-grid;place-items:center;background:var(--blue);color:#fff;width:24px;height:25px;border-radius:6px;margin-right:10px;font-weight:750;font-size:17px;font-style:italic}.breadcrumb span{margin:0 9px}main{padding:24px 16px 100px}.page-title-row{align-items:flex-start;gap:10px;margin-bottom:22px}h1{font-size:22px}.page-subtitle{font-size:10px;max-width:210px}.page-actions .button{padding:9px 11px;font-size:10px}.page-actions .secondary{display:none}.stats{gap:10px;margin-bottom:17px}.stat{padding:15px}.stat-heading{font-size:10px}.stat-icon{width:25px;height:25px}.stat-icon svg{width:15px;height:15px}.stat-value{font-size:25px;margin:12px 0 9px}.stat-value small{font-size:10px}.stat-note{font-size:9px;line-height:1.6}.panel-title{padding:18px}.panel-title h2{font-size:13px}.pipeline{padding:0 18px 15px}.stage-row{grid-template-columns:59px 1fr 58px;gap:10px;font-size:10px;margin:17px 0}.stage-track{height:17px}.pipeline-footer{padding:15px 18px;gap:15px;flex-wrap:wrap;font-size:9px}.pipeline-footer strong{font-size:12px}.dashboard-grid{gap:17px}.agenda-list{padding:0 18px 8px}.recent-panel{margin-top:17px}.table-wrap{display:none}.list-mobile{display:block}.mobile-card{padding:18px;border-bottom:1px solid var(--line);cursor:pointer}.mobile-card:active{background:#f7f9ff}.mobile-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mobile-card .record-title{font-size:12px}.mobile-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#a3afc1;margin-top:17px}.mobile-card .money{font-size:15px}.mobile-card .link-chips{margin-top:12px}.mobile-card p{font-size:11px;line-height:1.8;color:#99a7ba;margin:13px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.toolbar{gap:12px}.toolbar-left{width:100%}.search{width:100%;padding:11px 13px}.toolbar-right{width:100%;justify-content:space-between}.filter-select{padding:9px;font-size:10px;max-width:150px}.archive-check{font-size:9px}.panel-footer{padding:15px 18px;font-size:9px}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;height:calc(63px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e9edf5;background:#ffffffed;backdrop-filter:blur(12px);z-index:30;justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#a0acc0;font-size:9px;flex:1}.mobile-nav a.active{color:var(--blue)}.mobile-nav svg{height:20px;width:20px}.mobile-nav a.active::before{content:"";width:24px;height:2px;background:var(--blue);position:absolute;top:0;border-radius:2px}.drawer{border-radius:0;width:100vw}.drawer-header{padding:22px 19px 0}.drawer-title h2{font-size:20px}.drawer-body{padding:23px 19px 35px}.drawer-meta{gap:12px;flex-wrap:wrap}.drawer-tabs{gap:24px}.drawer-actions{flex-wrap:wrap;gap:7px}.detail-grid{gap:22px 18px}.detail-field dd{font-size:11px}.editor-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.modal-header{padding:20px}.modal-header h2{font-size:18px}.form-body{padding:22px 20px;grid-template-columns:1fr;gap:19px}.form-heading,.form-field.full{grid-column:auto}.form-field input,.form-field select,.form-field textarea{font-size:16px}.modal-footer{padding:15px 20px calc(15px + env(safe-area-inset-bottom))}.modal-footer .button{padding:11px 16px}.form-error{top:86px;padding:13px 20px}.links-dialog{max-height:90dvh;width:calc(100vw - 24px)}.link-search{padding:17px 20px}.link-results{padding:0 15px 15px}.link-search input{font-size:16px}.toast{bottom:85px;font-size:11px}.team-grid{grid-template-columns:1fr;gap:10px}.team-card{padding:18px}.kanban-column{min-width:245px}.login-page{display:flex;flex-direction:column;min-height:100dvh;background:linear-gradient(#edf1fc 0,#fff 45%)}.login-intro{padding:30px 28px 0;background:none}.login-intro .brand{margin-bottom:35px}.login-intro>.overline{font-size:8px}.login-intro h1{font-size:27px;line-height:1.5}.login-intro>p{display:none}.login-art{display:none}.login-card{margin:35px auto;max-width:calc(100% - 56px);width:100%}.login-card h2{font-size:20px}.login-card>.overline{display:none}.login-card p{font-size:11px;margin:14px 0 22px}.login-foot{margin-top:25px}}
:root{--body-ink:#65748b}.nav-item{font-size:13px}.page-subtitle{font-size:12px;color:#8795a9}.stat-heading{font-size:12px}.stat-note{color:#8b98ac}.record-title{font-size:13px}.record-code{font-size:10px;color:#929fb3}td{font-size:12px;color:#74839b}th{font-size:11px;color:#8c9ab0}.agenda-title{font-size:12px}.badge{font-size:11px}.form-field label{font-size:12px;color:#7f8fa7}.form-help{color:#909fb5}.detail-field dt{font-size:11px;color:#8e9db3}.detail-field dd{font-size:13px}.drawer-tabs button{font-size:12px}.drawer-meta{font-size:11px}.timeline-content{font-size:13px}.agenda-meta{font-size:10px}.stage-row{font-size:12px}.scope-label{color:#8b9ab0}.info-strip{font-size:12px}
@media(max-width:680px){.page-subtitle{font-size:11px}.stat-heading{font-size:11px}.stat-note{font-size:10px}.mobile-card .record-title{font-size:14px}.mobile-card-meta{font-size:11px}.mobile-card p{font-size:12px}.mini-link{font-size:10px}.badge{font-size:11px}.icon-button{min-height:40px;min-width:40px}.page-actions .button,.modal-footer .button{min-height:44px}.filter-select{font-size:12px}.form-field label{font-size:12px}.form-help{font-size:11px}.choice-chip{font-size:12px;min-height:40px}.detail-field dd{font-size:12px}.drawer-tabs button{font-size:12px}.stage-row{font-size:11px}.agenda-title{font-size:12px}.agenda-meta{font-size:10px}.drawer-actions .button{min-height:42px}}

.team-person{width:100%;min-width:0}.team-person-top{display:flex;align-items:center;gap:12px}.team-person-top .badge{margin-left:auto}.team-person-actions{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:13px;margin-top:17px;flex-wrap:wrap}.team-person-actions .text-button{font-size:10px}.team-card .team-person p{overflow-wrap:anywhere}
.topbar{position:sticky;top:0;z-index:40;flex-shrink:0}
.workspace-page{height:calc(100dvh - 72px);display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-top:24px;padding-bottom:24px}
.workspace-page>.page-title-row,.workspace-page>.stats,.workspace-page>.toolbar,.workspace-page>.info-strip{flex-shrink:0}
.workspace-page>.page-title-row{margin-bottom:18px}
.dashboard-page>.stats{margin-bottom:18px}
.dashboard-page .stat{padding:15px 20px}
.dashboard-page .stat-value{margin:8px 0;font-size:27px}
.dashboard-workspace{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.workspace-tabs{display:flex;align-items:stretch;gap:24px;padding:0 24px;border-bottom:1px solid var(--line);flex-shrink:0;overflow-x:auto;scrollbar-width:thin}
.workspace-tabs>[role=tab]{display:flex;align-items:center;gap:7px;padding:16px 0 14px;background:none;border:0;border-bottom:2px solid transparent;font-size:12px;color:#93a0b5;white-space:nowrap}
.workspace-tabs>[role=tab].active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.workspace-tab-count{font-size:10px;color:#95a1ba;background:#f0f3f9;border-radius:4px;padding:2px 5px;font-weight:400}
.workspace-tabs>[role=tab].active .workspace-tab-count{color:#7e8fd8;background:#edf0fe}
.workspace-tab-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.dashboard-workspace .panel-title{padding:17px 24px}
.dashboard-workspace .pipeline{padding:0 24px 10px;max-width:1100px}
.dashboard-workspace .stage-row{margin:13px 0;grid-template-columns:75px 1fr 65px}
.dashboard-workspace .stage-track{height:18px}
.dashboard-workspace .pipeline-footer{padding:13px 24px;border-radius:0}
.dashboard-note{font-size:10px;color:#a2adbf;line-height:1.8;margin:12px 24px 16px}
.dashboard-workspace .dashboard-agenda{max-height:none;overflow:visible;padding-bottom:8px}
.dashboard-workspace .table-wrap{overflow:visible}
.workspace-page #list-body{flex:1;min-height:0;overflow:hidden}
.workspace-page #list-body>.panel{height:100%;display:flex;flex-direction:column;overflow:hidden}
.workspace-page #list-body .table-wrap{flex:1;min-height:0;overflow:auto}
.workspace-page #list-body .panel-footer{flex-shrink:0;border-top:1px solid var(--line)}
.workspace-page #list-body th{position:sticky;top:0;z-index:1}
.workspace-page #list-body .kanban{height:100%;min-height:0;overflow:auto;align-items:stretch}
.workspace-page #list-body .kanban-column{overflow-y:auto}
.workspace-page>.team-grid{min-height:0;overflow:auto;align-content:start}
@media(max-width:950px) and (min-width:681px){.dashboard-page>.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dashboard-page .stat{padding:12px}.dashboard-page .stat-heading{font-size:10px}.dashboard-page .stat-icon{display:none}.dashboard-page .stat-value{font-size:22px}.dashboard-page .stat-note{font-size:9px}}
@media(max-width:680px){
 .topbar{height:57px}
 .workspace-page{height:calc(100dvh - 120px - env(safe-area-inset-bottom));padding:16px 14px}
 .workspace-page>.page-title-row{margin-bottom:13px}
 .workspace-page>.page-title-row h1{font-size:20px}
 .workspace-page>.page-title-row .page-subtitle{font-size:10px;margin-top:5px;max-width:200px}
 .dashboard-page>.stats{gap:8px;margin-bottom:13px}
 .dashboard-page .stat{padding:10px 12px}
 .dashboard-page .stat-heading{font-size:10px}
 .dashboard-page .stat-icon{width:21px;height:21px}
 .dashboard-page .stat-icon svg{width:13px;height:13px}
 .dashboard-page .stat-value{font-size:23px;margin:6px 0}
 .dashboard-page .stat-note{font-size:9px;line-height:1.5}
 .workspace-tabs{padding:0 14px;gap:20px}
 .workspace-tabs>[role=tab]{font-size:11px;padding:13px 0 11px;min-height:44px;gap:5px}
 .workspace-tab-count{font-size:9px;padding:2px 4px}
 .dashboard-workspace .panel-title{padding:14px 15px}
 .dashboard-workspace .panel-title h2{font-size:12px}
 .dashboard-workspace .panel-title p{font-size:9px;line-height:1.7;max-width:215px}
 .dashboard-workspace .panel-title .text-button{font-size:10px}
 .dashboard-workspace .pipeline{padding:0 15px 8px}
 .dashboard-workspace .stage-row{grid-template-columns:59px 1fr 42px;gap:9px;margin:11px 0;font-size:10px}
 .dashboard-workspace .stage-track{height:15px}
 .dashboard-workspace .pipeline-footer{padding:11px 15px;gap:15px;font-size:9px}
 .dashboard-workspace .pipeline-footer strong{font-size:11px}
 .dashboard-note{margin:10px 15px;font-size:9px}
 .dashboard-workspace .agenda-list{padding-inline:15px}
 .dashboard-workspace .agenda-item{padding-block:12px}
 .workspace-page #list-body .list-mobile{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
 .workspace-page>.toolbar{margin-bottom:13px;gap:9px}
 .workspace-page .panel-footer{padding:12px 15px}
 .workspace-page>.info-strip{font-size:11px;margin-bottom:15px}
}
@media(max-height:600px){.workspace-page{overflow:auto}.dashboard-workspace{flex:none;min-height:260px}.dashboard-page .stat-note{display:none}.workspace-page #list-body{flex:none;min-height:220px}.workspace-page #list-body>.panel{max-height:500px}.workspace-page #list-body .kanban{max-height:400px}}
@media(max-width:680px) and (max-height:740px){
 .dashboard-page>.page-title-row .page-subtitle,.dashboard-page .stat-note,.dashboard-page .stat-icon{display:none}
 .dashboard-page .stat{padding:9px 12px}
 .dashboard-page .stat-heading{line-height:1.5}
 .dashboard-page .stat-value{font-size:22px;margin:5px 0 0}
 .dashboard-workspace .stage-row{margin:9px 0}
 .dashboard-workspace .panel-title{padding:12px 15px}
 .dashboard-workspace .pipeline-footer{padding:9px 15px}
}
/* Fluid controls and consistent, visible custom scrollbars. */
*{scrollbar-width:thin;scrollbar-color:#bcc7dd #f3f6fb}
::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#f3f6fb;border-radius:9px}::-webkit-scrollbar-thumb{background:#bcc7dd;border-radius:9px;border:2px solid #f3f6fb}::-webkit-scrollbar-thumb:hover{background:#8598be}
button,a,.stat,.kanban-card,.mobile-card,.choice-chip{transition:background-color .18s,color .18s,box-shadow .18s,transform .18s,border-color .18s}
button:not(:disabled):active,.button:active{transform:scale(.97)}
.button:hover{box-shadow:0 4px 12px #6379ed20;transform:translateY(-1px)}
.stat:hover,.kanban-card:hover,.mobile-card:hover{box-shadow:0 6px 22px #293f7010}
.nav-item:hover{transform:translateX(2px)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #6379ed;outline-offset:3px}
.workspace-tab-content>*{animation:content-arrive .22s ease-out}
dialog[open]{animation:dialog-arrive .24s ease-out}dialog[open]::backdrop{animation:backdrop-arrive .22s ease-out}
dialog.drawer[open]{animation:drawer-arrive .28s cubic-bezier(.2,.7,.3,1)}
@keyframes content-arrive{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes drawer-arrive{from{opacity:.4;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
.charts-content{display:flex;overflow:hidden;scrollbar-gutter:auto}
.analytics{display:flex;flex-direction:column;width:100%;min-height:0;padding:14px 20px 10px;gap:10px}
.analytics-tabs{display:flex;gap:6px;overflow-x:auto;flex-shrink:0;padding:2px}
.analytics-tabs button{border:0;background:transparent;border-radius:7px;padding:8px 12px;white-space:nowrap;font-size:12px;color:#7f8ba4}
.analytics-tabs button:hover{background:#f3f5fc}.analytics-tabs button.active{background:#edf0ff;color:#5369d5;font-weight:600}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-height:0}
.chart-card{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid #edf0f7;border-radius:10px;padding:14px 12px 8px;position:relative;background:#fff}
.chart-heading{display:flex;justify-content:space-between;gap:8px;flex-shrink:0}.chart-heading h3{font-size:12px;font-weight:600;color:#4b5b77;margin:0}.chart-heading>span{font-size:10px;color:#8997b0;white-space:nowrap}
.chart-canvas{flex:1;min-height:100px;width:100%}.chart-caption,.chart-note{font-size:10px;color:#94a0b6;margin:5px 0 0;line-height:1.5;flex-shrink:0}.chart-note{margin:0}
.chart-data{font-size:10px;color:#8090a9;flex-shrink:0}.chart-data summary{cursor:pointer;width:fit-content;padding:4px 0}.chart-data[open]{position:absolute;z-index:5;inset:40px 10px 10px;padding:10px;background:#f8faff;overflow:auto;border:1px solid #e6ebf5;border-radius:8px}.chart-data li{margin:8px 0;line-height:1.6}
.chart-switcher{display:none}.toolbar-left{min-width:0}.toolbar-left>.button{max-width:290px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
@media(max-width:680px){.analytics{padding:8px 10px;gap:6px}.analytics-tabs{gap:0}.analytics-tabs button{font-size:10px;padding:7px 9px}.chart-switcher{display:flex;gap:6px;flex-shrink:0}.chart-switcher .button{font-size:9px;padding:6px 8px;min-height:30px;flex:1}.chart-grid{grid-template-columns:1fr;gap:0}.chart-card{grid-area:1 / 1;visibility:hidden;pointer-events:none;padding:10px 8px 5px}.chart-card.mobile-selected{visibility:visible;pointer-events:auto}.chart-heading h3{font-size:11px}.chart-caption,.chart-note{font-size:9px}.chart-data{font-size:9px}.chart-canvas{min-height:90px}.toolbar-left{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:680px){.chart-heading,.chart-caption{display:none}.chart-card{padding:6px 6px 3px}.chart-data summary{padding:2px 0}.analytics{gap:5px}.chart-canvas{min-height:100px}}
