:root{
  --bg:#eef5fb;
  --bg2:#f8fbff;
  --panel:rgba(255,255,255,.88);
  --panel-solid:#ffffff;
  --ink:#0b1220;
  --muted:#62708a;
  --soft:#eef6ff;
  --line:#dce8f4;
  --line2:#c9d8e8;
  --brand:#0f5ea8;
  --brand2:#16c7d9;
  --brand3:#072f61;
  --gold:#d6a84f;
  --good:#0f9f74;
  --warn:#d78612;
  --danger:#dc2626;
  --shadow:0 24px 70px rgba(14,34,63,.12);
  --shadow2:0 14px 35px rgba(14,34,63,.10);
  --radius:22px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 12% -10%,rgba(22,199,217,.32),transparent 32%),
  radial-gradient(circle at 110% 8%,rgba(15,94,168,.24),transparent 34%),
  linear-gradient(145deg,#f7fbff 0%,#eef5fb 46%,#f9fbfd 100%);}
body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(15,94,168,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(15,94,168,.035) 1px,transparent 1px);background-size:36px 36px;pointer-events:none;mask-image:linear-gradient(#000,transparent 82%)}
button,input,select,textarea{font:inherit}button{letter-spacing:.01em}a{color:var(--brand);text-decoration:none}.hidden{display:none!important}.right{text-align:right}.money{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.tiny{font-size:12px}.small{font-size:12px}.empty{text-align:center;color:var(--muted);padding:26px!important}.block{width:100%}

/* Login */
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative}.login-card{width:min(1120px,100%);display:grid;grid-template-columns:1.05fr .95fr;border:1px solid rgba(255,255,255,.66);border-radius:34px;overflow:hidden;box-shadow:0 35px 120px rgba(8,37,72,.18);background:rgba(255,255,255,.72);backdrop-filter:blur(18px)}.login-hero{min-height:620px;padding:46px 44px;background:linear-gradient(145deg,#061a37 0%,#0f5ea8 58%,#16c7d9 100%);color:white;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.login-hero:before,.login-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}.login-hero:before{width:330px;height:330px;right:-120px;top:-100px}.login-hero:after{width:460px;height:460px;left:-260px;bottom:-260px}.login-hero img{width:88px;height:88px;border-radius:50%;background:white;object-fit:cover;border:4px solid rgba(255,255,255,.75);box-shadow:0 20px 50px rgba(0,0,0,.22);position:relative;z-index:1}.login-hero h1{font-family:Georgia,serif;font-size:48px;line-height:1.02;margin:26px 0 16px;max-width:520px;position:relative;z-index:1}.login-hero p{font-size:16px;line-height:1.75;color:#e9f7ff;margin:0;max-width:560px;position:relative;z-index:1}.hero-points{margin-top:30px;display:grid;gap:12px;position:relative;z-index:1}.hero-points div{padding:12px 14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);border-radius:16px;backdrop-filter:blur(8px);font-weight:800}.login-forms{padding:42px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.96));display:flex;flex-direction:column;justify-content:center}.tabs{display:flex;gap:6px;background:#edf6ff;border:1px solid #dceaf7;border-radius:16px;padding:6px;margin-bottom:22px}.tab,.tabs button{border:0;background:transparent;border-radius:12px;padding:11px 14px;cursor:pointer;font-weight:900;color:#64748b;flex:1}.tab.active,.tabs button.active{background:#fff;color:var(--brand3);box-shadow:0 10px 24px rgba(8,47,97,.12)}.form-panel{display:none}.form-panel.active{display:block;animation:fadeUp .25s ease}.form-panel h2{margin:0 0 6px;font-size:27px}.form-panel p{color:var(--muted);line-height:1.55}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-grid.one{grid-template-columns:1fr}.field-grid label,.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:900;color:#344156;text-transform:uppercase;letter-spacing:.045em}.field-grid input,.field-grid select,.field-grid textarea,.form-grid input,.form-grid select,.form-grid textarea,.command-box input,.mobile-nav select,.search,.file-input{width:100%;border:1px solid var(--line2);border-radius:14px;background:#fff;color:var(--ink);padding:11px 12px;outline:none;box-shadow:0 1px 0 rgba(15,94,168,.03);transition:border .18s,box-shadow .18s,transform .18s}.field-grid textarea,.form-grid textarea{min-height:96px;resize:vertical}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.command-box input:focus,.mobile-nav select:focus,.search:focus,.file-input:focus{border-color:#38c8e2;box-shadow:0 0 0 4px rgba(22,199,217,.18)}.form-message{padding:11px 13px;border-radius:14px;margin:12px 0;font-weight:850}.form-message.ok,.success{background:#e5fff4;border:1px solid #bdf4dc;color:#066342}.form-message.error,.danger-note{background:#fff1f1;border:1px solid #fecaca;color:#991b1b}.risk{background:#fff9e8;border:1px solid #fedfa2;color:#8a4b05;border-radius:16px;padding:12px 14px;font-weight:800;margin:10px 0}.success,.danger-note{border-radius:16px;padding:12px 14px;font-weight:800;margin:10px 0}

/* Buttons */
.btn{border:0;border-radius:14px;padding:10px 15px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 12px 28px rgba(15,94,168,.20);transition:transform .16s,box-shadow .16s,filter .16s;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(15,94,168,.25)}.btn:active{transform:translateY(0)}.btn.secondary,.btn.ghost{background:#fff;color:#15324f;border:1px solid var(--line2);box-shadow:0 8px 20px rgba(14,34,63,.07)}.btn.good{background:linear-gradient(135deg,#059669,#34d399)}.btn.warn{background:linear-gradient(135deg,#d97706,#f59e0b)}.btn.danger,.btn.bad{background:linear-gradient(135deg,#dc2626,#ef4444)}.btn.dark{background:linear-gradient(135deg,#071b38,#0f315c)}.btn.small{padding:7px 10px;border-radius:11px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* App shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:296px minmax(0,1fr);position:relative}.sidebar{height:100vh;position:sticky;top:0;padding:18px 15px;overflow:auto;background:linear-gradient(180deg,#071b38 0%,#082f61 46%,#0a2445 100%);color:white;box-shadow:18px 0 60px rgba(8,47,97,.16);z-index:2}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:20px}.brand{display:flex;align-items:center;gap:12px;padding:9px 10px 18px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.14)}.brand img{width:54px;height:54px;border-radius:50%;background:#fff;object-fit:cover;border:2px solid rgba(255,255,255,.72)}.brand h1{font-family:Georgia,serif;font-size:18px;line-height:1.05;margin:0}.brand small{display:block;color:#c7d9e8;margin-top:3px}.nav{display:grid;gap:4px}.nav a{color:#d6e4f1;border-radius:15px;padding:10px 11px;display:flex;gap:10px;align-items:center;font-weight:850;transition:background .16s,transform .16s,color .16s}.nav a:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}.nav a.active{background:linear-gradient(90deg,rgba(22,199,217,.22),rgba(255,255,255,.10));color:#fff;border:1px solid rgba(255,255,255,.12)}.ico{width:24px;text-align:center}.sidebar-footer{margin-top:16px;padding:14px 11px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:10px;color:#c7d9e8;font-size:12px}.mode-pill{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.12);color:#fff;font-weight:900}.main{min-width:0;padding:20px 24px 44px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;background:rgba(255,255,255,.68);border:1px solid rgba(220,232,244,.82);box-shadow:0 12px 32px rgba(14,34,63,.07);border-radius:24px;padding:14px 16px;backdrop-filter:blur(15px)}.top-title{display:flex;gap:13px;align-items:center;min-width:0}.top-ico{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#e3fbff,#edf5ff);border:1px solid #d4edf8;font-size:24px}.top-title h2{margin:0;font-size:26px;line-height:1.05}.sub{color:var(--muted);font-size:13px;margin-top:4px}.mobile-nav{display:none}.content{display:grid;gap:16px;animation:fadeUp .25s ease}.status,.tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:950;background:#e9f3ff;color:#0f477a;border:1px solid #cae2f8}.status.active,.status.approved,.status.accepted,.status.paid,.status.completed,.tag.good{background:#e5fff4;color:#06714b;border-color:#bdf4dc}.status.draft,.tag.info{background:#eff6ff;color:#1d4f83;border-color:#bfdbfe}.status.pending-approval,.status.sent,.tag.warn{background:#fff7de;color:#91540b;border-color:#f9de9b}.status.cancelled,.status.expired,.tag.bad{background:#fff1f1;color:#991b1b;border-color:#fecaca}.status.converted,.status.partial{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}

/* Cards and tables */
.card,.premium-card,.chain-card,.doc-header-card{background:var(--panel);border:1px solid rgba(220,232,244,.92);box-shadow:var(--shadow2);border-radius:var(--radius);padding:18px;backdrop-filter:blur(18px)}.premium-card{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,251,255,.88))}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{background:linear-gradient(145deg,#fff,#f6fbff);border:1px solid #dfeaf6;border-radius:22px;padding:18px;box-shadow:var(--shadow2);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-28px;top:-28px;width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,rgba(22,199,217,.18),rgba(15,94,168,.12))}.kpi span{display:block;color:var(--muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.055em}.kpi strong{display:block;margin-top:8px;font-size:27px;letter-spacing:-.03em}.kpi small{display:block;color:var(--muted);margin-top:5px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-title h3{margin:0;font-size:20px}.section-title p{margin:4px 0 0;color:var(--muted);line-height:1.45}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 20px rgba(14,34,63,.04)}.table,table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td,table th,table td{padding:11px 12px;border-bottom:1px solid #edf2f7;text-align:left;font-size:13px;vertical-align:top}.table th,table th{background:#f5f9fd;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:950;position:sticky;top:0;z-index:1}.table tr:hover td,table tr:hover td{background:#fbfdff}.table tr:last-child td,table tr:last-child td{border-bottom:0}.chip,.chips .chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid #cde4f8;background:#f1f8ff;color:#0f477a;font-size:11px;font-weight:950;padding:5px 9px}.chips{display:flex;gap:8px;flex-wrap:wrap}.compact{font-size:12px}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.one{grid-template-columns:1fr}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2,.form-grid .full{grid-column:1/-1}.form-grid input[type="file"]{padding:9px;background:#f8fbff}.file-input{cursor:pointer}.drop{border:2px dashed #9edbea;border-radius:20px;background:linear-gradient(180deg,#f0fbff,#fff);padding:18px;text-align:center;color:#27607f;font-weight:850}.command-box{display:flex;gap:10px}.assistant-answer{background:#071b38;color:#dceeff;border-radius:18px;padding:17px;min-height:110px;line-height:1.55;white-space:pre-wrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

/* Document editor */
.doc-editor{display:grid;gap:16px}.doc-header-card{display:grid;gap:15px}.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mode-card{border:1px solid #dce8f4;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbff);padding:14px;box-shadow:0 10px 24px rgba(14,34,63,.06)}.mode-card strong{display:block;font-size:14px}.mode-card small{display:block;color:var(--muted);margin-top:5px;line-height:1.4}.items-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.items-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.item-row td{min-width:110px}.item-row td:nth-child(3){min-width:260px}.item-input,.items-wrap input,.items-wrap select{width:100%;border:1px solid #d8e4f0;border-radius:11px;background:#fff;padding:8px 9px;outline:none}.item-input:focus,.items-wrap input:focus,.items-wrap select:focus{border-color:#38c8e2;box-shadow:0 0 0 3px rgba(22,199,217,.14)}.product-select{min-width:190px}.line-kind{min-width:128px}.totals-box{margin-left:auto;width:min(390px,100%);background:linear-gradient(180deg,#071b38,#0f315c);color:white;border-radius:20px;padding:14px 16px;box-shadow:0 20px 46px rgba(7,27,56,.20)}.totals-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(255,255,255,.13);padding:8px 0;font-size:13px}.totals-row:last-child{border-bottom:0}.totals-row.grand{font-size:18px;font-weight:950;color:#fff}.side-stack{display:grid;gap:14px}.serial-preview{font-size:24px;font-weight:950;letter-spacing:.03em;border-radius:18px;padding:17px;background:linear-gradient(135deg,#071b38,#0f5ea8);color:white;box-shadow:0 18px 44px rgba(15,94,168,.18);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* Chains and flows */
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.flow-step{border:1px solid var(--line);border-radius:17px;background:#fff;padding:12px;min-height:70px;display:grid;align-content:center;gap:4px}.flow-step strong{font-size:14px}.flow-step small{color:var(--muted);font-size:11px;line-height:1.35}.flow-step.done{border-color:#bdf4dc;background:#ecfff6}.flow-step.active{border-color:#b7dcff;background:#f0f8ff}.flow-step.missing{opacity:.72}.chain-card{margin-bottom:14px}.chain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.chain-head h3{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.guide-steps{background:#f2f9ff;border:1px solid #d4eafe;border-radius:17px;padding:14px;line-height:1.55}

/* Letterhead preview */
.sample-letter{max-width:760px;background:white;border:10px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#67e8f9,#0f5ea8);background-origin:border-box;background-clip:padding-box,border-box;border-radius:20px;box-shadow:var(--shadow2);overflow:hidden}.sample-letter-header{display:grid;grid-template-columns:1fr 230px;gap:14px;padding:16px;border-bottom:1px solid #dbeafe}.sample-brand{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:start}.sample-brand img{width:62px;height:62px;border-radius:50%;object-fit:cover}.sample-brand h3{font-family:Georgia,serif;margin:0;font-size:22px}.sample-brand small{font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sample-to{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:7px}.sample-to b{font-family:Georgia,serif;font-size:28px}.sample-to p{font-size:12px;margin:2px 0}.sample-meta{text-align:right;font-weight:900;padding-top:10px}.sample-body{height:420px;background:linear-gradient(180deg,#fff,#fbfdff);display:grid;place-items:center;color:#b2becb;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sample-footer{display:grid;grid-template-columns:62px 1fr 1.4fr 1fr 1.3fr;gap:8px;align-items:center;border-top:1px solid #dbeafe;padding:9px 12px;font-size:11px}.sample-footer img,.sample-footer .leaf{max-width:46px}.sample-footer div{min-width:0;word-break:break-word}

/* Modal and toast */
.modal-backdrop{position:fixed;inset:0;background:rgba(6,18,37,.54);backdrop-filter:blur(8px);z-index:60;display:grid;place-items:center;padding:22px}.modal{width:min(980px,100%);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.8);border-radius:26px;box-shadow:0 35px 100px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-size:22px}.close-x{width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;font-size:24px;cursor:pointer;color:#334155}.modal-body{padding:19px;overflow:auto}.modal-foot{padding:15px 19px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#071b38;color:white;border-radius:16px;padding:13px 16px;box-shadow:0 25px 65px rgba(7,27,56,.22);font-weight:900}.toast.ok{background:linear-gradient(135deg,#047857,#10b981)}.toast.error{background:linear-gradient(135deg,#991b1b,#ef4444)}

/* Letter/document print classes used by print windows */
.sheet .head,.sheet .foot,.sheet .title,.sheet .to,.sheet .meta,.sheet .inner,.sheet .terms,.sheet .totals,.sheet .row,.sheet .sig{box-sizing:border-box}

@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.app-shell{grid-template-columns:250px 1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.login-card{grid-template-columns:1fr}.login-hero{min-height:auto;padding:34px}.login-hero h1{font-size:36px}.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-radius:0 0 28px 28px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.topbar>.toolbar{width:100%}.mobile-nav{display:block;width:100%}.mobile-nav select{width:100%}.grid-2,.kpi-grid,.mode-grid,.form-grid,.field-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.section-title,.chain-head{flex-direction:column}.sample-letter-header,.info{grid-template-columns:1fr}.sample-footer{grid-template-columns:1fr 1fr}.totals-box{width:100%}}
@media(max-width:560px){.login-page{padding:14px}.login-forms{padding:24px}.login-hero{display:none}.nav{grid-template-columns:1fr}.brand h1{font-size:16px}.top-title h2{font-size:22px}.kpi strong{font-size:23px}.modal-backdrop{padding:10px}.modal{max-height:96vh;border-radius:20px}.command-box{flex-direction:column}.sample-footer{grid-template-columns:1fr}.sample-body{height:260px}.action-row .btn{width:100%}}
