@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_c66b3b8-module__FLjyQq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}
:root{--tr-dark:#081b16;--tr-green:#23ce6b;--tr-green-dark:#14763d;--tr-cream:#edeee7;--tr-body:#2d2c2b;--tr-muted:#646260;--tr-hairline:#d6d6d5;--tr-white:#fff;--tr-ground:#f4f5f0;--tr-danger:#a03123;--tr-danger-bg:#f7ece9;--col-w:302px}*{box-sizing:border-box}html,body{height:100%}body{color:var(--tr-body);background:var(--tr-ground);margin:0;font-size:14px;line-height:1.55}button{cursor:pointer;font-family:inherit}input,select,textarea{color:var(--tr-body);font-family:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--tr-green);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.app-frame{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{background:var(--tr-dark);color:var(--tr-white);flex:none;align-items:center;gap:18px;height:60px;padding:0 24px;display:flex}.topbar .logo{height:26px;display:block}.topbar .divider{background:#ffffff2e;width:1px;height:26px}.topbar .app-title{letter-spacing:2.5px;text-transform:uppercase;color:var(--tr-white);white-space:nowrap;font-size:13px;font-weight:800}.topbar .spacer{flex:1}.topbar .user-chip{color:#ffffff8c;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:11.5px;overflow:hidden}.nav-link{color:#ffffff8c;letter-spacing:1.2px;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:4px;padding:7px 10px;font-size:11px;font-weight:700;text-decoration:none}.nav-link:hover{color:var(--tr-green)}.btn-primary{background:var(--tr-green);color:var(--tr-dark);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border:none;border-radius:4px;padding:9px 16px;font-size:12px;font-weight:700;text-decoration:none;transition:background .15s;display:inline-block}.btn-primary:hover{background:#3ddb7d}.btn-primary:disabled{opacity:.6;cursor:default}.btn-dark{background:var(--tr-dark);color:var(--tr-white);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border:none;border-radius:4px;padding:11px 18px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.btn-dark:hover{background:#12332a}.search-wrap{position:relative}.search-wrap svg{pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{color:var(--tr-white);background:#ffffff14;border:1px solid #ffffff29;border-radius:4px;width:220px;padding:7px 12px 7px 32px;font-size:13px;transition:border-color .15s,background .15s}.search-input::placeholder{color:#ffffff73}.search-input:focus{border-color:var(--tr-green);background:#ffffff1f;outline:none}.view-toggle{border:1px solid #ffffff29;border-radius:4px;display:flex;overflow:hidden}.view-toggle button{color:#ffffff8c;letter-spacing:1.2px;text-transform:uppercase;background:0 0;border:none;padding:7px 14px;font-size:11px;font-weight:700}.view-toggle button.active{background:var(--tr-green);color:var(--tr-dark)}.lang-toggle{border-radius:4px;display:flex;overflow:hidden}.lang-toggle button{letter-spacing:.8px;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:6px 8px;font-size:10.5px;font-weight:700;display:flex}.lang-toggle.dark button{color:#ffffff73}.lang-toggle.dark button.active{color:var(--tr-white);border-color:#ffffff40}.lang-toggle.dark button:hover{color:var(--tr-green)}.lang-toggle.light button{color:var(--tr-muted)}.lang-toggle.light button.active{color:var(--tr-dark);border-color:var(--tr-hairline);background:var(--tr-white)}.lang-toggle.light button:hover{color:var(--tr-green-dark)}.toolbar{flex:none;align-items:baseline;gap:14px;padding:16px 24px 12px;display:flex}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--tr-green-dark);font-size:10px;font-weight:700}.toolbar .summary{color:var(--tr-muted);font-variant-numeric:tabular-nums;font-size:13px}.toolbar .spacer{flex:1}.readonly-pill{letter-spacing:1px;text-transform:uppercase;color:var(--tr-green-dark);background:var(--tr-cream);border:1px solid var(--tr-hairline);white-space:nowrap;border-radius:999px;align-self:center;padding:3px 10px;font-size:10px;font-weight:700}.board-wrap{flex:auto;padding:0 24px 20px;overflow:auto hidden}.board{align-items:flex-start;gap:14px;min-width:min-content;height:100%;display:flex}.column{width:var(--col-w);background:var(--tr-cream);border:1px solid var(--tr-hairline);border-radius:8px;flex-direction:column;flex:none;max-height:100%;display:flex}.column.drag-over-col{border-color:var(--tr-green)}.col-header{border-bottom:2px solid var(--tr-green);align-items:center;gap:8px;padding:12px 14px 10px;display:flex;position:relative}.col-header.draggable{cursor:grab}.col-header.draggable:active{cursor:grabbing}.col-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--tr-dark);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.col-title-input{letter-spacing:1.5px;text-transform:uppercase;min-width:0;color:var(--tr-dark);border:1px solid var(--tr-green);background:var(--tr-white);border-radius:3px;flex:1;padding:2px 4px;font-size:11px;font-weight:700}.col-count{color:var(--tr-dark);background:var(--tr-white);border:1px solid var(--tr-hairline);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.col-sum{color:var(--tr-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.col-menu-btn{color:var(--tr-muted);background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:14px;line-height:1}.col-menu-btn:hover{color:var(--tr-dark);background:#081b160f}.col-body{flex-direction:column;flex:auto;gap:8px;min-height:60px;padding:10px;display:flex;overflow-y:auto}.col-body.empty-hint:after{content:attr(data-empty);text-align:center;color:var(--tr-muted);border:1px dashed var(--tr-hairline);border-radius:6px;padding:18px 10px;font-size:12px;display:block}.drop-indicator{border-top:2px solid var(--tr-green);pointer-events:none;border-radius:2px;height:0;margin:-5px 2px}.col-footer{padding:0 10px 10px}.add-card-btn{text-align:left;width:100%;color:var(--tr-muted);background:0 0;border:none;border-radius:5px;padding:7px 8px;font-size:12.5px;font-weight:500}.add-card-btn:hover{color:var(--tr-dark);background:#081b160d}.add-stage{border:1px dashed var(--tr-hairline);width:220px;color:var(--tr-muted);letter-spacing:1.2px;text-transform:uppercase;text-align:center;background:0 0;border-radius:8px;flex:none;padding:16px;font-size:12px;font-weight:700}.add-stage:hover{border-color:var(--tr-green);color:var(--tr-green-dark);background:#23ce6b0d}.card{background:var(--tr-white);border:1px solid var(--tr-hairline);cursor:pointer;border-radius:6px;padding:11px 12px 10px;transition:border-color .12s}.card:hover{border-color:#9a9a97}.card.selected{border-color:var(--tr-green)}.card.dragging{opacity:.4}.card-top{align-items:flex-start;gap:8px;display:flex}.card-company{color:var(--tr-dark);flex:1;min-width:0;font-size:13.5px;font-weight:700;line-height:1.3}.type-chip{letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;border-radius:3px;flex:none;margin-top:1px;padding:2px 6px;font-size:9px;font-weight:700}.type-strategic{background:var(--tr-dark);color:var(--tr-white)}.type-financial{background:var(--tr-cream);color:var(--tr-green-dark);border:1px solid var(--tr-hairline)}.type-other{background:var(--tr-white);color:var(--tr-muted);border:1px solid var(--tr-hairline)}.card-value{color:var(--tr-green-dark);font-variant-numeric:tabular-nums;margin-top:5px;font-size:12.5px;font-weight:700}.card-contact{color:var(--tr-body);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;overflow:hidden}.card-contact .role{color:var(--tr-muted)}.card-next{color:var(--tr-muted);border-top:1px solid #ececea;align-items:baseline;gap:6px;margin-top:7px;padding-top:7px;font-size:11.5px;display:flex}.card-next .label{letter-spacing:.8px;text-transform:uppercase;color:var(--tr-green-dark);flex:none;font-size:9px;font-weight:700}.card-next .text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.card-meta{color:var(--tr-muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;margin-top:7px;font-size:10.5px;display:flex}.overdue{color:var(--tr-danger);font-weight:600}.menu{background:var(--tr-white);border:1px solid var(--tr-hairline);z-index:60;border-radius:6px;min-width:190px;padding:4px;position:absolute;top:100%;right:4px}.menu button{text-align:left;width:100%;color:var(--tr-body);letter-spacing:normal;text-transform:none;background:0 0;border:none;border-radius:4px;padding:8px 10px;font-size:13px;font-weight:400;display:block}.menu button:hover{background:var(--tr-cream)}.menu button.danger{color:var(--tr-danger)}.menu button.danger:hover{background:var(--tr-danger-bg)}.list-wrap{flex:auto;padding:0 24px 24px;overflow:auto}.list-table{border-collapse:collapse;background:var(--tr-white);border:1px solid var(--tr-hairline);border-radius:8px;width:100%;overflow:hidden}.list-table th{background:var(--tr-dark);color:var(--tr-white);letter-spacing:1px;text-transform:uppercase;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:12px 14px;font-size:10.5px;font-weight:700}.list-table th.num{text-align:right}.list-table th .arrow{color:var(--tr-green);margin-left:4px}.list-table td{border-top:1px solid var(--tr-hairline);vertical-align:middle;padding:11px 14px;font-size:13px}.list-table td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--tr-green-dark);white-space:nowrap;font-weight:600}.list-table tbody tr{cursor:pointer}.list-table tbody tr:hover td{background:#fafaf7}.stage-chip{letter-spacing:.8px;text-transform:uppercase;color:var(--tr-dark);background:var(--tr-cream);border:1px solid var(--tr-hairline);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.stage-chip:before{content:"";background:var(--tr-green);border-radius:50%;width:7px;height:7px}.td-company{color:var(--tr-dark);font-weight:700}.td-muted{color:var(--tr-muted)}.overlay{z-index:80;background:#081b1659;position:fixed;inset:0}.drawer{background:var(--tr-white);border-left:1px solid var(--tr-hairline);z-index:90;flex-direction:column;width:440px;max-width:100vw;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-header{background:var(--tr-dark);color:var(--tr-white);flex:none;align-items:center;gap:12px;padding:16px 20px;display:flex}.drawer-header .eyebrow-light{letter-spacing:2px;text-transform:uppercase;color:var(--tr-green);margin-bottom:2px;font-size:9px;font-weight:700}.drawer-header .title{font-size:16px;font-weight:800;line-height:1.2}.drawer-header .close{color:var(--tr-white);background:0 0;border:1px solid #ffffff40;border-radius:4px;margin-left:auto;padding:6px 9px;font-size:14px;line-height:1}.drawer-header .close:hover{border-color:var(--tr-green);color:var(--tr-green)}.drawer-body{flex:auto;padding:18px 20px 24px;overflow-y:auto}.field{margin-bottom:14px}.field label{letter-spacing:1.2px;text-transform:uppercase;color:var(--tr-green-dark);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--tr-hairline);background:var(--tr-white);border-radius:4px;width:100%;padding:8px 10px;font-size:13.5px;transition:border-color .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--tr-green);outline:none}.field input:disabled,.field select:disabled,.field textarea:disabled{color:var(--tr-muted);background:#fbfbf9}.field textarea{resize:vertical;min-height:74px;line-height:1.5}.field-row{gap:10px;display:flex}.field-row .field{flex:1;min-width:0}.section-label{align-items:center;gap:10px;margin:20px 0 10px;display:flex}.section-label span{letter-spacing:1.5px;text-transform:uppercase;color:var(--tr-dark);white-space:nowrap;font-size:10px;font-weight:700}.section-label:after{content:"";border-top:2px solid var(--tr-green);flex:1}.contact-card{border:1px solid var(--tr-hairline);border-left:3px solid var(--tr-green);background:#fbfbf9;border-radius:4px;margin-bottom:8px;padding:10px 12px}.contact-card .contact-grid{grid-template-columns:1fr 1fr;gap:6px 8px;display:grid}.contact-card input{background:0 0;border:1px solid #0000;border-radius:3px;width:100%;padding:3px 5px;font-size:12.5px}.contact-card input:hover{border-color:var(--tr-hairline)}.contact-card input:focus{border-color:var(--tr-green);background:var(--tr-white);outline:none}.contact-card input.c-name{color:var(--tr-dark);font-size:13px;font-weight:700}.contact-card input.c-role{color:var(--tr-muted)}.contact-card .contact-actions{text-align:right;margin-top:2px}.link-btn{color:var(--tr-muted);background:0 0;border:none;padding:2px 4px;font-size:11px;font-weight:600}.link-btn:hover{color:var(--tr-danger)}.add-contact-btn{border:1px dashed var(--tr-hairline);width:100%;color:var(--tr-muted);background:0 0;border-radius:4px;padding:8px;font-size:12px;font-weight:600}.add-contact-btn:hover{border-color:var(--tr-green);color:var(--tr-green-dark)}.drawer-meta{color:var(--tr-muted);border-top:1px solid var(--tr-hairline);font-variant-numeric:tabular-nums;margin-top:18px;padding-top:12px;font-size:11.5px}.drawer-footer{border-top:1px solid var(--tr-hairline);background:var(--tr-cream);flex:none;align-items:center;gap:10px;padding:12px 20px;display:flex}.save-flash{letter-spacing:1px;text-transform:uppercase;color:var(--tr-green-dark);opacity:0;font-size:11px;font-weight:700;transition:opacity .3s}.save-flash.show{opacity:1}.btn-danger-ghost{border:1px solid var(--tr-hairline);color:var(--tr-danger);letter-spacing:.8px;text-transform:uppercase;background:0 0;border-radius:4px;margin-left:auto;padding:7px 12px;font-size:11px;font-weight:700}.btn-danger-ghost:hover{border-color:var(--tr-danger);background:var(--tr-danger-bg)}.hero{background:var(--tr-dark);color:var(--tr-white);padding:0 0 42px}.hero .topbar{max-width:1060px;height:64px;margin:0 auto;padding:0 32px}.hero-inner{max-width:1060px;margin:0 auto;padding:34px 32px 0}.hero .hero-eyebrow{letter-spacing:2.5px;text-transform:uppercase;color:var(--tr-green);margin-bottom:10px;font-size:10px;font-weight:700}.hero h1{letter-spacing:-.2px;text-transform:uppercase;color:var(--tr-white);text-wrap:balance;margin:0 0 10px;font-size:34px;font-weight:800;line-height:1.12}.hero .tagline{color:#ffffffb8;max-width:560px;margin:0 0 22px;font-size:15px}.hero .rule{border:none;border-top:2px solid var(--tr-green);width:72px;margin:0}.portal-main{max-width:1060px;margin:0 auto;padding:28px 32px 40px}.crm-banner{background:var(--tr-cream);border:1px solid var(--tr-hairline);border-left:4px solid var(--tr-green);border-radius:6px;align-items:center;gap:24px;margin-bottom:26px;padding:20px 24px;display:flex}.crm-banner .lead{color:var(--tr-body);margin:4px 0 0;font-size:14.5px}.crm-banner .stats{color:var(--tr-muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12.5px}.crm-banner .grow{flex:1;min-width:0}.widgets{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.widget{background:var(--tr-white);border:1px solid var(--tr-hairline);border-top:4px solid var(--tr-dark);border-radius:6px;padding:20px 22px 16px}.widget-head{border-bottom:2px solid var(--tr-green);align-items:flex-start;gap:12px;margin-bottom:6px;padding-bottom:12px;display:flex}.widget-head .grow{flex:1;min-width:0}.widget h2{letter-spacing:.8px;text-transform:uppercase;color:var(--tr-dark);margin:0;font-size:15px;font-weight:800}.widget .sub{letter-spacing:1px;text-transform:uppercase;color:var(--tr-green-dark);margin-top:3px;font-size:11px;font-weight:700}.btn-upload{background:var(--tr-white);border:1px solid var(--tr-dark);color:var(--tr-dark);letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:8px 13px;font-size:11px;font-weight:700}.btn-upload:hover{background:var(--tr-dark);color:var(--tr-white)}.btn-upload:disabled{opacity:.5;cursor:default}.upload-form{border:1px dashed var(--tr-hairline);background:#fbfbf9;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px;padding:10px;display:flex}.upload-form select,.upload-form input[type=text]{border:1px solid var(--tr-hairline);background:var(--tr-white);border-radius:4px;padding:7px 9px;font-size:12.5px}.upload-form input[type=text]{flex:1;min-width:120px}.upload-form select:focus,.upload-form input:focus{border-color:var(--tr-green);outline:none}.doc-list{margin:0;padding:0;list-style:none}.doc-row{border-bottom:1px solid #ececea;align-items:center;gap:12px;padding:12px 2px;display:flex}.doc-row:last-child{border-bottom:none}.doc-main{flex:1;min-width:0}.doc-name{color:var(--tr-dark);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.doc-meta{color:var(--tr-muted);font-variant-numeric:tabular-nums;margin-top:1px;font-size:11.5px}.doc-note{color:var(--tr-body);margin-top:3px;font-size:12px}.status-chip{appearance:none;letter-spacing:.8px;text-transform:uppercase;border:1px solid var(--tr-hairline);background:var(--tr-cream);color:var(--tr-body);cursor:pointer;text-align:center;border-radius:999px;padding:4px 12px;font-size:10px;font-weight:700}.status-chip:disabled{cursor:default;opacity:1}.status-chip.ok{background:var(--tr-cream);color:var(--tr-green-dark);border-color:var(--tr-green)}.status-chip.warn{background:var(--tr-danger-bg);color:var(--tr-danger);border-color:#d8a79f}.doc-actions{flex:none;gap:4px;display:flex}.icon-btn{color:var(--tr-muted);letter-spacing:.5px;text-transform:uppercase;background:0 0;border:none;border-radius:3px;padding:4px 6px;font-size:11px;font-weight:700;text-decoration:none}.icon-btn:hover{color:var(--tr-dark);background:var(--tr-cream)}.icon-btn.danger:hover{color:var(--tr-danger);background:var(--tr-danger-bg)}.empty-note{color:var(--tr-muted);border:1px dashed var(--tr-hairline);text-align:center;border-radius:4px;margin:10px 0;padding:16px;font-size:12.5px}.section-head{align-items:center;gap:12px;margin:4px 0 16px;display:flex}.section-head .eyebrow{letter-spacing:2.5px;font-size:11px}.section-rule{border:none;border-top:2px solid var(--tr-green);flex:1;margin:0}.client-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:8px;display:grid}.client-card{background:var(--tr-white);border:1px solid var(--tr-hairline);border-radius:6px;padding:0 18px 16px;overflow:hidden}.client-card-band{background:var(--tr-dark);height:4px;margin:0 -18px 14px}.client-card-name{color:var(--tr-dark);font-size:15px;font-weight:700}.client-card-sub{letter-spacing:1px;text-transform:uppercase;color:var(--tr-green-dark);margin:2px 0 10px;font-size:10px;font-weight:700}.client-card-stats{color:var(--tr-muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:12.5px}.client-card-actions{gap:8px;margin-top:14px;display:flex}.btn-small{padding:8px 14px;font-size:11px}.btn-outline{background:var(--tr-white);border:1px solid var(--tr-dark);color:var(--tr-dark);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:4px;font-weight:700;text-decoration:none;display:inline-block}.btn-outline:hover{background:var(--tr-dark);color:var(--tr-white)}.ok-text{color:var(--tr-green-dark)}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-tile{background:var(--tr-white);border:1px solid var(--tr-hairline);border-left:4px solid var(--tr-green);border-radius:6px;padding:14px 18px 12px}.stat-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--tr-green-dark);margin-bottom:4px;font-size:10px;font-weight:700}.stat-value{color:var(--tr-dark);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.stat-value.overdue{color:var(--tr-danger)}.stat-value.ok-text{color:var(--tr-green-dark)}.widget-wide{grid-column:1/-1}.table-scroll{overflow-x:auto}.invoice-table{border-collapse:collapse;width:100%}.invoice-table th{letter-spacing:1px;text-transform:uppercase;color:var(--tr-muted);text-align:left;border-bottom:1px solid var(--tr-hairline);white-space:nowrap;padding:10px 10px 8px 2px;font-size:10px;font-weight:700}.invoice-table th.num{text-align:right}.invoice-table td{vertical-align:middle;border-bottom:1px solid #ececea;padding:11px 10px 11px 2px;font-size:13px}.invoice-table tr:last-child td{border-bottom:none}.invoice-table td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--tr-dark);white-space:nowrap;font-weight:700}.invoice-table .row-actions{text-align:right;white-space:nowrap}.portal-footer{border-top:1px solid var(--tr-hairline);background:var(--tr-ground);padding:26px 32px 34px}.footer-inner{max-width:1060px;color:var(--tr-muted);flex-wrap:wrap;justify-content:space-between;gap:20px;margin:0 auto;font-size:12px;display:flex}.footer-inner .name{color:var(--tr-dark);font-weight:700}.login-page{background:var(--tr-dark);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--tr-white);border-radius:8px;width:100%;max-width:400px;padding:32px 32px 28px}.login-logo{height:30px;margin:0 auto 6px;display:block}.login-card h1{letter-spacing:2px;text-transform:uppercase;color:var(--tr-dark);text-align:center;margin:14px 0 4px;font-size:15px;font-weight:800}.login-card .login-sub{color:var(--tr-muted);text-align:center;margin:0 0 20px;font-size:12.5px}.login-rule{border:none;border-top:2px solid var(--tr-green);width:48px;margin:0 auto 20px}.login-note{color:var(--tr-muted);text-align:center;margin-top:16px;font-size:12px}.login-error{color:var(--tr-danger);background:var(--tr-danger-bg);border:1px solid #d8a79f;border-radius:4px;margin-bottom:14px;padding:9px 12px;font-size:12.5px}.login-success{color:var(--tr-green-dark);background:var(--tr-cream);border:1px solid var(--tr-green);border-radius:4px;margin-bottom:14px;padding:9px 12px;font-size:12.5px}.login-footer{color:#ffffff80;text-align:center;margin-top:22px;font-size:11px}.btn-block{text-align:center;width:100%;padding:11px}.link-plain{color:var(--tr-green-dark);background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}@media (max-width:820px){.topbar{gap:10px;padding:0 14px}.topbar .app-title{display:none}.search-input{width:130px}.toolbar{flex-wrap:wrap;padding:12px 14px 8px}.board-wrap,.list-wrap{padding-left:14px;padding-right:14px}:root{--col-w:280px}.drawer{width:100vw}.hero .topbar,.hero-inner,.portal-main,.portal-footer{padding-left:18px;padding-right:18px}.widgets{grid-template-columns:1fr}.crm-banner{flex-direction:column;align-items:flex-start;gap:14px}.hero h1{font-size:26px}}
