:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17272b;background:#eef3f3;--deep:#153f46;--deep2:#102f35;--gold:#d3a448;--green:#2f8067;--red:#8f4343;--panel:#fff;--muted:#6c7b7e}*{box-sizing:border-box}body{margin:0}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;padding:11px 15px;background:var(--deep);color:#fff;font-weight:700;cursor:pointer}button.secondary{background:#dfe8e8;color:#263c40}.center-card{max-width:460px;margin:8vh auto;background:white;padding:30px;border-radius:18px;box-shadow:0 14px 40px #1232}.center-card h1{color:var(--deep);margin-bottom:4px}.center-card form,.panel form{display:grid;gap:13px}.center-card label,.panel label{display:grid;gap:6px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cdd9d9;border-radius:9px;padding:11px;background:#fff}.brand-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:var(--gold);font-weight:900}.app header{background:var(--deep2);color:#fff;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:10}.app header strong{font-size:20px}.app header small{display:block;color:#b8cbcd;margin-top:2px}.app nav{display:flex;gap:6px;flex-wrap:wrap}.app nav button{background:transparent;padding:9px 10px}.app nav button.active{background:#fff2;color:#fff}.app main{max-width:1240px;margin:auto;padding:18px}.hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hero>div{background:var(--panel);border-radius:16px;padding:16px;border-top:4px solid var(--deep);min-width:0}.hero .expense-total{border-color:var(--red)}.hero .income-total{border-color:var(--green)}.hero .balance-total{border-color:var(--gold)}.hero h2{margin:4px 0;font-size:16px}.hero strong{font-size:28px;line-height:1.05;color:var(--deep);overflow-wrap:anywhere}.hero span{display:block;color:var(--muted);margin-top:4px;font-size:12px}.mtd-line{margin-top:12px;padding-top:10px;border-top:1px solid #e5ecec}.mtd-line small{display:block;color:var(--muted);font-size:11px}.mtd-line b{display:block;margin-top:3px;font-size:20px;line-height:1.05;color:var(--deep);overflow-wrap:anywhere}.mtd-line span{font-size:11px}.balance-status{font-weight:800}.balance-status.profit{color:var(--green)}.balance-status.loss{color:var(--red)}.quick{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.voice{background:var(--red)}.panel{background:var(--panel);border-radius:16px;padding:18px;margin-top:15px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.recent{display:grid;gap:7px}.recent-row{display:grid;grid-template-columns:100px 90px 1fr auto;gap:10px;border-bottom:1px solid #edf1f1;padding:10px 2px}.recent-row .Income{color:var(--green)}.recent-row .Expense{color:var(--red)}.recent-details{min-width:0}.recent-details>b{display:block;color:var(--deep)}.recent-details small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}.grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px!important}.grid .wide{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:10px}.voice-box{background:#fff5f2;border:1px solid #ead3cc;border-radius:12px;padding:12px;margin-bottom:14px}.muted{color:var(--muted);font-size:13px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.filters>*{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:10px;border-bottom:1px solid #e7eded}th{font-size:13px;color:#53676b}.amount-income{color:var(--green);font-weight:800}.amount-expense{color:var(--red);font-weight:800}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-grid>.panel:first-child{grid-column:1/-1}.inline-form{grid-template-columns:130px 1fr auto!important}.admin-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf1f1}.toast{position:fixed;right:18px;bottom:18px;background:#173c42;color:white;padding:12px 15px;border-radius:10px;z-index:99;display:none;max-width:360px}.toast.show{display:block}@media(max-width:900px){.hero{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app header{align-items:flex-start;flex-direction:column}.app nav{width:100%;overflow:auto;flex-wrap:nowrap}.app nav button{white-space:nowrap}.app main{padding:11px}.hero{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero strong{font-size:26px}.mtd-line b{font-size:19px}.grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.settings-grid>.panel:first-child{grid-column:auto}.recent-row{grid-template-columns:80px 70px 1fr}.recent-row>:last-child{grid-column:3}.center-card{margin:4vh 12px;padding:22px}}@media(max-width:440px){.grid{grid-template-columns:1fr}.grid .wide{grid-column:auto}.inline-form{grid-template-columns:1fr!important}.hero strong{font-size:24px}.mtd-line b{font-size:18px}}

.boot-error{max-width:920px;margin:18px auto;padding:14px 16px;border:1px solid #b42318;border-radius:10px;background:#fff4f2;color:#7a271a;font-weight:700;line-height:1.45}.hidden{display:none!important}
.link-button{display:inline-block;text-decoration:none;border-radius:10px;padding:11px 15px;background:var(--deep);color:#fff;font-weight:700}.status-pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.status-active{background:#e7f5ef;color:#24684f}.status-inactive{background:#fbeaea;color:#8f4343}.company-actions{display:flex;gap:6px;flex-wrap:wrap}.company-link{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.danger{background:#8f4343}.small-btn{padding:7px 9px;font-size:12px}

.subcategory-list{display:block;margin-top:4px;font-size:.78rem;font-weight:400;line-height:1.35;max-width:560px}.category-admin-row>span{min-width:0}.voice-box #voiceRetry{margin-top:8px}.voice-box{border-left:4px solid var(--accent,#914848)}
.check-line{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important}.check-line input{width:auto}.import-actions{justify-content:flex-start;margin-top:4px}.import-result{margin-top:12px;padding:10px;border:1px solid #dce6e6;border-radius:10px;background:#f8fbfb;line-height:1.5}.import-result strong{color:var(--deep)}.import-progress{height:8px;border-radius:999px;background:#e3ebeb;overflow:hidden;margin-top:8px}.import-progress>span{display:block;height:100%;background:var(--green);width:0;transition:width .15s ease}

.import-mode-box{display:grid;gap:9px;margin:12px 0}.import-mode{display:flex!important;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px!important;border:1px solid #dce6e6;border-radius:10px;padding:11px;background:#fbfdfd;cursor:pointer}.import-mode input{width:auto;margin-top:3px}.import-mode span{display:block}.import-mode small{display:block;margin-top:4px;color:var(--muted);font-weight:400;line-height:1.35}.replace-mode{border-color:#e3c4c4;background:#fff9f9}.replace-mode b{color:var(--red)}

.voice-profile-panel{grid-column:1/-1}.voice-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.voice-training-box{border:1px solid #d7e3e3;border-radius:12px;padding:14px;margin:12px 0;background:#f8fbfb}.training-phrase{font-size:20px;font-weight:800;line-height:1.5;padding:12px 0;overflow-wrap:anywhere}.voice-profile-panel textarea{min-height:110px}.voice-profile-panel .status-pill{align-self:flex-start}.voice-profile-panel .status-pill.status-active{background:#e5f4ee;color:#286b58}@media(max-width:760px){.training-phrase{font-size:18px}.voice-profile-actions button{flex:1 1 180px}}

.company-settings-panel{grid-column:1/-1}
