@font-face{font-family:__Poppins_51684b;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6c177e25b87fd9cd-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_51684b;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6c9a125e97d835e1-s.woff2) format("woff2");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:__Poppins_51684b;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/4c285fdca692ea22-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Poppins_51684b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_51684b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");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:__Poppins_51684b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Poppins_51684b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_51684b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format("woff2");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:__Poppins_51684b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8888a3826f4a3af4-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Poppins_51684b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_51684b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");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:__Poppins_51684b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Poppins_51684b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_51684b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");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:__Poppins_51684b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Poppins_Fallback_51684b;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_51684b{font-family:__Poppins_51684b,__Poppins_Fallback_51684b;font-style:normal}.__variable_51684b{--font-poppins:"__Poppins_51684b","__Poppins_Fallback_51684b"}@font-face{font-family:__Dosis_655291;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d272e7b6cb44010-s.woff2) format("woff2");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:__Dosis_655291;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/5526006a638d24ac-s.woff2) format("woff2");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:__Dosis_655291;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb82ded3ea7c03e0-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Dosis_655291;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6d272e7b6cb44010-s.woff2) format("woff2");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:__Dosis_655291;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5526006a638d24ac-s.woff2) format("woff2");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:__Dosis_655291;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/fb82ded3ea7c03e0-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Dosis_Fallback_655291;src:local("Arial");ascent-override:121.44%;descent-override:28.03%;line-gap-override:0.00%;size-adjust:84.57%}.__className_655291{font-family:__Dosis_655291,__Dosis_Fallback_655291;font-style:normal}.__variable_655291{--font-dosis:"__Dosis_655291","__Dosis_Fallback_655291"}:root{--brand-green:#6dc24b;--brand-green-hover:#5aad3f;--brand-dark:#002e3e;--brand-dark-soft:#023d52;--surface-mist:#e1edf9;--surface-neutral:#e6e6e6;--surface-page:#f0f6fc;--surface-card:#fff;--ink:#002e3e;--ink-muted:rgba(0,46,62,.72);--ink-subtle:rgba(0,46,62,.5);--ink-muted-on-dark:rgba(225,237,249,.78);--on-dark-link:rgba(225,237,249,.82);--border:rgba(0,46,62,.12);--sidebar-line:rgba(225,237,249,.14);--accent-soft:rgba(109,194,75,.18);--danger:#dc2626;--danger-hover:#b91c1c;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-body:var(--font-poppins),"Poppins",system-ui,-apple-system,sans-serif;--font-display:var(--font-dosis),"Dosis","Poppins",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;overflow:hidden;font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:var(--surface-page);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.page-loading{color:var(--ink-subtle);margin:0}.sidebar-loading{opacity:.7}.app-shell{display:grid;grid-template-columns:240px 1fr}.app-shell,.sidebar{height:100%;overflow:hidden}.sidebar{background:linear-gradient(180deg,rgba(0,18,28,.35) 0,transparent 40%),var(--brand-dark);color:#fff;padding:16px;display:flex;flex-direction:column;gap:16px;min-height:0;border-right:3px solid var(--brand-green)}.sidebar-brand{display:flex;align-items:center;gap:10px;margin:0;min-height:36px}.sidebar-brand-iso{display:block;width:36px;height:auto;flex-shrink:0}.sidebar-brand-label{font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1.15}.sidebar nav{display:flex;flex-direction:column;gap:6px;flex:1 1;min-height:0;overflow-y:auto;padding-right:4px}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:var(--sidebar-line);border-radius:999px}.sidebar a{padding:8px 12px;border-radius:8px;color:var(--on-dark-link);font-size:.92rem}.sidebar a.active,.sidebar a:hover{background:rgba(109,194,75,.16);color:#fff}.sidebar a.active{box-shadow:inset 3px 0 0 var(--brand-green)}.sidebar-group{display:flex;flex-direction:column;gap:2px;margin-top:8px}.sidebar-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--on-dark-link);font:inherit;font-size:.92rem;font-weight:600;text-align:left;cursor:pointer}.sidebar-group-toggle.active,.sidebar-group-toggle:hover{background:rgba(109,194,75,.16);color:#fff}.sidebar-group-toggle.active{box-shadow:inset 3px 0 0 var(--brand-green)}.sidebar-subnav{display:flex;flex-direction:column;gap:2px}.sidebar-subnav-link{padding-left:24px!important;font-size:.88rem;color:var(--ink-muted-on-dark)!important}.sidebar-subnav-link.active,.sidebar-subnav-link:hover{color:#fff!important}.sidebar .user-box{flex-shrink:0;margin-top:auto;padding-top:12px;border-top:1px solid var(--sidebar-line);font-size:.85rem}.sidebar .app-version{margin-top:10px;color:var(--ink-muted-on-dark);font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.main-content{padding:16px 20px;height:100%;min-height:0;overflow-y:auto}.main-content a:not(.btn):not(.sidebar a):not(.account-card-main):not(.dashboard-link-card){color:var(--brand-dark);text-decoration:none;font-weight:500}.main-content a:not(.btn):not(.account-card-main):not(.dashboard-link-card):hover{color:var(--brand-green-hover)}.main-content .table a{color:var(--brand-dark);font-weight:600}.main-content .table a:hover{color:var(--brand-green)}.main-content-chat{overflow:hidden;display:flex;flex-direction:column;padding-bottom:12px}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;box-shadow:0 8px 24px rgba(0,46,62,.04)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.account-sections{display:flex;flex-direction:column;gap:28px}.account-section{display:flex;flex-direction:column;gap:12px}.account-section-title{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.account-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.account-card{position:relative;display:flex;flex-direction:row;align-items:center;margin:0;padding:0;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,46,62,.04);text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.account-card:focus-within,.account-card:hover{border-color:var(--brand-green);box-shadow:0 10px 28px rgba(0,46,62,.08)}.account-card-main{display:flex;flex-direction:row;align-items:center;gap:14px;flex:1 1;min-width:0;padding:16px 18px;color:inherit;text-decoration:none;font-weight:inherit}.account-card-settings{position:absolute;top:10px;right:10px;width:28px;height:28px;opacity:0;pointer-events:none;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.account-card:focus-within .account-card-settings,.account-card:hover .account-card-settings{opacity:1;pointer-events:auto}.account-card-icon{width:64px;height:64px;object-fit:contain;border-radius:14px;background:var(--surface-mist);flex-shrink:0}.account-card-icon-fallback{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.35rem;letter-spacing:.04em;color:var(--brand-dark)}.account-card-icon-fallback.type-bank{background:var(--surface-mist)}.account-card-icon-fallback.type-cash{background:var(--accent-soft)}.account-card-icon-fallback.type-investment{background:#dbe7f0}.account-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}.account-card-name{font-weight:400;font-size:1.2rem;color:var(--ink);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:32px}.account-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.account-card-currency{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle)}.account-card-balance{font-size:1rem;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.account-card-balance.negative{color:var(--danger)}.account-icon-field{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.account-icon-picker{display:flex;align-items:center;gap:14px}.account-icon-preview{width:72px;height:72px;object-fit:contain;border-radius:16px;background:var(--surface-mist);flex-shrink:0}.account-icon-preview-fallback{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:var(--brand-dark)}.account-icon-picker-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.account-icon-picker-actions .form-hint{flex-basis:100%}.form-stack .account-icon-file-label{flex-direction:row;align-items:center;width:auto;cursor:pointer}@media (max-width:1100px){.account-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.account-card-grid{grid-template-columns:1fr}}.table{width:100%;border-collapse:collapse;font-size:.8125rem}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border)}.table th{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle)}.table-row-selected td{background:var(--surface-mist)}.table .nowrap{white-space:nowrap;width:1%}.table .amount{text-align:right}.table-category-list{table-layout:fixed}.table-category-list col.col-code{width:14%}.table-category-list col.col-active,.table-category-list col.col-order{width:12%}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.04em;background:var(--surface-mist);color:var(--ink-muted)}.badge.active{background:var(--accent-soft);color:var(--brand-dark)}.btn{border:2px solid var(--brand-green);border-radius:var(--radius-sm);padding:8px 14px;background:var(--brand-green);color:#fff;font-weight:600;font-size:.82rem;letter-spacing:.02em;transition:background-color .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--brand-green-hover);border-color:var(--brand-green-hover)}.btn.secondary{background:var(--surface-mist);border-color:var(--brand-dark);color:var(--brand-dark)}.btn.secondary:hover:not(:disabled){background:#d0e3f4}.btn-danger,.btn.secondary.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled),.btn.secondary.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.input,.textarea{width:100%;padding:8px 12px;background:var(--surface-card)}.input,.textarea,select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font:inherit;padding:8px 36px 8px 12px;background-color:var(--surface-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.input:focus,.textarea:focus,select:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px var(--accent-soft)}select:disabled{opacity:.6;cursor:not-allowed}.table select{min-width:120px;max-width:100%}.textarea{min-height:120px;resize:vertical}.form{display:flex;flex-direction:column;gap:12px;max-width:420px}.error{color:var(--danger-hover);font-size:.9rem}.chat-page{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.chat-page .page-header{flex-shrink:0;margin-bottom:12px}.chat-page .card.chat-layout{flex:1 1;padding:16px}.chat-layout,.chat-page .card.chat-layout{min-height:0;display:flex;flex-direction:column;overflow:hidden}.chat-layout{flex:1 1;gap:12px}.chat-messages{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.chat-message-row{display:flex;width:100%}.chat-message-row.in{justify-content:flex-start}.chat-message-row.out{justify-content:flex-end}.chat-message{max-width:min(75%,520px);padding:8px 12px;border-radius:12px;word-break:break-word}.chat-message-in{background:var(--surface-card);border:1px solid var(--border);border-top-left-radius:4px}.chat-message-out{background:rgba(109,194,75,.22);border:1px solid rgba(109,194,75,.4);border-top-right-radius:4px}.chat-sender{font-size:.78rem;font-weight:600;color:var(--brand-green);margin-bottom:4px}.chat-content{white-space:pre-wrap;font-size:.95rem;line-height:1.4}.chat-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;font-size:.7rem;color:var(--ink-subtle)}.chat-meta .badge{font-size:.65rem;padding:1px 6px}.chat-query-thread{display:flex;flex-direction:column;gap:6px;width:100%}.chat-message-query-response{background:var(--surface-mist);border-color:rgba(109,194,75,.35)}.chat-message-query-response .chat-sender{color:var(--brand-dark)}.chat-message .query-sources{margin-top:8px;font-size:.8rem;color:var(--ink-subtle)}.chat-message .query-sources ul{margin:4px 0 0;padding-left:18px}.chat-input-row{flex-shrink:0}.chat-textarea-wrap{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--surface-card);overflow:hidden}.chat-textarea-shell{position:relative;flex-shrink:0}.chat-resize-handle{position:absolute;top:6px;right:6px;z-index:2;width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface-page);color:var(--ink-subtle);display:grid;place-items:center;cursor:ns-resize;box-shadow:0 1px 2px rgba(17,24,39,.06)}.chat-resize-handle:hover{color:var(--ink-muted);background:var(--surface-mist);border-color:var(--border)}.chat-resize-handle:active{background:var(--border)}.chat-textarea-wrap:focus-within{border-color:var(--brand-green);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.chat-textarea{width:100%;min-height:72px;padding:12px 36px 12px 12px;resize:none;border:none;border-radius:0;background:transparent;box-sizing:border-box;overflow-y:auto}.chat-textarea:focus{outline:none}.chat-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:transparent;flex-shrink:0}.chat-textarea-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.chat-send-btn{width:32px;height:32px;border:none;border-radius:8px;background:var(--brand-dark);color:#fff;display:grid;place-items:center;padding:0;flex-shrink:0}.chat-send-btn:hover:not(:disabled){background:var(--brand-dark-soft)}.chat-send-btn:disabled{background:var(--border);color:var(--ink-subtle);cursor:not-allowed}.chat-send-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:chat-send-spin .7s linear infinite}.chat-send-btn:disabled .chat-send-spinner{border-color:rgba(156,163,175,.35);border-top-color:var(--ink-muted-on-dark)}@keyframes chat-send-spin{to{transform:rotate(1turn)}}.chat-mode-select,.chat-visibility-select{border:1px solid var(--border);border-radius:6px;padding:4px 28px 4px 8px;font-size:.8rem;background-color:var(--surface-card);background-position:right 6px center;color:var(--ink-muted);cursor:pointer}.chat-mode-select:hover,.chat-visibility-select:hover{background-color:var(--surface-card);border-color:var(--border)}.visibility-select{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--ink-subtle);max-width:220px}.badge.visibility-team{background:var(--surface-mist);color:var(--brand-dark)}.badge.visibility-leadership{background:#fef3c7;color:#92400e}.badge.visibility-private{background:#ede9fe;color:#5b21b6}.inbox-list{display:flex;flex-direction:column;gap:16px}.inbox-item{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--surface-page)}.proposal-box{margin-top:10px;padding:10px;border-radius:8px;background:var(--surface-card);border:1px solid var(--border);font-size:.92rem}.inbox-actions{display:flex;gap:8px;margin-top:12px}.login-page{height:100%;min-height:100vh;display:grid;place-items:center;overflow:auto;padding:24px;position:relative;isolation:isolate;background-image:linear-gradient(180deg,rgba(0,18,28,.72),rgba(0,14,24,.78) 48%,rgba(0,10,20,.84)),linear-gradient(165deg,#001219,#00202c 42%,#002e3e)}.login-page:before{z-index:0;background-image:linear-gradient(0deg,rgba(8,38,52,.42) 1px,transparent 0),linear-gradient(90deg,rgba(8,38,52,.42) 1px,transparent 0),linear-gradient(0deg,rgba(18,58,74,.28) 1px,transparent 0),linear-gradient(90deg,rgba(18,58,74,.28) 1px,transparent 0);background-size:28px 28px,28px 28px,112px 112px,112px 112px;opacity:.7}.login-page:after,.login-page:before{content:"";position:absolute;inset:0;pointer-events:none}.login-page:after{z-index:1;background:radial-gradient(ellipse 80% 55% at 50% 0,rgba(109,194,75,.1),transparent 50%)}.login-card{position:relative;z-index:2;width:100%;max-width:420px;border-top:3px solid var(--brand-green);box-shadow:0 24px 60px rgba(0,0,0,.28)}.login-brand-logo{display:block;width:min(200px,70%);height:auto;margin:0 auto 10px}.login-brand-tagline{margin:0 0 18px;color:var(--ink-muted);font-weight:300;text-align:center}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h2{margin:0;font-size:1.45rem;font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;color:var(--ink)}.page-header-actions{display:flex;align-items:center;gap:10px}.pipeline-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}.pipeline-column{background:var(--surface-page);border:1px solid var(--border);border-radius:10px;padding:12px;min-height:140px;transition:border-color .15s ease,background-color .15s ease}.pipeline-column-drop-target{border-color:var(--brand-green);background:var(--surface-mist)}.pipeline-column-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.pipeline-column-header h3{margin:0;font-size:.95rem}.pipeline-empty{margin:0;font-size:.85rem;color:var(--ink-subtle)}.pipeline-empty-drop{border:1px dashed rgba(109,194,75,.45);border-radius:8px;padding:12px;text-align:center;color:var(--brand-green)}.pipeline-card{display:block;width:100%;text-align:left;background:var(--surface-card);border:1px solid var(--border);border-radius:8px;padding:10px;margin-top:8px;cursor:pointer}.pipeline-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.pipeline-card[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}.pipeline-card-dragging{opacity:.45}.pipeline-card-updating{opacity:.7;pointer-events:none}.pipeline-card:hover{border-color:rgba(109,194,75,.45);box-shadow:0 2px 8px rgba(37,99,235,.08)}.pipeline-card-meta{margin-top:6px;font-size:.85rem;color:var(--ink-subtle)}.table tr.highlighted td{background:#fef3c7}.form-inline{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:8px}.form-inline label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;min-width:240px}.form-inline select{border:1px solid var(--border);border-radius:8px;padding:10px 36px 10px 12px;background-color:var(--surface-card)}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:500}.checkbox-label input{width:auto}.card-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-section-header h3{margin:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ink-subtle);cursor:pointer;flex-shrink:0}.icon-button:hover{background:var(--surface-mist);color:var(--brand-dark)}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-row-actions-cell{width:1%;white-space:nowrap;text-align:right}.table-team-payments{width:100%}.table-team-payments .col-actions,.table-team-payments .col-amount,.table-team-payments .col-date,.table-team-payments .col-development,.table-team-payments .col-person,.table-team-payments .col-usd{width:1%;white-space:nowrap}.table-team-payments .col-notes{width:auto;min-width:12rem;overflow-wrap:anywhere}.table-row-actions{display:inline-flex;align-items:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.table tbody tr:focus-within .table-row-actions,.table tbody tr:hover .table-row-actions{opacity:1;pointer-events:auto}.link-button{background:none;border:none;padding:0;color:var(--brand-green);cursor:pointer;font:inherit;text-align:left}.link-button:hover{text-decoration:underline}.link-actions{margin-top:8px}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--surface-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(17,24,39,.12);padding:4px;z-index:20}.dropdown-item{display:block;width:100%;border:none;border-radius:6px;padding:10px 12px;background:transparent;color:var(--brand-dark);text-align:left}.dropdown-item:hover{background:var(--surface-mist)}.modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.45);display:grid;place-items:center;padding:24px;z-index:50}.modal-backdrop-elevated{z-index:60}.confirm-dialog{max-width:420px}.modal{width:100%;max-width:440px;background:var(--surface-card);border-radius:12px;border:1px solid var(--border);padding:20px;box-shadow:0 16px 40px rgba(17,24,39,.18)}.modal-wide{max-width:720px}.modal-classify-import{max-width:min(92vw,1200px)}.modal-classify-import>p{font-size:calc(1rem - 2px)}.modal-invoice{max-width:min(80vw,920px);max-height:min(80vh,calc(100dvh - 48px));display:flex;flex-direction:column;overflow:hidden;padding:0}.modal-invoice-scroll{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-invoice .modal-header{flex-shrink:0;margin-bottom:0;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.modal-invoice-form{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.modal-invoice-fields{flex-shrink:0;padding:16px 20px 12px}.modal-invoice-lines{display:flex;flex-direction:column;padding:0 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-page)}.modal-invoice-lines-header{flex-shrink:0;padding:12px 0 8px}.modal-invoice-lines-scroll{display:flex;flex-direction:column;gap:12px;padding-bottom:12px}.modal-invoice-footer{padding:20px 20px 16px}.modal-invoice-notes{margin-top:8px}.pending-attachments{margin-top:4px}.file-drop-zone{position:relative}.file-drop-zone-global-drag{outline:2px dashed rgba(109,194,75,.45);outline-offset:4px;border-radius:8px}.file-drop-zone-active{outline:2px dashed var(--brand-green);outline-offset:4px;border-radius:8px;background:rgba(37,99,235,.06)}.file-drop-zone-active .file-drop-zone-overlay{background:rgba(239,246,255,.88)}.file-drop-zone-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:hsla(0,0%,100%,.82);pointer-events:none;z-index:1}.file-drop-zone-overlay span{padding:8px 16px;border:1px dashed var(--brand-green);border-radius:8px;background:var(--surface-mist);color:var(--brand-green);font-size:.9rem;font-weight:500}.file-upload-section{margin-bottom:16px}.modal-invoice .modal-actions{flex-shrink:0;margin-top:0;padding:20px;border-top:1px solid var(--border);background:var(--surface-card)}@media (max-width:640px){.modal-backdrop{padding:12px}.modal-invoice{max-width:100%;max-height:calc(100dvh - 24px)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3{margin:0;font-size:1.1rem}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ink-subtle);cursor:pointer;flex-shrink:0}.modal-close:hover{background:var(--surface-mist);color:var(--brand-dark)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions-between{justify-content:space-between;align-items:center}.modal-actions-group{display:flex;gap:8px}.modal-actions-wrap{flex-wrap:wrap;justify-content:flex-end}.form-stack label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.form-stack label.checkbox-label{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}.form-stack input,.form-stack select,.form-stack textarea{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background-color:var(--surface-card)}.form-stack select{padding-right:36px}.form-stack,.payment-allocation-editor{display:flex;flex-direction:column;gap:12px}.payment-allocation-editor{border-top:1px solid var(--border);padding-top:12px}.payment-allocation-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.payment-allocation-header h4{margin:0}.allocation-row{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-page)}.allocation-row-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.allocation-row-title{font-size:.85rem;font-weight:600;color:var(--ink-subtle)}.allocation-row label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;min-width:0}.allocation-row .money-input input,.allocation-row select{width:100%}.field-with-action{display:flex;align-items:center;gap:8px}.field-with-action input,.field-with-action select{flex:1 1;min-width:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;align-items:end}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-line-qty-cell{width:7rem}.quote-line-qty-cell .money-input,.quote-line-qty-cell .money-input input,.quote-line-qty-cell input{width:100%;max-width:7rem;box-sizing:border-box}.quote-line-actions{width:2.5rem;text-align:right;white-space:nowrap}.form-hint{margin:0;font-size:.9rem;color:var(--ink-subtle)}.form-section-title{margin:4px 0 0;font-size:.95rem;font-weight:600;color:var(--brand-dark)}.form-section{display:flex;flex-direction:column;gap:12px}.form-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.money-input{display:flex;flex-direction:column;gap:4px;width:100%}.money-input input{width:100%}.money-input-hint{margin:0;font-size:.8rem}.invoice-pesification{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-page)}.invoice-pesification-toggle{flex-direction:row!important;align-items:center;gap:8px;font-weight:600}.invoice-pesification-toggle input{width:auto}.invoice-pesification-payments,.invoice-pesification-rates{display:grid;grid-gap:12px;gap:12px;align-items:start}.invoice-pesification-rates{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-pesification-payments{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.invoice-pesification-payments,.invoice-pesification-rates{grid-template-columns:1fr}}.invoice-line-item{gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-card)}.invoice-line-sources{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-line-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px) 32px;grid-gap:12px;gap:12px;align-items:end}.invoice-line-remove{margin-bottom:1px}.invoice-line-remove-spacer{width:32px}.invoice-line-load{align-self:flex-start}.invoice-line-detail{margin:6px 0 0;padding-left:18px;color:var(--ink-muted);font-size:13px;line-height:1.45}.invoice-line-detail li+li{margin-top:2px}.invoice-services-table td{vertical-align:top}.icon-button-danger{color:var(--danger)}.badge.severity-critical,.icon-button-danger:hover{background:#fee2e2;color:#991b1b}.badge.severity-warning{background:#fef3c7;color:#92400e}.badge.severity-info{background:var(--surface-mist);color:var(--brand-dark)}.pending-summary-list{margin:8px 0 0;padding-left:18px}.pending-summary-list .severity-critical{color:#991b1b}.pending-summary-list .severity-warning{color:#92400e}.dashboard-layout{display:flex;flex-direction:column;gap:16px}.dashboard-section{display:flex;flex-direction:column;gap:14px}.dashboard-section-header{display:flex;align-items:center;gap:10px}.dashboard-section-header h3{margin:0;font-size:1.05rem}.dashboard-section-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--surface-mist);color:var(--brand-dark);flex-shrink:0}.dashboard-attention{display:flex;flex-direction:column;gap:12px}.dashboard-attention.has-pending{background:#fffbeb;border-color:rgba(245,158,11,.35)}.dashboard-attention.is-clear{background:var(--accent-soft);border-color:rgba(109,194,75,.28)}.dashboard-attention-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-attention-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.dashboard-attention-count{display:block;font-size:1.2rem;font-weight:700;color:var(--ink);line-height:1.25}.dashboard-pending-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.dashboard-pending-list li{padding:6px 10px;border-radius:999px;background:#fff;font-size:.88rem;color:var(--ink-muted)}.dashboard-pending-list .severity-critical{color:#991b1b;background:#fee2e2}.dashboard-pending-list .severity-warning{color:#92400e;background:#fef3c7}.dashboard-kpi-grid{display:grid;grid-gap:12px;gap:12px}.dashboard-kpi-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-secondary-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin:0;padding-top:4px;border-top:1px solid var(--border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.dashboard-link-card{text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.dashboard-link-card:hover{border-color:var(--brand-green);box-shadow:0 8px 20px rgba(0,46,62,.06)}@media (max-width:700px){.dashboard-kpi-grid.cols-2,.dashboard-kpi-grid.cols-3{grid-template-columns:1fr}.dashboard-attention-header{flex-direction:column;align-items:stretch}}.pnl-card{padding:0;overflow:hidden}.pnl-table-wrap{overflow-x:auto}.pnl-table{min-width:960px}.pnl-table thead th{background:var(--brand-green);color:#fff;white-space:nowrap}.pnl-table td,.pnl-table th{text-align:right;white-space:nowrap}.pnl-sticky-col{position:-webkit-sticky;position:sticky;left:0;z-index:1;text-align:left!important;min-width:280px;background:var(--surface-card);box-shadow:1px 0 0 var(--border)}.pnl-table thead .pnl-sticky-col{z-index:2;background:var(--brand-green)}.pnl-row-section td{background:var(--surface-mist);font-weight:700;text-align:left!important}.pnl-row-total td{font-weight:700;border-top:1px solid var(--border)}.pnl-row-highlight td{background:var(--surface-page)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.filter-field{display:flex;flex-direction:column;gap:6px;min-width:160px}.filter-field.filter-field-grow{flex:1 1;min-width:220px}.filter-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-subtle)}.filter-control{height:40px;border:1px solid var(--border);border-radius:8px;padding:0 12px;background-color:var(--surface-card);color:var(--brand-dark);font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.filter-control:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px rgba(37,99,235,.15)}select.filter-control{padding-right:36px}.filter-actions{display:flex;align-items:flex-end}.filter-clear{height:40px;background:transparent;border:1px solid var(--border);color:var(--ink-muted);border-radius:8px;padding:0 14px;font-size:.9rem;transition:background .15s ease,border-color .15s ease}.filter-clear:hover:not(:disabled){background:var(--surface-mist);border-color:var(--ink-subtle)}.filter-clear:disabled{opacity:.5;cursor:not-allowed}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.pagination-summary{font-size:.85rem;color:var(--ink-subtle)}.pagination-controls{display:flex;align-items:center;gap:10px}.pagination-page{font-size:.85rem;color:var(--sidebar-line);min-width:96px;text-align:center}.pagination-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface-card);color:var(--ink-muted);font-size:1.25rem;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.pagination-arrow:hover:not(:disabled){background:var(--surface-mist);border-color:var(--border);color:var(--brand-dark)}.pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.multi-select{position:relative}.multi-select-control{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:8px;padding:4px 10px;background:var(--surface-card);color:var(--brand-dark);font-size:.9rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.multi-select-control:focus,.multi-select-control[aria-expanded=true]{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.multi-select-value{flex:1 1;min-width:0}.multi-select-placeholder{color:var(--ink-subtle)}.multi-select-chips{display:flex;flex-wrap:wrap;gap:4px}.multi-select-chip{gap:4px;background:var(--surface-mist);border:1px solid rgba(109,194,75,.35);padding:2px 8px;font-size:.8rem;line-height:1.4}.multi-select-chip,.multi-select-chip-remove{display:inline-flex;align-items:center;color:var(--brand-green);border-radius:999px}.multi-select-chip-remove{justify-content:center;width:16px;height:16px;font-size:.95rem;line-height:1;cursor:pointer}.multi-select-chip-remove:hover{background:rgba(109,194,75,.35)}.select-caret{color:var(--ink-subtle);flex-shrink:0}.multi-select-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;max-height:280px;background:var(--surface-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.12);padding:6px;overflow:hidden}.multi-select-search{flex-shrink:0;padding:4px 4px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.multi-select-search-input{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--surface-page);color:var(--ink);font-size:.9rem}.multi-select-search-input:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px var(--accent-soft)}.multi-select-options{flex:1 1;min-height:0;overflow-y:auto}.multi-select-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:.9rem;cursor:pointer}.multi-select-option:hover{background:var(--surface-mist)}.multi-select-option input{width:16px;height:16px;accent-color:var(--brand-green)}.multi-select-empty{margin:0;padding:10px;font-size:.85rem;color:var(--ink-subtle)}.searchable-select{position:relative}.searchable-select-disabled{opacity:.6}.searchable-select-required-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.searchable-select-control{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface-card);color:var(--ink);font:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.searchable-select-control:focus,.searchable-select-control[aria-expanded=true]{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px var(--accent-soft)}.searchable-select-control:disabled{cursor:not-allowed}.searchable-select-value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-placeholder{color:var(--ink-subtle)}.searchable-select-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;max-height:280px;background:var(--surface-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.12);padding:6px;overflow:hidden}.searchable-select-menu-portal{position:fixed;right:auto;z-index:80}.searchable-select-search{flex-shrink:0;padding:4px 4px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.searchable-select-search-input{width:100%;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--surface-page);color:var(--ink);font-size:.9rem}.searchable-select-search-input:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px var(--accent-soft)}.searchable-select-options{flex:1 1;min-height:0;overflow-y:auto}.searchable-select-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:6px;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer}.searchable-select-option.selected,.searchable-select-option:hover{background:var(--surface-mist)}.searchable-select-option.selected{font-weight:600}.searchable-select-empty{margin:0;padding:10px;font-size:.85rem;color:var(--ink-subtle)}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.grid-2{grid-template-columns:1fr}.filter-field{min-width:100%}}.preview-layout{height:100%;overflow-y:auto;background:var(--surface-page)}.attachment-preview-page{max-width:900px;margin:0 auto;padding:24px;min-height:100%}.attachment-preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.attachment-preview-header h1{margin:0;font-size:1.25rem;font-weight:600;word-break:break-word}.attachment-preview-body{background:var(--surface-card);border:1px solid var(--border);border-radius:8px;padding:32px}.markdown-viewer{line-height:1.7;color:var(--ink);font-size:1rem}.markdown-viewer h1,.markdown-viewer h2,.markdown-viewer h3,.markdown-viewer h4,.markdown-viewer h5,.markdown-viewer h6{margin:1.5em 0 .75em;line-height:1.3;font-weight:600}.markdown-viewer h1{font-size:1.75rem;border-bottom:1px solid var(--border);padding-bottom:.3em}.markdown-viewer h2{font-size:1.4rem;border-bottom:1px solid var(--border);padding-bottom:.25em}.markdown-viewer h3{font-size:1.2rem}.markdown-viewer blockquote,.markdown-viewer ol,.markdown-viewer p,.markdown-viewer pre,.markdown-viewer ul{margin:0 0 1em}.markdown-viewer ol,.markdown-viewer ul{padding-left:1.5em}.markdown-viewer li+li{margin-top:.25em}.markdown-viewer blockquote{border-left:4px solid var(--border);padding-left:1em;color:var(--ink-subtle)}.markdown-viewer code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em;background:var(--surface-mist);padding:.15em .35em;border-radius:4px}.markdown-viewer pre{background:var(--brand-dark-soft);color:var(--surface-page);padding:16px;border-radius:8px;overflow-x:auto}.markdown-viewer pre code{background:none;padding:0;color:inherit}.markdown-viewer table{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:.95rem}.markdown-viewer td,.markdown-viewer th{border:1px solid var(--border);padding:8px 12px;text-align:left}.markdown-viewer th{background:var(--surface-page);font-weight:600}.markdown-viewer a{color:var(--brand-green);text-decoration:underline}.markdown-viewer hr{border:none;border-top:1px solid var(--border);margin:2em 0}.markdown-viewer img{max-width:100%;height:auto;border-radius:4px}.requirement-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.requirement-collapse-header,.requirement-collapse-toggle{gap:8px;align-items:flex-start}.requirement-collapse-toggle{display:flex;flex:1 1;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.requirement-collapse-toggle:hover{color:var(--brand-dark)}.requirement-collapse-summary{display:flex;flex-direction:column;gap:2px;min-width:0}.requirement-collapse-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.requirement-collapse-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0}.badge.badge-req-approved{background:var(--accent-soft);color:var(--brand-dark)}.badge.badge-req-pending{background:#fef3c7;color:#92400e}.badge.badge-req-rejected{background:#fee2e2;color:#991b1b}.badge.badge-req-none,.badge.badge-task-todo{background:var(--surface-mist);color:var(--ink-muted)}.badge.badge-task-doing{background:#dbeafe;color:#1e40af}.badge.badge-task-blocked{background:#fee2e2;color:#991b1b}.badge.badge-task-done{background:var(--accent-soft);color:var(--brand-dark)}.badge.badge-billing-not_invoiced{background:#fef3c7;color:#92400e}.badge.badge-billing-partial{background:#dbeafe;color:#1e40af}.badge.badge-billing-invoiced{background:#dcfce7;color:#166534}.badge.badge-billing-no_sale_price,.badge.badge-project-planned{background:var(--surface-mist);color:var(--ink-muted)}.badge.badge-project-active{background:#dbeafe;color:#1e40af}.badge.badge-project-on_hold{background:#fef3c7;color:#92400e}.badge.badge-project-done{background:#dcfce7;color:#166534}.badge.badge-project-cancelled{background:#fee2e2;color:#991b1b}.development-card .requirement-collapse-header{align-items:center;margin-bottom:0}.development-collapse-main{display:flex;align-items:center;gap:4px;flex:1 1;min-width:0}.development-drag-handle{cursor:-webkit-grab;cursor:grab;color:var(--ink-subtle)}.development-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.development-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .15s ease}.development-card:focus-within .development-header-actions,.development-card:hover .development-header-actions{opacity:1;pointer-events:auto}.development-card-drop{outline:2px dashed var(--brand-green);outline-offset:2px}.development-card.highlighted{box-shadow:0 0 0 2px #f59e0b,0 8px 24px rgba(0,46,62,.04);background:#fffbeb}.development-new-card{display:flex;align-items:center;justify-content:center;min-height:72px;margin:0;padding:16px 18px;border:2px dashed var(--border);border-radius:var(--radius-md);background:transparent;color:var(--ink-subtle);font:inherit;font-size:1rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.development-new-card:hover{border-color:var(--brand-green);color:var(--brand-dark);background:var(--accent-soft)}.table-add-row td{padding:0;border-bottom:none}.table-add-row-button{display:flex;align-items:center;justify-content:center;width:100%;margin:4px 0 0;padding:12px 14px;border:2px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--ink-subtle);font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.table-add-row-button:hover{border-color:var(--brand-green);color:var(--brand-dark);background:var(--accent-soft)}.margin-panel{display:flex;flex-direction:column;gap:20px}.margin-metric-label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.margin-sale{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:var(--radius-md);background:var(--surface-mist)}.margin-sale-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#fff;color:var(--brand-dark);flex-shrink:0}.margin-sale-body{display:flex;flex-direction:column;gap:2px;min-width:0}.margin-sale-value{font-size:1.55rem;font-weight:700;line-height:1.2;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.margin-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.margin-kpi-card{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);min-width:0}.margin-kpi-card.is-warn .margin-kpi-value{color:var(--danger)}.margin-kpi-icon{display:inline-flex;color:var(--brand-dark);margin-bottom:4px}.margin-kpi-value{font-size:1.7rem;font-weight:700;line-height:1.15;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.margin-costs{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid var(--border)}.margin-section-title{margin:0;font-size:.95rem;font-weight:700;color:var(--ink)}.margin-cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.margin-cost-item{display:flex;flex-direction:column;gap:2px;min-width:0}.margin-cost-icon{display:inline-flex;color:var(--ink-subtle);margin-bottom:4px}.margin-cost-value{font-size:1.05rem;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:900px){.margin-kpi-grid{grid-template-columns:1fr}.margin-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-overview{display:flex;flex-direction:column;gap:16px}.project-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.project-context-item{display:flex;align-items:flex-start;gap:12px;min-width:0}.project-context-icon,.project-hours-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--surface-mist);color:var(--brand-dark);flex-shrink:0}.project-context-body,.project-hours-body,.project-next-step-body{display:flex;flex-direction:column;gap:2px;min-width:0}.project-context-value{font-size:1.05rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-context-value.is-empty{color:var(--ink-subtle);font-weight:500}.project-next-step{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid rgba(109,194,75,.28)}.project-next-step.is-empty{background:var(--surface-mist);border-color:var(--border)}.project-next-step-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#fff;color:var(--brand-dark);flex-shrink:0}.project-next-step-text{margin:0;font-size:1.05rem;font-weight:600;color:var(--ink);line-height:1.35}.project-next-step.is-empty .project-next-step-text{color:var(--ink-subtle);font-weight:500}.project-hours{display:flex;align-items:center;gap:12px}.project-hours-value{font-size:1.15rem;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:700px){.project-context{grid-template-columns:1fr}}.detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:16px 24px;gap:16px 24px}.detail-meta-item{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-meta-label{color:var(--ink-subtle);font-size:.85rem;line-height:1.2}.detail-meta-value{margin:0;line-height:1.35;word-break:break-word}.cell-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.invoice-totals-row{display:grid;grid-template-columns:auto minmax(140px,max-content);grid-gap:12px 32px;gap:12px 32px;align-items:baseline;min-width:min(100%,320px)}.invoice-totals-label{text-align:right;color:var(--ink-subtle);font-size:.9rem}.invoice-totals-value{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-totals-row-emphasis .invoice-totals-label,.invoice-totals-row-emphasis .invoice-totals-value{color:var(--ink);font-weight:600}