
:root{--cyan:#00b9c9;--orange:#ff9d00;--ink:#11252d;--muted:#536971;--line:#e2ecee;--accent:#087581;--bg:#f2f7f8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 "Instrument Sans",system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #008c9a;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.4px}h2{font-size:20px;letter-spacing:-.4px}.muted,small{color:var(--muted)}.shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}aside{background:#fff;border-right:1px solid var(--line);padding:30px 18px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.logo{width:159px;margin:0 0 34px 12px}.workspace{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:11px;margin-bottom:26px;font-size:13px}.avatar{display:grid;place-items:center;background:#dff7f8;color:#075963;border-radius:10px;width:34px;height:34px;font-weight:800;flex:none}.workspace small{display:block}.nav{display:grid;gap:5px}.nav button{text-align:left;background:none;border:0;color:var(--muted);border-radius:11px;padding:11px 12px;display:flex;gap:11px;align-items:center}.nav button[aria-current=page]{background:#dff7f8;color:#065962;font-weight:750}.nav button:hover{background:#ebf6f7}.ico{width:19px;height:19px;flex:none;vertical-align:middle}.bottom{margin-top:auto;padding:14px 12px}.bottom small{display:block}.main{width:100%;max-width:1540px;padding:24px clamp(20px,3vw,48px) 42px;margin:auto;margin-top:0}.top,.section-head,.card-head,.actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.top{margin-bottom:20px}.top p{font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:680;text-decoration:none;white-space:nowrap}.primary{background:#07353d;color:#fff;border-color:#07353d}.btn:hover{filter:brightness(.95)}.hero{isolation:isolate;position:relative;overflow:hidden;min-height:285px;border-radius:25px;padding:30px 34px;color:#f5ffff;background:radial-gradient(ellipse at 82% 54%,#10585b 0%,#09343e 36%,#081c26 76%);display:flex;align-items:center;box-shadow:0 14px 26px #07343d18}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#c0ffff10 1px,transparent 1px),linear-gradient(90deg,#c0ffff10 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent 10%,black)}.forecast{border:1px solid #b9fcff46;border-top-color:#ddffff75;background:linear-gradient(135deg,#d5ffff1f,#bcffff09);backdrop-filter:blur(14px);border-radius:20px;padding:19px 22px;max-width:410px;width:100%;box-shadow:inset 0 1px 0 #fff2,0 12px 22px #0002}.live{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#aef8f9}.live::before{content:"";width:7px;height:7px;border-radius:50%;background:#56f5df;box-shadow:0 0 11px #56f5df}.rate{font-size:clamp(39px,4.8vw,65px);letter-spacing:-.065em;line-height:1.13;font-weight:760;font-variant-numeric:tabular-nums;margin:5px 0}.rate small{font-size:15px;color:#a7cbd0;letter-spacing:0;font-weight:550}.forecast p,.forecast summary{font-size:13px;color:#c2dfe3}.forecast strong{color:#fff}.forecast details{margin-top:11px}.forecast summary{cursor:pointer}.forecast details p{margin-top:6px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.card,.metric{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 11px #102d3506}.metric{padding:15px 17px}.metric .ico{color:#087581;background:#e6f8fa;padding:6px;width:32px;height:32px;border-radius:9px}.metric strong{display:block;font-size:clamp(20px,2.35vw,32px);letter-spacing:-.04em;margin:4px 0}.metric p{font-size:13px;color:var(--muted)}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px}.card{padding:18px 20px}.card-head{margin-bottom:14px}.card-head p,.section-head p{font-size:13px}.table-card{margin-top:16px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th,td{border-bottom:1px solid var(--line);padding:11px 7px;font-size:13px}th{color:var(--muted);font-weight:600}tr:last-child td{border:0}.tag{padding:4px 8px;border-radius:20px;background:#e9f1f2;color:#38585f;font-size:11px;font-weight:720}.tag.paid{background:#e0f6eb;color:#176044}.tag.late{background:#fff0d9;color:#824800}.chart{height:170px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;align-items:end;background:repeating-linear-gradient(to top,transparent 0 32px,#eaf0f1 32px 33px);padding-top:8px}.bar-group{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.bar{width:26%;max-width:28px;border-radius:6px 6px 0 0;background:#0f8895}.bar.cost{background:#ffbb53}.chart-labels{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;text-align:center;font-size:11px;color:var(--muted);margin:7px 0}.legend{font-size:12px;color:var(--muted);display:flex;gap:14px}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;background:#0f8895;margin-right:5px}.legend span+span i{background:#ffbb53}.quick{display:grid;gap:8px}.quick button{display:flex;align-items:center;gap:10px;text-align:left;background:#f3f8f8;border:1px solid #e7eff0;border-radius:12px;padding:11px 12px;color:var(--ink)}.quick button:hover{background:#e2f6f7}.quick small{display:block}.section-head{margin:0 0 16px}.empty{padding:18px 0;color:var(--muted)}.form{display:grid;gap:13px}.form label{display:grid;gap:4px;font-weight:650;font-size:13px}.form input:not([type=checkbox]),.form select,.filters select{width:100%;border:1px solid #c8dadd;border-radius:9px;padding:9px;background:#fff;color:var(--ink)}.form input[type=color]{min-height:42px}.form .check{display:flex;align-items:center;gap:8px}.filters select{font-size:13px}.paper{background:white;border:1px solid var(--line);border-radius:5px;padding:23px;color:#1b3039;min-height:300px}.paper h2{border-bottom:3px solid var(--pdf,#087581);padding-bottom:12px;color:var(--pdf,#087581)}.paper img{width:100px;max-height:65px;object-fit:contain;object-position:left}.paper p{margin:10px 0}.paper .total{text-align:right;font-size:18px;font-weight:800}.provider{display:flex;gap:13px;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:20px;width:min(520px,calc(100% - 24px));padding:21px;color:var(--ink);box-shadow:0 18px 65px #002a4040}dialog::backdrop{background:#09242b80;backdrop-filter:blur(5px)}dialog .card-head{margin-bottom:16px}.hidden,[hidden]{display:none!important}.mobile-logo{display:none}
@media(max-width:1050px){.shell{grid-template-columns:185px minmax(0,1fr)}aside{padding-inline:12px}.logo{width:142px}.hero{padding:24px}.metric{padding:12px;min-width:0}.grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}
@media(max-width:780px){.shell{display:block}aside{position:static;height:auto;padding:12px;border:0}.logo{width:115px;margin:3px 0 10px}.workspace,.bottom{display:none}.nav{display:flex;overflow:auto;gap:4px}.nav button{white-space:nowrap;padding:8px}.main{padding:14px}.top{align-items:flex-start}.top h1{font-size:25px}.top .actions .btn:not(.primary){display:none}.hero{min-height:300px;align-items:flex-end;padding:14px;padding-bottom:38px}.forecast{width:min(100%,365px);padding:12px 15px}.hero::before{mask-image:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid{grid-template-columns:1fr;gap:10px}.card{padding:14px}.chart{height:135px}.section-head{flex-wrap:wrap}}
@media print{body{background:#fff}body>*{display:none!important}#print-copy{display:block!important}.paper{border:0}}

.mascot{position:fixed;right:24px;bottom:22px;z-index:8;display:flex;align-items:flex-end;flex-direction:column;gap:12px;color:var(--ink)}
.hero{overflow:visible}.hero::before{border-radius:inherit}.hero .mascot{position:absolute;right:32px;bottom:25px}
.mascot-button{position:relative;width:76px;height:76px;border-radius:26px;border:1px solid #c0ffffa6;background:radial-gradient(circle at 30% 15%,#ffffff8f,transparent 50%),linear-gradient(145deg,#80e5e9,#078b9c);box-shadow:inset 0 1px 2px #fff9,0 10px 26px #00171f48;padding:0}
.mascot-button:hover{filter:brightness(1.1)}
.mascot-pet{position:absolute;inset:8px;transform-origin:center 75%}
.pet-coil{position:absolute;left:8px;bottom:5px;width:45px;height:24px;border-radius:50%;background:radial-gradient(ellipse at 54% 28%,#073944 0 20%,transparent 24%),linear-gradient(165deg,#76eddf,#07929c 65%,#065c73);box-shadow:0 4px 6px #00354460,inset 0 2px 1px #affffb80;transform:rotate(-9deg)}
.pet-neck{position:absolute;left:27px;top:19px;width:16px;height:24px;border-radius:12px;background:linear-gradient(90deg,#14aeb0,#6de0ca);transform:rotate(12deg)}
.pet-head{position:absolute;left:16px;top:6px;width:39px;height:29px;border-radius:50% 50% 46% 46%;background:radial-gradient(ellipse at 34% 17%,#d7fff2 0,#83f4de 32%,#19b4b1 88%);box-shadow:0 3px 5px #00495055}
.pet-eye{position:absolute;top:9px;width:6px;height:8px;border-radius:50%;background:#092d38;animation:pet-blink 6s infinite}
.pet-eye:after{content:"";position:absolute;left:1px;top:1px;width:2px;height:2px;background:white;border-radius:50%}
.pet-eye:first-child{left:10px}.pet-eye:nth-child(2){right:8px}
.pet-smile{position:absolute;top:17px;left:17px;width:10px;height:6px;border-bottom:2px solid #125560;border-radius:50%}
.mascot-count{position:absolute;top:-5px;right:-4px;min-width:22px;height:22px;padding:0 4px;border-radius:20px;background:#ffae28;color:#372300;border:2px solid #fff;font-size:11px;font-weight:800;line-height:18px}
.mascot-panel,.mascot-peek{width:min(320px,calc(100vw - 44px));padding:14px 16px;border-radius:16px;background:#f6fffff5;box-shadow:0 10px 30px #001c3333;border:1px solid #d9eeef;backdrop-filter:blur(18px)}
.mascot-panel{max-height:min(300px,60vh);overflow:auto}.mascot-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mascot-panel .btn{padding:3px 9px}.mascot-panel ul{margin:8px 0 0;padding:0;list-style:none}.mascot-panel li{padding:7px 0;border-top:1px solid var(--line);font-size:13px}.mascot-panel time{display:block;font-size:11px;color:var(--muted)}.mascot-peek{font-size:13px}
.mascot-button.react .mascot-pet{animation:pet-bounce .62s ease}
@keyframes pet-bounce{40%{transform:translateY(-9px) rotate(-11deg) scale(1.06)}75%{transform:translateY(1px) rotate(5deg)}}
@keyframes pet-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}
@media(max-width:780px){.hero{padding-top:78px}.hero .mascot{right:14px;top:12px;bottom:auto}.hero .mascot-button{order:-1}.mascot-button{width:60px;height:60px;border-radius:21px}.mascot-pet{scale:.82;transform-origin:top left}.mascot-button.react .mascot-pet{animation:pet-bounce .62s ease}}
@media(prefers-reduced-motion:reduce){.pet-eye,.mascot-button.react .mascot-pet{animation:none}}
.top{flex-wrap:wrap}.top-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.top-tools details{position:relative}.top-tools summary{list-style:none;cursor:pointer}.language-menu{position:absolute;z-index:20;right:0;min-width:180px;padding:8px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 20px #03283b24}.language-menu p{padding:5px 8px}.storage-button{display:flex;gap:9px;align-items:center}.storage-button progress{width:54px;height:7px}.login{width:min(460px,calc(100% - 30px));margin:12vh auto;padding:26px}.login img{width:150px;margin-bottom:18px}.login h1{margin-bottom:13px}.form textarea{border:1px solid #c8dadd;border-radius:9px;padding:9px;font:inherit;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.error{color:#a12b31;font-weight:650;font-size:13px}.drop{border:2px dashed #71b7bf;border-radius:18px;text-align:center;background:#effcfc;padding:28px 16px;margin-bottom:14px}.drop.drag{background:#c4f2f3;border-color:#087581}.drop p{margin-bottom:10px}.drop progress{width:100%;height:10px;accent-color:#087581}.disk progress{width:100%;accent-color:#087581}.plans{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.notice{padding:10px 12px;background:#fff5dd;border-radius:10px;margin-bottom:14px;font-size:13px}.status{position:fixed;z-index:30;bottom:16px;right:16px;border-radius:12px;background:#07353d;color:white;padding:10px 14px;max-width:90vw}.lookup{display:grid;gap:6px}.lookup button{white-space:normal;text-align:left}.table-wrap .btn{padding:4px 8px}.paper{overflow:auto}dialog{max-height:90vh}@media(max-width:780px){.top-tools{width:100%}.storage-button progress{display:none}.top .actions .btn:not(.primary){display:inline-flex}.form-row{grid-template-columns:1fr}}
.mobile-logout{display:none}@media(max-width:780px){.mobile-logout{display:inline-flex}}
.invoice-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.invoice-preview-panel{position:sticky;top:18px;min-width:0}.invoice-preview-panel h2{margin:0 0 12px}.invoice-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.invoice-toolbar label{flex:1;min-width:180px}.invoice-line{display:grid;grid-template-columns:minmax(100px,2fr) minmax(58px,.6fr) minmax(80px,1fr) auto;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.invoice-workspace input,.invoice-workspace select{width:100%;min-width:0}.client-avatar{display:inline-grid;place-items:center;vertical-align:middle;position:relative;overflow:hidden;border-radius:50%;width:32px;height:32px;margin-right:10px;background:#e4edf7;color:#224968;font-size:.75rem;font-weight:700}.client-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.section-head{flex-wrap:wrap}
@media(max-width:1020px){.invoice-workspace{grid-template-columns:1fr}.invoice-preview-panel{position:static}}@media(max-width:540px){.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}}
.payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px;margin-bottom:16px}.payment-grid p{margin:6px 0 12px}.paper-bank{border-top:1px solid var(--line);margin-top:18px;padding-top:10px;font-size:.86rem}
.settings-tabs{display:flex;gap:10px;margin-bottom:18px}
.settings-tabs [aria-pressed=true],.messages-contacts [aria-pressed=true]{background:var(--accent,#087581);color:white}
.layout-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;padding:0;border:0;margin:0;min-width:0}
.layout-options legend{margin-bottom:8px;font-weight:700}
.layout-options label{display:flex;flex-direction:row;align-items:center;gap:6px;border:1px solid var(--line);padding:8px;border-radius:8px}
.layout-options input{width:auto}
.settings-logo,.paper-logo{display:block;width:174px;height:64px;max-width:100%;object-fit:contain;object-position:left center}
.paper .paper-heading,.paper .paper-details{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}
.paper .paper-heading{align-items:center;min-height:80px;border-top:2px solid var(--pdf);padding:12px 0;gap:14px}
.paper .paper-heading h2{color:#17313b;font-size:clamp(1rem,3vw,1.25rem);line-height:1.2;margin:0;border:0;padding:0}
.paper .paper-details{font-size:.85rem}
.paper .paper-details p,.paper .paper-bank p{margin:.22em 0;overflow-wrap:anywhere}
.paper .paper-footer{white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--line);margin-top:18px;padding-top:12px;font-size:.85rem}
.paper-modern .paper-logo{object-position:right center}.paper-modern .paper-heading{border-top:0;border-bottom:2px solid var(--pdf);flex-direction:row-reverse}
.paper-minimal .paper-heading{border-top:0;border-bottom:1px solid var(--pdf)}
.paper-minimal th{background:transparent;border-bottom:1px solid var(--pdf)}
.paper-bold .paper-heading{border:0;background:color-mix(in srgb,var(--pdf) 13%,white);padding:16px;border-radius:8px}
.paper-letter .paper-heading{display:block;border:0;text-align:center}
.paper-letter .paper-logo{margin:0 auto 10px;object-position:center}
.paper-letter .paper-heading h2{margin-top:4px}
.paper-ledger .paper-heading{border-top:0;border-bottom:2px solid var(--pdf)}
.paper-ledger th,.paper-ledger td{border:1px solid var(--line)}
.paper-ledger .total{border-bottom:2px solid var(--pdf);padding-bottom:6px}
.messages-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:16px;align-items:start}
.messages-contacts{display:grid;gap:8px}
.messages-contacts .btn{text-align:left;white-space:normal}
.messages-contacts small{display:block;opacity:.85}
.message-history{display:flex;flex-direction:column;gap:10px;height:min(50vh,520px);overflow:auto;padding:12px 2px}
.message-bubble{align-self:flex-start;max-width:85%;background:#edf5f7;color:#172f37;border-radius:14px;padding:9px 13px}
.message-bubble.mine{align-self:flex-end;background:#d3f1ef}
.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.message-bubble small{display:block;margin-top:4px;color:#52686e}
.message-compose{margin-top:10px}
@media(max-width:680px){.messages-grid{grid-template-columns:1fr}.paper .paper-details{flex-direction:column}}
.partner-share{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.partner-url{display:block;overflow-wrap:anywhere;margin:10px 0 14px}.partner-share .muted{margin-top:10px}.partner-qr{border:1px solid var(--line);border-radius:10px;background:white;display:block}@media(max-width:620px){.partner-share{grid-template-columns:1fr}}

.paper .paper-heading>div,.paper-details section{min-width:0;overflow-wrap:anywhere}
.paper-title{display:grid;justify-items:start;gap:5px;flex:none}.paper-heading>div:first-child{min-width:0}.paper-heading>div:first-child:empty{display:none}
.paper-letter .paper-title{justify-items:center}
.paper-status{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;color:#475569;background:#f1f5f9}
.paper-status-paid{color:#126041;background:#e5f6ed}
.paper-status-unpaid{color:#8b4111;background:#fff2e4}
.paper .paper-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.paper-details section{padding:11px 13px;border:1px solid var(--line);border-radius:8px}
.paper-details h3{font-size:.76rem;color:#52686e;margin:0 0 5px}
.paper-details .paper-due{margin-top:8px}
.paper .table-wrap{overflow:visible}
.paper table{width:100%;white-space:normal}
.paper td,.paper th{overflow-wrap:anywhere}
.paper td:not(:first-child),.paper th:not(:first-child){text-align:right}
.paper-brand{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);margin-top:18px;padding-top:9px;font-size:10px;color:#52686e;line-height:1.3}
.paper .paper-brand img{width:55px;height:auto;max-height:24px;object-fit:contain}
@media screen and (max-width:480px){.paper .paper-details{grid-template-columns:1fr}.paper th,.paper td{padding-inline:4px}}
@page{size:A4;margin:14mm}
@media print{
  #print-copy .paper,#print-copy .table-wrap{overflow:visible;border:0}
  #print-copy .paper{padding:0;min-height:0;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #print-copy .paper-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  #print-copy thead{display:table-header-group}
  #print-copy tr,#print-copy .paper-heading,#print-copy .paper-details,
  #print-copy .paper-summary,#print-copy .paper-brand{break-inside:avoid}
}

.invoice-line{grid-template-columns:minmax(55px,.6fr) minmax(86px,1fr) minmax(112px,1.3fr) auto}
.invoice-line label:first-child{grid-column:1/-1}
.vat-settings{max-width:760px}
.vat-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(92px,1fr) auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}
.vat-row input{width:100%;min-width:0}
.paper-totals{margin:0 0 8px auto;max-width:18rem}
.paper-totals div{display:flex;justify-content:space-between;gap:12px}
.paper-totals dd{margin:0;font-variant-numeric:tabular-nums}
.settings-tabs{flex-wrap:wrap}
@media(max-width:540px){.invoice-line,.vat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.vat-row label:first-child{grid-column:1/-1}}

:root{
  --snake-teal:#00baca;
  --snake-orange:#ff9c00;
  --glass-surface:linear-gradient(180deg,#ffffff45,transparent 58%);
}
.btn,button:not(.mascot-button){
  border:0;border-radius:10px;min-height:34px;padding:6px 12px;
  font-size:.84rem;line-height:1.25;font-weight:720;color:#072f38;
  background:var(--glass-surface),var(--snake-teal);
  box-shadow:inset 0 1px 0 #ffffff70,0 2px 4px #08374416;
  transition:transform .16s ease,box-shadow .16s ease;
}
.btn.primary,button.primary,.settings-tabs [aria-pressed=true],.messages-contacts [aria-pressed=true]{
  color:#392100;background:var(--glass-surface),var(--snake-orange)
}
.btn:hover,button:not(.mascot-button):hover{filter:none;transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff80,0 5px 12px #08374424}
.btn:active,button:not(.mascot-button):active{transform:translateY(0)}
button:disabled{opacity:.55;cursor:default}
.nav button{
  background:transparent;color:#385762;box-shadow:none;border:0;
  border-radius:11px;min-height:38px;padding:8px 12px;
}
.nav button:not([aria-current=page]):hover{background:#00baca18;color:#123c46;box-shadow:none;transform:none}
.nav button[aria-current=page]{
  background:var(--glass-surface),var(--snake-teal);color:#072f38;
  box-shadow:inset 0 1px 0 #ffffff70,0 4px 10px #0a667521;
}
.quick button,.quick button:hover{background:var(--glass-surface),var(--snake-teal);color:#072f38;border:0}
.mascot-button{border-color:var(--snake-orange)}
@media(prefers-reduced-motion:reduce){.btn,button:not(.mascot-button){transition:none}}
.invoice-toolbar>.btn{flex:0 0 auto}
.invoice-line label:has(textarea){grid-column:1/-1}
.form textarea[name=itemDescription],.form textarea[name=description]{min-height:3.25rem;resize:vertical}
.paper-item-description{margin-top:.22rem;font-size:.9em;white-space:pre-wrap;overflow-wrap:anywhere}

.expense-receipts{min-width:0;margin:0;padding:0;border:0}
.expense-receipts legend{margin-bottom:6px;font-weight:680}
.expense-drop{padding:14px;margin-bottom:0}
.expense-drop .expense-picker{display:block;margin:0 auto 6px}
.expense-picker input{display:block;width:100%;max-width:270px;margin:4px auto 0}
.expense-receipts ul{list-style:none;margin:0;padding:0}
.expense-receipts li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.expense-receipts li span{overflow-wrap:anywhere}

.document-list{margin-top:16px;overflow:visible}
.document-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:12px 0 16px}
.document-filters input,.document-filters select{width:100%;min-width:0}
.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:12px}
.document-card{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;min-width:0}
.document-card:has(.document-thumb:hover),.document-card:focus-within{position:relative;z-index:2}
button.document-thumb{position:relative;display:grid;place-items:center;flex:0 0 70px;width:70px;height:82px;padding:0;border-radius:8px;font-weight:700}
.document-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white;border:1px solid var(--line);border-radius:7px;transform-origin:left center;transition:transform .18s ease,box-shadow .18s ease;pointer-events:none}
.document-thumb img[hidden]{display:none}
@media(hover:hover){
  .document-thumb:hover img,.document-thumb:focus-visible img{transform:scale(2.55);box-shadow:0 8px 24px #153d4c40}
}
.document-details{min-width:0;overflow-wrap:anywhere}
.document-details p{font-size:.82rem;color:var(--muted);margin:4px 0}
.document-details .plans{margin-top:6px}
.document-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}
.document-modal-preview{margin-bottom:12px;text-align:center}
.document-modal-preview img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}
@media(max-width:580px){.document-filters{grid-template-columns:1fr 1fr}.document-filters label:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.document-thumb img{transition:none}}

.login-settings{max-width:690px}
.login-address{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.login-address input{flex:1;min-width:130px}
[data-slug-status]:empty{display:none}
.login-background-preview{max-width:100%;max-height:180px;object-fit:contain;justify-self:start;border-radius:10px}
body.company-login{min-height:100vh;background:linear-gradient(#09232f55,#09232f99),var(--login-background) center/cover fixed}
body.company-login .login{background:#fff;box-shadow:0 18px 60px #08223055}

.mail-settings{max-width:760px}
.mail-settings fieldset,.mail-settings details{padding:12px;border:1px solid var(--line);border-radius:10px}
.mail-settings fieldset{display:grid;gap:10px;margin:0;min-width:0}
.mail-settings legend,.mail-settings summary{font-weight:700}
.mail-settings summary{cursor:pointer}
.mail-settings details label{margin-top:12px}
.mail-settings details textarea{width:100%;resize:vertical}

.client-card-shell{max-width:1180px;margin:0 auto}
.client-back{display:inline-flex;margin:0 0 14px;color:#145a66;font-size:.86rem;font-weight:700;text-decoration:none}
.client-back:hover{text-decoration:underline}
.client-card-header{
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding:25px 28px;border-radius:20px 20px 0 0;
  background:radial-gradient(ellipse at 0% 0%,#00baca28,transparent 58%),#102d38;color:#fff;
}
.client-identity{display:flex;align-items:center;gap:14px;min-width:0}
.client-identity h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.9rem);overflow-wrap:anywhere}
.client-identity p{margin:5px 0 0;color:#c4dbe1;overflow-wrap:anywhere}
.client-identity .client-avatar{width:52px;height:52px;flex:0 0 52px;margin:0;font-size:1rem;border-radius:15px;background:var(--snake-teal);color:#072f38}
.client-metrics{display:flex;gap:10px;flex-wrap:wrap}
.client-metrics div{display:grid;gap:3px;padding:9px 13px;background:#ffffff13;border-radius:11px;min-width:110px}
.client-metrics span{color:#c4dbe1;font-size:.76rem}
.client-metrics strong{font-size:1rem;font-variant-numeric:tabular-nums}
.client-tabs{display:flex;gap:6px;overflow:auto;padding:10px 14px;background:#eaf2f4}
.client-tabs .btn{background:transparent;color:#294b56;box-shadow:none}
.client-tabs .btn:hover{background:#00baca20;color:#072f38;box-shadow:none;transform:none}
.client-tabs .btn[aria-current=page]{background:var(--glass-surface),var(--snake-teal);color:#072f38;box-shadow:inset 0 1px 0 #fff7,0 2px 6px #12536124}
.client-pane{padding:22px 26px;min-height:215px;background:#fff;border-radius:0 0 20px 20px;box-shadow:0 12px 32px #13313d12}
.client-pane h3{margin:0 0 8px;font-size:1.06rem;color:#142c36}
.client-pane .section-head h3{margin:0}
.client-data{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0 0}
.client-data div{padding:11px 13px;border-radius:10px;background:#f1f6f7}
.client-data dt{font-size:.78rem;color:#496771}
.client-data dd{margin:5px 0 0;color:#142c36;font-weight:650;white-space:pre-wrap;overflow-wrap:anywhere}
.client-row-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.client-invoice-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9eff0;color:#314a53;font-size:.78rem;font-weight:700;white-space:nowrap}
.client-invoice-status.paid{background:#d6f4ed;color:#145a49}
.client-invoice-status.unpaid{background:#ffe9c2;color:#674000}
.client-edit-form{max-width:620px;margin-top:14px}
.client-file-form{display:flex;flex-wrap:wrap;align-items:end;margin:15px 0}
.client-file-form .error{flex-basis:100%}
@media(max-width:620px){.client-card-header,.client-pane{padding:16px}.client-tabs{padding-inline:8px}}
.client-pane [data-action=client-invoice]{color:#392100;background:var(--glass-surface),var(--snake-orange)}

.formation-service h2{margin:12px 0}
.formation-pos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),280px));gap:16px;margin-bottom:24px}
button.formation-tile{display:grid;gap:9px;text-align:left;white-space:normal;padding:22px;border-radius:18px;background:linear-gradient(145deg,#173e49,#0c2530);color:#fff}
.formation-tile span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--snake-teal);color:#092e36;font-size:1.25rem}
.formation-tile strong{font-size:1.35rem}
.formation-tile small{color:#c6e2e6;font-size:.85rem}
.formation-tile b{color:#ffb43b;font-size:1.2rem}
.formation-orders{list-style:none;padding:0;margin:0}
.formation-orders li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.formation-orders span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}
.formation-admin-price{max-width:340px}
dialog.formation-wizard{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f2f6f7;color:#122e38;overflow:auto}
.formation-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px max(18px,calc((100vw - 850px)/2));background:#102d38;color:#fff}
.formation-steps{display:flex;gap:8px;list-style:none;padding:18px 14px 0;margin:auto;max-width:850px;overflow:auto}
.formation-steps li{padding:8px 12px;background:#e4eef0;border-radius:9px;white-space:nowrap;color:#284d57;font-size:.85rem}
.formation-steps [aria-current]{background:var(--snake-teal);color:#072f38;font-weight:700}
.formation-content{max-width:820px;margin:16px auto;padding:22px clamp(14px,4vw,36px);border-radius:16px;background:white}
.formation-content fieldset{display:grid;gap:10px;padding:14px;margin:0;border:1px solid var(--line);border-radius:10px;min-width:0}
.formation-content legend{font-weight:700}
.formation-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.formation-content .check{display:flex;align-items:start;gap:7px}
.formation-content .check input{width:auto}
.formation-content textarea{min-height:64px}
.formation-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:10px}
.formation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px;margin:12px 0}
.formation-summary div,.formation-price{padding:12px;border-radius:9px;background:#edf5f6}
.formation-summary dt{font-size:.8rem;color:#40616b}
.formation-summary dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.formation-price strong{font-size:1.2rem}
@media(max-width:560px){.formation-content{margin-inline:9px}.formation-fields{grid-template-columns:1fr}.formation-orders li{align-items:start}}

.postcode-address{display:grid;gap:7px;min-width:0}
.postcode-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.postcode-tools label{flex:0 1 155px}
.postcode-tools input{width:100%;text-transform:uppercase}
.postcode-address textarea{width:100%;min-height:58px}
[data-postcode-results]:empty{display:none}
[data-postcode-results]{font-size:.84rem;color:#3e606b}
[data-postcode-results] small{display:block;margin-top:5px}
[data-postcode-results] p{margin:0 0 5px}

.sic-picker{display:grid;gap:7px}
.sic-picker small{color:#3e606b}
[data-sic-selected]{display:flex;flex-wrap:wrap;gap:6px}
[data-sic-selected]:empty,[data-sic-results]:empty{display:none}
[data-sic-selected] span{display:inline-flex;align-items:center;gap:6px;background:#e7f4f5;border-radius:9px;padding:4px 6px 4px 9px;font-size:.82rem}
[data-sic-selected] .btn{min-height:24px;padding:2px 7px}
[data-sic-results]{display:grid;gap:3px;color:#3e606b;font-size:.85rem}
[data-sic-results] button[data-sic-add]{text-align:left;background:#edf5f6;color:#153d47;box-shadow:none}
[data-sic-results] button[data-sic-add]:hover{background:#d9f4f6}
.service-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:14px;margin:14px 0}
.service-panels .formation-pos{grid-template-columns:1fr}
.formation-settings-title{margin:16px 0 0}
.admin-work .form-row{margin:12px 0}
.admin-work .form-row label{display:grid;gap:5px}
.admin-work .form-row input,.admin-work .form-row select{width:100%}
.admin-work .table-wrap{margin-top:14px}

.results-filters,.document-list .document-filters {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));
  gap:10px;
  align-items:end;
  margin:16px 0;
}
.results-filters label:first-child { grid-column:span 2; }
.results-pagination { flex-wrap:wrap; }
.results-pagination span { text-align:center; }
.table-wrap[hidden], .table-wrap tr[hidden], [data-result-list][hidden],
[data-result-list] > [hidden], .results-filters + .empty[hidden] { display:none; }
.results-filters ~ .empty[hidden] { display:none; }
.list-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.conversation-results { display:grid; gap:8px; }
@media(max-width:550px) {
  .results-filters label:first-child { grid-column:1 / -1; }
}

.invoice-icon-actions { display:inline-flex; gap:5px; vertical-align:middle; }
.invoice-icon-actions .invoice-icon { display:inline-grid; place-items:center; width:34px; min-width:34px; height:34px; padding:0; }

.invoice-history { margin-top:20px; }
.invoice-history h3 { margin-bottom:8px; }

#invoice-form fieldset { min-width:0; margin:0; border:1px solid var(--line); border-radius:10px; padding:12px; }
#invoice-form [data-recurrence-fields] { border:0; padding:0; }
#invoice-form [data-recurrence-fields][hidden] { display:none; }

.expense-view h3 { margin:20px 0 10px; font-size:1rem; }
.expense-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,148px),1fr)); gap:8px; }
.expense-group { display:grid; gap:4px; text-align:left; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#17313b; font:inherit; cursor:pointer; }
.expense-group span { font-size:.83rem; }
.expense-group strong { font-size:1rem; }
.expense-group small { color:#526771; }
.expense-group[aria-pressed=true] { border-color:#087581; background:#e7f5f4; box-shadow:inset 0 -2px #087581; }
.expense-group:disabled { cursor:default; opacity:.65; }
.expense-group:not(:disabled):hover { border-color:#087581; }
.expense-group-label { display:inline-block; border-radius:12px; padding:3px 8px; background:#eaf4f5; color:#174d53; font-size:.82rem; }
.expense-view .results-filters { grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr)); }

.panel-refresh { margin-bottom:10px; }
