@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-vietnamese-400-normal-DoLa7jNB.woff2) format("woff2"),url(/assets/lexend-vietnamese-400-normal-mPlHoWg5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-ext-400-normal-D38JI5AK.woff2) format("woff2"),url(/assets/lexend-latin-ext-400-normal-D9P7pMo-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-400-normal-CwRJVcUA.woff2) format("woff2"),url(/assets/lexend-latin-400-normal-CHypAkT3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-vietnamese-500-normal-Bos7Oy9U.woff2) format("woff2"),url(/assets/lexend-vietnamese-500-normal-EFAPmUTE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-ext-500-normal-Bo17xs96.woff2) format("woff2"),url(/assets/lexend-latin-ext-500-normal-DbCmXT_D.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-latin-500-normal-Dl-X5nog.woff2) format("woff2"),url(/assets/lexend-latin-500-normal-D9x1QWTH.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-vietnamese-700-normal-BrGlFDtO.woff2) format("woff2"),url(/assets/lexend-vietnamese-700-normal-NEp7hM5T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-ext-700-normal-CcWyeg4T.woff2) format("woff2"),url(/assets/lexend-latin-ext-700-normal-iR1cPiNX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2) format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-vietnamese-800-normal-B27Hd6aN.woff2) format("woff2"),url(/assets/lexend-vietnamese-800-normal-DLOhWP8n.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-latin-ext-800-normal-B0JWHALI.woff2) format("woff2"),url(/assets/lexend-latin-ext-800-normal-r3QZLne4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/lexend-latin-800-normal-sVzxf3WX.woff2) format("woff2"),url(/assets/lexend-latin-800-normal-BcJVUnx_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Lexend,sans-serif;color:#000013;background:#f5f6fa;font-synthesis:none;--ink:#000013;--muted:#626877;--line:#e4e5ee;--surface:#ffffff;--violet:#600083;--violet-dark:#480064;--violet-soft:#f4e9f7;--green:#0097b2;--green-soft:#e5f5f8;--rose:#f18313;--rose-soft:#fff0df;--amber:#f18313;--amber-soft:#fff7d0;--blue:#131983;--blue-soft:#ececfa;--turquoise:#0097b2;--yellow:#ffe113;--orange:#f18313;--shadow:0 8px 28px rgba(0,0,19,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#000013;color:#e3e5f2;padding:20px 14px 14px;display:flex;flex-direction:column;z-index:50}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#600083,#131983);color:#fff;display:grid;place-items:center;font:800 20px Lexend;box-shadow:0 8px 24px #60008347}.brand-mark.small{width:30px;height:30px;font-size:15px}.brand strong,.brand span{display:block}.brand strong{font:800 15px Lexend;color:#fff}.brand span{font-size:13px;color:#a8acc0;margin-top:2px}.sidebar nav{overflow-y:auto;display:grid;gap:8px}.nav-group{border-bottom:1px solid #171730;padding-bottom:7px}.nav-group-title,.nav-items button{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:10px;border-radius:9px}.nav-group-title{padding:9px 10px;color:#b8bcd0;font-size:13px;font-weight:700}.nav-group-title span{flex:1;text-align:left}.nav-group-title.direct.active{background:#131983;color:#fff;box-shadow:inset 3px 0 #0097b2}.nav-items{display:grid;gap:2px}.nav-items button{padding:9px 10px 9px 36px;font-size:13px;color:#a6aabd}.nav-items button:hover{background:#0d0e39;color:#fff}.nav-items button.active{background:#131983;color:#fff;box-shadow:inset 3px 0 #0097b2}.sidebar-foot{margin-top:auto;border-top:1px solid #171730;padding:16px 7px 2px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;min-width:0}.sidebar-foot strong,.sidebar-foot span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot strong{font-size:13px;color:#fff}.sidebar-foot span{font-size:13px;color:#9fa3b8;margin-top:2px}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#131983;color:#fff;font-weight:800;text-transform:uppercase}.avatar.large{width:52px;height:52px;font-size:20px}.icon-button{width:34px;height:34px;border:0;background:transparent;color:inherit;display:grid;place-items:center;border-radius:8px}.icon-button:hover{background:#ffffff1a}.main{margin-left:252px;min-height:100vh}.mobile-header{display:none}.page{max-width:1580px;margin:0 auto;padding:36px clamp(24px,4vw,64px) 70px}.page-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:26px}.page-heading h1{font:800 clamp(28px,3vw,40px) "Lexend";letter-spacing:-.035em;margin:0;color:#000013}.eyebrow{color:var(--violet);font-size:13px!important;letter-spacing:.15em;font-weight:800;margin:0 0 7px!important}.button{border:0;border-radius:9px;min-height:40px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:700;white-space:nowrap;transition:.16s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--violet);color:#fff;box-shadow:0 6px 16px #60008333}.button.primary:hover{background:var(--violet-dark)}.button.secondary{background:var(--violet-soft);color:var(--violet)}.button.ghost{background:#f0f1f6;color:var(--ink)}.toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:18px;box-shadow:0 4px 18px #00001306}.toolbar-note{align-self:center;color:var(--muted);font-size:13px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field.wide{grid-column:1/-1}.field>span{font-size:13px;color:var(--muted);font-weight:700}.field small{font-size:13px;color:var(--muted)}.field input,.field select,.field textarea,.inline-form input,.stack-form input:not([type=checkbox]),.item-builder select,.item-line input{width:100%;border:1px solid #dfe1eb;background:#fff;color:var(--ink);border-radius:8px;min-height:40px;padding:9px 10px;outline:0}.field input:focus,.field select:focus,.field textarea:focus,.inline-form input:focus,.stack-form input:not([type=checkbox]):focus{border-color:#0097b2;box-shadow:0 0 0 3px #0097b21c}.field input[type=color]{padding:4px}.toolbar .field{min-width:145px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #dfe1eb;border-radius:8px;background:#fff;padding:0 10px;min-height:40px;min-width:240px;flex:1;color:#777d8b}.search-box input{border:0;outline:0;width:100%;background:transparent}.multi-select{position:relative;min-width:180px}.multi-select summary{list-style:none;border:1px solid #dfe1eb;border-radius:8px;background:#fff;min-height:40px;padding:6px 32px 6px 10px;position:relative}.multi-select summary::-webkit-details-marker{display:none}.multi-select summary:after{content:"⌄";position:absolute;right:11px;top:10px;color:var(--muted)}.multi-select summary small,.multi-select summary strong{display:block}.multi-select summary small{font-size:13px;color:var(--muted)}.multi-select summary strong{font-size:13px;margin-top:1px}.multi-select>div{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:250px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.multi-select label{display:flex;align-items:center;gap:7px;padding:7px;border-radius:6px;font-size:13px}.multi-select label:hover{background:#f3f3fa}.multi-select label small{margin-left:auto;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.overview-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.overview-card,.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow)}.overview-card{display:grid;grid-template-columns:auto 1fr;gap:4px 11px}.overview-card>span{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet);grid-row:span 2}.overview-card small{color:var(--muted)}.overview-card strong{font:800 27px Lexend}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel h2,.panel-heading h2{font:700 18px Lexend;margin:0}.compact-list{margin-top:16px}.compact-list>button{width:100%;border:0;background:transparent;border-top:1px solid #edf0f3;padding:13px 5px;display:grid;grid-template-columns:auto 1fr auto 100px;gap:11px;align-items:center;text-align:left}.compact-list>button:hover{background:#fafbfc}.compact-list strong,.compact-list small{display:block}.compact-list strong{font-size:13px}.compact-list small{font-size:13px;color:var(--muted);margin-top:3px}.compact-list time{font-size:13px;color:var(--muted);text-align:right}.priority-dot{width:8px;height:8px;border-radius:50%;background:#777d8b;display:inline-block;flex:none}.priority-dot.high{background:#ffe113}.priority-dot.urgent{background:#f18313}.priority-dot.low{background:#0097b2}.status-pill{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:5px 8px;font-size:13px;font-weight:700;background:#eef0f4;color:#626877;white-space:nowrap}.status-pill.active,.status-pill.approved,.status-pill.signed,.status-pill.accepted,.status-pill.realized{background:var(--green-soft);color:#007b91}.status-pill.archived,.status-pill.cancelled,.status-pill.refused{background:#f0f1f3;color:#626877}.status-pill.awaiting_approval,.status-pill.awaiting_client,.status-pill.awaiting_agency,.status-pill.sent,.status-pill.viewed{background:var(--amber-soft);color:#725400}.status-pill.adjustments,.status-pill.changes,.status-pill.pending{background:var(--rose-soft);color:#a4520a}.status-pill.production,.status-pill.review,.status-pill.resent,.status-pill.contract_generated{background:var(--blue-soft);color:var(--blue)}.task-board{display:grid;grid-template-columns:repeat(3,minmax(245px,1fr));gap:12px;align-items:start;overflow-x:auto}.task-column{border:1px solid var(--line);background:#eef1f4;border-radius:13px;padding:10px;min-width:245px}.task-column>header{display:flex;justify-content:space-between;padding:5px 4px 11px;font-size:13px;font-weight:700}.task-column>header b{background:#dfe4e9;border-radius:999px;padding:1px 7px}.task-card{background:#fff;border:1px solid #e1e5ea;border-radius:11px;padding:13px;margin-bottom:8px;box-shadow:0 3px 12px #242c3609}.task-card-top{display:flex;justify-content:space-between;align-items:center}.task-card h3{font:700 13px Lexend;margin:12px 0 4px}.task-card p{font-size:13px;color:var(--muted);margin:0 0 13px}.task-card footer{border-top:1px solid #eef0f2;padding-top:10px;display:flex;align-items:center;justify-content:space-between}.task-card footer>span{display:flex;gap:5px;align-items:center;font-size:13px;color:var(--muted)}.task-card footer button,.row-actions button,.item-line button{border:0;background:transparent;color:#77808c;padding:5px;border-radius:6px}.task-card footer button:hover,.row-actions button:hover{background:#eef0f4;color:var(--violet)}.column-empty{padding:24px;text-align:center;color:#98a0a9;font-size:13px}.timeline{max-width:950px}.timeline>section{display:grid;grid-template-columns:70px 1fr;gap:15px}.timeline>section>time{text-align:center;border-right:1px solid var(--line);padding:5px 17px 20px 0}.timeline>section>time strong,.timeline>section>time span{display:block}.timeline>section>time strong{font:800 25px Lexend}.timeline>section>time span{font-size:13px;color:var(--muted);text-transform:uppercase}.timeline>section>div{padding-bottom:15px}.timeline article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;margin-bottom:8px}.timeline h3{font-size:13px;margin:0}.timeline p{font-size:13px;color:var(--muted);margin:3px 0 0}.directory-grid,.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.directory-card,.product-card,.wallet-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow)}.directory-card{display:grid;grid-template-columns:auto 1fr;gap:12px;cursor:pointer}.directory-card:hover{border-color:#bfc4e5;transform:translateY(-1px)}.directory-card.archived{opacity:.65}.entity-symbol,.doc-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#eef1f5;color:#5e6875}.entity-symbol.large{width:50px;height:50px}.directory-card h3,.product-card h3,.wallet-card h3{font:700 15px Lexend;margin:7px 0 2px}.directory-card p,.product-card p,.wallet-card p{font-size:13px;color:var(--muted);margin:0}.directory-card dl{grid-column:1/-1;display:flex;gap:22px;border-top:1px solid #edf0f2;margin:7px 0 0;padding-top:12px}.directory-card dl div{display:flex;align-items:center;gap:7px}.directory-card dt{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.directory-card dd{margin:0;font-weight:700;font-size:13px}.card-arrow{position:absolute;right:12px;top:12px;border:0;background:transparent;color:#9ca4ae}.detail-body{padding:20px}.detail-summary{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.detail-summary h3{margin:7px 0 2px;font-size:15px}.detail-summary p{margin:0;color:var(--muted);font-size:13px}.contact-strip{display:flex;gap:18px;flex-wrap:wrap;margin:17px 0;padding:12px 0;border-block:1px solid var(--line)}.contact-strip span{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-columns>section{border:1px solid var(--line);border-radius:12px;padding:15px}.detail-columns h3,.related-records h3{font:700 13px Lexend;display:flex;align-items:center;gap:7px;margin:0 0 12px}.mini-list>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f2;padding:9px 0;font-size:13px}.mini-list strong,.mini-list small{display:block}.mini-list small{color:var(--muted);font-size:13px;margin-top:2px}.inline-form,.stack-form{display:flex;gap:7px;margin-top:10px}.inline-form input{flex:1}.stack-form{flex-direction:column}.stack-form>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.muted{color:var(--muted);font-size:13px}.related-records{margin-top:15px;border:1px solid var(--line);border-radius:12px;padding:15px}.related-records>div{display:flex;gap:25px;color:var(--muted);font-size:13px}.entity-table{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.entity-table-head,.entity-table-row{display:grid;grid-template-columns:minmax(200px,2fr) 1fr 1fr 1fr 70px;gap:12px;align-items:center;padding:11px 14px}.entity-table-head{background:#f2f4f6;font-size:13px;text-transform:uppercase;color:var(--muted);font-weight:700}.entity-table-row{border-top:1px solid var(--line);font-size:13px}.entity-table-row strong,.entity-table-row small{display:block}.entity-table-row small{color:var(--muted);font-size:13px;margin-top:3px}.product-card,.wallet-card{min-height:210px}.product-card>.status-pill,.wallet-card>.status-pill{position:absolute;right:14px;top:14px}.product-card>strong,.wallet-card>strong{display:block;font:800 21px Lexend;margin-top:19px}.product-items{display:grid;gap:4px;margin-top:12px}.product-items span{font-size:13px;color:var(--muted)}.wallet-card{border-top:3px solid var(--wallet,#600083)}.wallet-card .button{margin-top:13px}.document-list{display:grid;gap:9px}.document-list article{display:grid;grid-template-columns:auto minmax(220px,1fr) auto 130px 70px;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px}.document-list h3{font:700 13px Lexend;margin:0}.document-list p{font-size:13px;color:var(--muted);margin:4px 0 0}.document-list>article>strong{text-align:right;font:700 13px Lexend}.row-actions{display:flex;justify-content:flex-end;gap:3px}.item-builder{display:grid;grid-template-columns:1fr auto;gap:8px}.item-line{display:grid;grid-template-columns:minmax(140px,1fr) 75px 110px auto;gap:8px;align-items:center;padding:8px;background:#f5f7f9;border-radius:9px;font-size:13px}.item-line input{min-height:34px}.form-total{display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.form-total span{font-size:13px;color:var(--muted)}.form-total strong{font:700 18px Lexend}.metric-card{min-height:150px;display:flex;flex-direction:column;border:1px solid transparent;transition:transform .16s,box-shadow .16s,opacity .16s}.metric-card.purple,.metric-card.violet{background:#f4e9f7;border-color:#ead8ef}.metric-card.blue{background:#ececfa;border-color:#ddddef}.metric-card.turquoise,.metric-card.green{background:#e5f5f8;border-color:#d1edf2}.metric-card.yellow,.metric-card.amber{background:#fffbd7;border-color:#f5edaa}.metric-card.orange,.metric-card.rose{background:#fff0df;border-color:#f6ddc3}.metric-card.neutral{background:#fff;border-color:var(--line)}.metric-card.compact{min-height:118px}.metric-card.standard{min-height:150px}.metric-card.tall{min-height:205px}.metric-card.medium{grid-column:span 2}.metric-card.large{grid-column:1/-1}.metric-card.dragging{opacity:.45;transform:scale(.985)}.metric-top{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.metric-top>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-actions{display:flex;align-items:center;gap:1px;opacity:.3;transition:opacity .16s}.metric-card:hover .metric-actions,.metric-card:focus-within .metric-actions{opacity:1}.metric-actions button,.drag-handle{width:29px;height:29px;border:0;background:transparent;color:#666c79;display:grid;place-items:center;border-radius:7px;padding:0}.metric-actions button:hover,.drag-handle:hover{background:#ffffffb8;color:var(--violet)}.drag-handle{cursor:grab}.drag-handle:active{cursor:grabbing}.metric-card>strong{font:800 clamp(23px,2.4vw,34px) "Lexend";letter-spacing:-.04em;margin:19px 0 3px}.metric-card.compact>strong{margin-top:11px}.metric-card>strong.negative{color:#b85b0b}.metric-card>small{font-size:13px;color:#686e7a;margin-top:auto}.form-hint{display:block;color:var(--muted);font-size:13px;margin-top:7px}.chart-panel{min-height:390px}.chart-wrap{height:300px;margin-top:16px}.total-strip{display:flex;gap:9px;align-items:stretch;margin-bottom:13px}.summary{min-width:170px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 13px}.summary span,.summary strong{display:block}.summary span{font-size:13px;color:var(--muted)}.summary strong{font:700 17px Lexend;margin-top:3px}.summary.green strong,.income-text{color:#007b91}.summary.rose strong,.expense-text{color:#b85b0b}.summary.violet strong{color:var(--violet)}.total-strip>small{margin-left:auto;align-self:center;color:var(--muted)}.month-group{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:12px}.month-group>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#fafbfc}.month-group h3{margin:0;font:700 14px Lexend}.month-group header span{font-size:13px;color:var(--muted)}.month-group header strong{font-size:13px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:900px}th{text-align:left;font-size:13px;text-transform:uppercase;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line)}td{padding:11px 12px;border-bottom:1px solid #edf0f2;font-size:13px}td strong,td small{display:block}td small{color:var(--muted);font-size:13px;margin-top:3px}.category-list{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.category-row{display:grid;grid-template-columns:auto 1fr 2fr;gap:12px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line);font-size:13px}.category-row:last-child{border:0}.category-row span:last-child{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide-panel{grid-column:1/-1}.profile-block{display:flex;align-items:center;gap:12px;margin-top:16px}.profile-block strong,.profile-block span{display:block}.profile-block span{font-size:13px;color:var(--muted);margin-top:3px}.panel dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-size:13px}.panel dd{font-weight:700}.wide-panel>p:last-child{color:var(--muted);max-width:800px;line-height:1.6}.modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.backdrop{position:fixed;inset:0;border:0;background:#0f121794;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:99}.modal{width:min(620px,100%);max-height:calc(100vh - 36px);overflow-y:auto;background:#fff;border-radius:16px;position:relative;z-index:101;box-shadow:0 25px 80px #0a0d124d}.modal-wide{width:min(880px,100%)}.modal>header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:18px 20px 13px;background:#fff;border-bottom:1px solid var(--line)}.modal>header h2{font:700 18px Lexend;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px 20px 21px}.modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.form-error{padding:10px;border-radius:8px;background:var(--rose-soft);color:var(--rose);font-size:13px}.check-line{display:flex;align-items:center;gap:7px;font-size:13px}.check-line input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:0;padding:0;flex:none;accent-color:var(--violet)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f0f2f5;padding:4px;border-radius:9px}.segmented.wide{grid-column:1/-1}.segmented button{border:0;background:transparent;border-radius:7px;padding:8px;display:flex;justify-content:center;gap:6px;font-size:13px}.segmented button.active.income{background:var(--green-soft);color:var(--green)}.segmented button.active.expense{background:var(--rose-soft);color:var(--rose)}.loading{min-height:260px;display:grid;place-content:center;justify-items:center;gap:11px;color:var(--muted)}.loading.full{min-height:100vh}.loading i{width:30px;height:30px;border:3px solid #dce1e7;border-top-color:var(--violet);border-radius:50%;animation:spin .8s linear infinite}.loading span{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.empty{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:25px;grid-column:1/-1}.empty>div{width:42px;height:42px;border-radius:11px;background:#eef1f5;display:grid;place-items:center;color:#75808c}.empty h3{font:700 14px Lexend;color:var(--ink);margin:11px 0 3px}.empty p{font-size:13px;margin:0 0 13px}.toast{position:fixed;z-index:200;right:22px;bottom:22px;background:#242930;color:#fff;border-radius:10px;padding:11px 12px 11px 15px;box-shadow:0 15px 40px #0003;font-size:13px;display:flex;align-items:center;gap:12px}.toast.error{background:#9d4c47}.toast button{border:0;background:transparent;color:inherit}.fatal{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.fatal h1{font:800 27px Lexend;margin:17px 0 4px}.fatal p{color:var(--rose)}.fatal small{color:var(--muted)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,48%) 1fr;background:#f5f6fa}.auth-panel{position:relative;background:#fff;padding:90px clamp(35px,7vw,105px) 45px;display:flex;flex-direction:column;justify-content:center}.auth-brand{position:absolute;top:30px;display:flex;align-items:center;gap:10px;font:700 13px Lexend}.auth-copy h1{font:800 clamp(31px,4vw,49px)/1.05 "Lexend";letter-spacing:-.05em;margin:0;max-width:560px}.auth-copy>p:last-child{color:var(--muted);line-height:1.6;max-width:500px}.auth-form{display:grid;gap:13px;margin-top:24px;max-width:460px}.auth-note{margin-top:30px;color:#777d8b}.auth-visual{display:grid;place-items:center;padding:50px;background:linear-gradient(145deg,#f4e9f7,#ececfa)}.auth-card{width:min(430px,90%);min-height:270px;padding:30px;border:1px solid rgba(255,255,255,.9);background:#ffffffad;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:23px;box-shadow:0 30px 80px #13198321;display:flex;flex-direction:column}.auth-card svg{color:var(--violet)}.auth-card span{margin-top:auto;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.auth-card strong{font:700 27px/1.25 Lexend;margin-top:10px}.public-page{min-height:100vh;background:#f5f6fa;padding:40px 18px}.public-card{width:min(820px,100%);margin:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(24px,5vw,55px);box-shadow:var(--shadow)}.public-card.centered{text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.public-card h1{font:800 clamp(26px,4vw,40px) "Lexend";letter-spacing:-.04em;margin:18px 0 5px}.public-card .lead{color:var(--muted);margin-bottom:25px}.public-brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;margin-bottom:38px}.document-text{white-space:pre-wrap;background:#f5f7f9;border-radius:10px;padding:16px;line-height:1.6}.public-items>div,.public-total{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.public-total{font-size:17px;margin-bottom:20px}.public-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.contract-text{white-space:pre-wrap;font:inherit;line-height:1.65;background:#f7f8f9;border-radius:10px;padding:18px;max-height:480px;overflow:auto}.public-card>.field,.public-card>.check-line{margin-top:16px}.public-card>.button{margin-top:16px}@media(max-width:1150px){.overview-grid,.metric-grid,.directory-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.task-board{grid-template-columns:repeat(3,280px)}.document-list article{grid-template-columns:auto 1fr auto 100px 65px}}@media(max-width:800px){.sidebar{transform:translate(-100%);transition:.23s}.sidebar.open{transform:translate(0)}.mobile-backdrop{position:fixed;inset:0;border:0;background:#0a0d128c;z-index:45}.main{margin-left:0}.mobile-header{position:sticky;top:0;z-index:35;height:58px;background:#000013;color:#fff;padding:0 15px;display:flex;align-items:center;justify-content:space-between}.page{padding:25px 16px 55px}.page-heading{align-items:flex-start}.page-heading h1{font-size:29px}.directory-grid,.product-grid,.detail-columns{grid-template-columns:1fr}.document-list article{grid-template-columns:auto 1fr auto}.document-list article>strong{grid-column:2;text-align:left}.document-list article>.row-actions{grid-column:3;grid-row:1/3}.entity-table{overflow-x:auto}.entity-table-head,.entity-table-row{min-width:700px}.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:95px 28px 38px}}@media(max-width:560px){.page-heading{display:block}.page-heading>.button,.page-heading>button{width:100%;margin-top:16px}.overview-grid,.metric-grid{grid-template-columns:1fr}.metric-card.medium,.metric-card.large{grid-column:auto}.toolbar .field,.search-box,.multi-select{min-width:100%;flex-basis:100%}.total-strip{display:grid;grid-template-columns:1fr}.summary{min-width:0;display:flex;align-items:center;justify-content:space-between}.summary strong{margin:0}.total-strip>small{margin:0}.form-grid{grid-template-columns:1fr}.field.wide,.modal-actions,.form-error.wide,.segmented.wide,.item-builder.wide,.item-line.wide{grid-column:auto}.item-line{grid-template-columns:1fr 70px auto}.item-line input:nth-of-type(2){grid-column:1/3}.detail-summary{grid-template-columns:auto 1fr}.detail-summary>.button{grid-column:1/-1}.compact-list>button{grid-template-columns:auto 1fr auto}.compact-list time{display:none}.public-actions,.public-actions.three{display:grid}.toast{left:15px;right:15px;bottom:15px}.chart-panel{padding:13px}.chart-wrap{height:260px;margin-left:-12px}.modal{border-radius:13px}.stack-form>div{grid-template-columns:1fr}}.dashboard-card-shell{position:relative;min-width:0}.dashboard-drag-region{position:absolute;z-index:3;top:5px;left:8px;right:8px;height:34px;cursor:grab}.dashboard-drag-region:active{cursor:grabbing}.resize-edge{position:absolute;z-index:8;display:block;touch-action:none}.resize-n,.resize-s{left:10px;right:10px;height:8px;cursor:ns-resize}.resize-n{top:-4px}.resize-s{bottom:-4px}.resize-e,.resize-w{top:10px;bottom:10px;width:8px;cursor:ew-resize}.resize-e{right:-4px}.resize-w{left:-4px}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:14px;height:14px;z-index:9}.resize-ne{right:-5px;top:-5px;cursor:nesw-resize}.resize-nw{left:-5px;top:-5px;cursor:nwse-resize}.resize-se{right:-5px;bottom:-5px;cursor:nwse-resize}.resize-sw{left:-5px;bottom:-5px;cursor:nesw-resize}.dashboard-card-shell.is-resizing{width:var(--resize-width);height:var(--resize-height);max-width:none;box-shadow:0 14px 38px #0000132b;z-index:20}.dashboard-card-shell.resizing *{-webkit-user-select:none;user-select:none}.metric-top,.tower-card-body{position:relative;z-index:4}.metric-actions{position:relative;z-index:5}.dashboard-card-shell .metric-top{grid-template-columns:minmax(0,1fr) auto}.dashboard-card-shell.tower-layout-card .tower-card-body{height:100%;padding-top:34px}.month-group tbody tr{border-bottom:1px solid #edf0f2}.month-group tbody tr:last-child{border-bottom:0}.month-group tbody td{border-bottom:0}.month-empty{padding:18px 15px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}.period-number{max-width:150px}.picker-label{display:block;font-size:13px;color:var(--muted);font-weight:700;margin-bottom:7px}.icon-picker{display:grid;grid-template-columns:repeat(6,minmax(88px,1fr));gap:7px}.icon-picker button{min-height:64px;border:1px solid #dfe1eb;border-radius:9px;background:#fff;color:#636a78;display:grid;place-items:center;align-content:center;gap:5px;padding:7px}.icon-picker button span{font-size:11px}.icon-picker button:hover,.icon-picker button.selected{border-color:var(--violet);background:var(--violet-soft);color:var(--violet)}@media(max-width:700px){.icon-picker{grid-template-columns:repeat(3,1fr)}}.linked-transaction-note{display:grid;gap:4px;padding:11px 13px;border:1px solid #d9d1ee;border-radius:9px;background:#faf8fd}.linked-transaction-note strong{font-size:13px;color:var(--violet)}.linked-transaction-note span{font-size:12px;line-height:1.45;color:var(--muted)}.field input:disabled,.field select:disabled,.segmented button:disabled{cursor:not-allowed;opacity:.62;background:#f1f2f5}.linked-transaction-note{grid-column:1/-1}.pocket-list{display:grid;gap:12px}.pocket-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:13px}.pocket-row strong,.pocket-row span{display:block;overflow-wrap:anywhere}.pocket-row span{margin-top:6px;font-size:12px;color:var(--muted)}.pocket-actions{display:flex;gap:8px;flex-wrap:wrap}.pocket-form{display:grid;gap:17px;padding:20px}.pocket-profile{max-width:560px;background:#fff;border:1px solid var(--line);border-radius:14px}.button:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.pocket-row{align-items:flex-start;flex-direction:column}.pocket-actions{width:100%}.pocket-actions .button{flex:1}.field input,.field select,.field textarea{font-size:16px}.sidebar-foot{padding-bottom:env(safe-area-inset-bottom,8px)}}
