@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');
:root{--saf:#2F6F5E;--saf2:#4F9A84;--mar:#14211B;--mar2:#2B3A33;--gold:#C98A3D;--cream:#F4F1EA;--paper:#FFFFFF;--ink:#14211B;--mut:#6B766F;--line:#E2DED3;--green:#2F7D4F;--blue:#2B7BA8;--red:#C0432F;--purple:#7B4A9E;--teal:#1F8A8A;--r:16px;--sh:0 8px 30px rgba(20,33,27,.10);--sb:262px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 0%,#FFE9C9 0,transparent 40%),radial-gradient(circle at 100% 100%,#F8DCC3 0,transparent 40%),var(--cream);min-height:100vh;font-size:14px;overflow-x:hidden}
h1,h2,h3,.serif{font-family:'Space Grotesk',Georgia,serif;letter-spacing:.2px}
button{font-family:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
/* background */
.bg-mandala{position:fixed;right:-220px;bottom:-220px;width:700px;height:700px;opacity:.07;pointer-events:none;z-index:0;animation:spin 120s linear infinite}
.spark{position:fixed;bottom:-20px;width:6px;height:6px;border-radius:50%;background:radial-gradient(#CFE6DC,#2F6F5E);opacity:0;pointer-events:none;z-index:0;animation:rise 12s linear infinite}
@keyframes rise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.7}100%{transform:translateY(-105vh) translateX(40px) scale(1.2);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes flicker{0%,100%{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.12,.94) rotate(3deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,111,94,.5)}100%{box-shadow:0 0 0 14px rgba(47,111,94,0)}}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes draw{from{stroke-dashoffset:var(--len,900)}to{stroke-dashoffset:0}}
@keyframes ring{from{stroke-dasharray:0 var(--c)}}
@keyframes swing{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@keyframes petal{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@keyframes ringcall{0%,100%{transform:rotate(0)}20%{transform:rotate(-18deg)}40%{transform:rotate(18deg)}60%{transform:rotate(-12deg)}80%{transform:rotate(12deg)}}
/* shell */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sb);background:linear-gradient(180deg,#5A1717,#3A0E0E);color:#D9E6DF;z-index:50;display:flex;flex-direction:column;box-shadow:6px 0 30px rgba(58,14,14,.25);transition:transform .3s}
.brand{display:flex;gap:12px;align-items:center;padding:20px 18px 14px}
.brand .logo{width:42px;height:42px;animation:spin 25s linear infinite;filter:drop-shadow(0 0 8px rgba(245,158,61,.6))}
.brand b{font-family:'Space Grotesk',serif;font-size:21px;line-height:1;color:#FFD9A0;display:block}
.brand small{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#D9B98A}
.nav{overflow-y:auto;flex:1;padding:6px 12px 20px;scrollbar-width:thin}
.nav h6{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#B58E62;margin:16px 10px 6px;font-weight:500}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;color:#EBD3B2;margin:2px 0;position:relative;transition:.25s}
.nav a span.i{font-size:17px;width:24px;text-align:center;transition:.3s}
.nav a:hover{background:rgba(207,230,220,.1);transform:translateX(5px)}
.nav a:hover span.i{transform:scale(1.25) rotate(-8deg)}
.nav a.on{background:linear-gradient(90deg,rgba(47,111,94,.35),rgba(47,111,94,.05));color:#fff;font-weight:500}
.nav a.on:before{content:'';position:absolute;left:-12px;top:8px;bottom:8px;width:4px;border-radius:4px;background:var(--saf2);box-shadow:0 0 12px var(--saf2)}
.main{margin-left:var(--sb);position:relative;z-index:1;min-height:100vh}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:12px 28px;background:rgba(255,247,234,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.burger{display:none;background:none;border:0;font-size:24px}
.gsearch{position:relative;flex:1;max-width:420px}
.gsearch input{width:100%;padding:10px 16px 10px 40px;border-radius:30px;border:1px solid var(--line);background:#fff;font:inherit;outline:0;transition:.25s}
.gsearch input:focus{border-color:var(--saf);box-shadow:0 0 0 4px rgba(47,111,94,.15)}
.gsearch:before{content:'';position:absolute;left:14px;top:9px;font-size:14px;z-index:1}
.dd{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:8px;display:none;z-index:60;animation:pop .2s}
.dd.open{display:block}
.gsearch .dd{left:0;right:auto;width:100%}
.dd a,.dd button.it{display:flex;gap:10px;align-items:center;width:100%;padding:9px 12px;border-radius:10px;border:0;background:none;text-align:left;font:inherit;color:var(--ink)}
.dd a:hover,.dd button.it:hover{background:#EEF4F0}
.dd .hd{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--mut);padding:6px 12px}
.dd small{color:var(--mut);display:block;font-size:11px}
.tb-r{margin-left:auto;display:flex;gap:10px;align-items:center}
.rel{position:relative}
.circle{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:17px;position:relative;transition:.25s}
.circle:hover{transform:translateY(-2px) rotate(8deg);box-shadow:var(--sh)}
.circle .dot{position:absolute;top:-3px;right:-3px;background:var(--red);color:#fff;font-size:10px;border-radius:10px;padding:1px 5px}
.userchip{display:flex;align-items:center;gap:10px;padding:4px 14px 4px 4px;border-radius:30px;background:#fff;border:1px solid var(--line);cursor:pointer}
.userchip .av{width:34px;height:34px;font-size:18px}
.userchip b{display:block;font-size:13px;line-height:1.1}
.userchip small{font-size:10px;color:var(--mut)}
.content{padding:26px 28px 60px}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.page-h h1{font-size:36px;color:var(--mar);line-height:1}
.page-h p{color:var(--mut);margin-top:6px}
.page-h .diya{font-size:34px;display:inline-block;animation:flicker 2s infinite;transform-origin:bottom}
/* components */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 2px 0 rgba(201,138,61,.06),var(--sh);animation:fadeUp .6s both;animation-delay:calc(var(--i,0)*60ms);transition:transform .3s,box-shadow .3s}
.card h3{font-size:22px;color:var(--mar);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.tilt{transition:transform .15s ease-out,box-shadow .3s;transform-style:preserve-3d;will-change:transform}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g21{grid-template-columns:2fr 1fr}.g12{grid-template-columns:1fr 2fr}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}
.stat{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh);animation:fadeUp .6s both;animation-delay:calc(var(--i,0)*70ms);transition:.3s;position:relative;overflow:hidden}
.stat:after{content:'';position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(rgba(47,111,94,.18),transparent 70%)}
.stat:hover{transform:translateY(-5px)}
.stat .ico{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#DCEEE6,#BFE0D2);display:grid;place-items:center;font-size:23px;transition:.4s}
.stat:hover .ico{transform:rotate(360deg)}
.stat b{font-size:24px;font-weight:600;color:var(--mar);display:block;line-height:1.1}
.stat span{color:var(--mut);font-size:12px}
.btn{position:relative;overflow:hidden;border:0;border-radius:12px;padding:10px 18px;font-weight:500;font-size:13px;display:inline-flex;gap:8px;align-items:center;transition:.25s;white-space:nowrap}
.btn.primary{background:linear-gradient(135deg,var(--saf),#4F9A84);color:#fff;box-shadow:0 6px 18px rgba(47,111,94,.35)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,111,94,.45)}
.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--saf);color:var(--saf)}
.btn.danger{background:var(--red);color:#fff}
.btn.mar{background:var(--mar);color:#DCEEE6}
.btn.sm{padding:6px 12px;font-size:12px;border-radius:9px}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:rip .6s linear;pointer-events:none}
@keyframes rip{to{transform:scale(4);opacity:0}}
.ico{border:0;background:#EEF4F0;width:32px;height:32px;border-radius:9px;transition:.2s;font-size:14px}
.ico:hover{background:var(--saf2);transform:scale(1.15) rotate(-6deg)}
.badge{display:inline-block;padding:3px 11px;border-radius:20px;font-size:11px;font-weight:500;white-space:nowrap}
.b-green{background:#DDEFE4;color:#2C6B3F}.b-red{background:#F8DED8;color:#B02A1C}.b-blue{background:#DDEEF8;color:#1F6B93}.b-gold{background:#F8EBD0;color:#946B00}.b-purple{background:#EBDDF5;color:#6A3B8C}.b-teal{background:#D8F1F0;color:#16706F}.b-gray{background:#EEE6DB;color:#6D5B4C}.b-saf{background:#DCEEE6;color:#1F5546}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:13px;flex:none;background:var(--c,#999)}
.cell{display:flex;align-items:center;gap:10px}
.cell small{display:block;color:var(--mut);font-size:11px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.toolbar .sp{flex:1}
.search,.sel{padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit;outline:0;transition:.2s}
.search{min-width:230px}
.search:focus,.sel:focus{border-color:var(--saf);box-shadow:0 0 0 4px rgba(47,111,94,.13)}
.seg{display:inline-flex;background:#E9EEE9;border-radius:12px;padding:3px}
.seg button{border:0;background:none;padding:7px 14px;border-radius:9px;font-size:12px;font-weight:500;color:var(--mut)}
.seg button.on{background:#fff;color:var(--saf);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--mut);font-weight:500;padding:10px 12px;border-bottom:2px solid var(--line);white-space:nowrap}
td{padding:12px;border-bottom:1px solid #ECE9E0;vertical-align:middle}
tbody tr{animation:fadeUp .5s both;animation-delay:calc(var(--i,0)*30ms);transition:background .2s}
tbody tr:hover{background:#F1F6F3}
td.act{white-space:nowrap;text-align:right}
td.act .ico{margin-left:4px}
.empty{text-align:center;padding:50px 10px;color:var(--mut)}
.empty .big{font-size:50px;animation:float 3s infinite}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.item-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;position:relative;animation:fadeUp .5s both;animation-delay:calc(var(--i,0)*50ms);box-shadow:0 4px 14px rgba(20,33,27,.06)}
.item-card:hover{box-shadow:var(--sh)}
.item-card h4{font-family:'Space Grotesk',serif;font-size:20px;color:var(--mar)}
.item-card p{color:var(--mut);font-size:12.5px;margin:4px 0}
.item-actions{display:flex;gap:6px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center}
.progress{height:8px;border-radius:8px;background:#E5EAE4;overflow:hidden}
.progress i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--saf),var(--gold));transform-origin:left;animation:growx 1s both}
/* kanban */
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}
.kcol{background:#EEF1EC;border-radius:16px;padding:10px;min-height:300px;transition:.2s}
.kcol.over{background:#DCEEE6;outline:2px dashed var(--saf)}
.kcol-h{display:flex;justify-content:space-between;font-weight:600;padding:6px 8px 10px;color:var(--mar)}
.kcol-h span{background:#fff;border-radius:20px;padding:0 9px;font-size:12px}
.kcard{background:#fff;border-radius:12px;padding:12px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:grab;animation:pop .35s both;transition:.2s}
.kcard:hover{transform:translateY(-3px) rotate(-.6deg);box-shadow:var(--sh)}
.kcard.drag{opacity:.4;transform:rotate(4deg)}
.kcard b{display:block}.kcard small{color:var(--mut)}
/* forms / modal */
.overlay{position:fixed;inset:0;background:rgba(43,14,14,.5);backdrop-filter:blur(6px);z-index:200;display:grid;place-items:center;padding:16px;opacity:0;transition:.25s}
.overlay.show{opacity:1}
.modal{background:var(--paper);border-radius:22px;width:min(560px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(30px) scale(.94);transition:.35s cubic-bezier(.2,1.2,.4,1);border:1px solid var(--gold)}
.overlay.show .modal{transform:none}
.modal.lg{width:min(780px,100%)}.modal.xl{width:min(980px,100%)}.modal.sm{width:min(420px,100%)}
.modal-h{display:flex;justify-content:space-between;gap:12px;padding:20px 24px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#EEF4F0,transparent);border-radius:22px 22px 0 0}
.modal-h h3{font-size:26px;color:var(--mar)}.modal-h p{color:var(--mut);font-size:12.5px}
.modal-h .x{border:0;background:#fff;width:34px;height:34px;border-radius:50%;transition:.3s;flex:none}
.modal-h .x:hover{transform:rotate(180deg);background:var(--red);color:#fff}
.modal-b{padding:20px 24px;overflow-y:auto}
.modal-f{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px 20px;border-top:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fld{display:flex;flex-direction:column;gap:5px}
.fld span{font-size:12px;color:var(--mut);font-weight:500}.fld b{color:var(--red)}
.fld input,.fld select,.fld textarea{padding:10px 12px;border-radius:11px;border:1px solid var(--line);font:inherit;background:#fff;outline:0;transition:.2s;width:100%}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--saf);box-shadow:0 0 0 4px rgba(47,111,94,.13)}
.fld.bad input,.fld.bad select{border-color:var(--red);animation:shake .3s}
.toasts{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;flex-direction:column;gap:10px}
.toast{background:var(--mar);color:#E6F2EC;padding:12px 18px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;gap:10px;align-items:center;animation:fadeUp .35s;border-left:5px solid var(--saf2)}
.toast.err{border-color:#ff6b5a}
.toast.out{opacity:0;transform:translateX(40px);transition:.3s}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs button{border:0;background:none;padding:10px 16px;font-weight:500;color:var(--mut);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:.2s}
.tabs button:hover{color:var(--saf)}
.tabs button.on{color:var(--mar);border-color:var(--saf)}
.tabpane{display:none;animation:fadeUp .4s}.tabpane.on{display:block}
.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.kv div{background:#F1F6F3;border-radius:12px;padding:10px 14px}
.kv small{color:var(--mut);display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.kv b{font-weight:500}
.list-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}
.list-row:last-child{border:0}
.list-row .grow{flex:1}.list-row small{color:var(--mut);display:block}
.chip{display:inline-flex;gap:6px;align-items:center;background:#E8F1EC;border-radius:20px;padding:4px 12px;font-size:12px}
/* charts */
.bars{display:flex;align-items:flex-end;gap:14px;height:190px;padding-top:10px}
.bars .bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;font-size:11px;color:var(--mut)}
.bars .bar i{width:100%;max-width:46px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--saf2),var(--mar2));transform-origin:bottom;animation:grow .9s both;animation-delay:calc(var(--i)*90ms);position:relative}
.bars .bar i:hover{filter:brightness(1.2)}
.bars .bar b{color:var(--ink);font-weight:500}
.legend{display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:8px}
.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.donut circle{transition:.3s}.donut circle:hover{stroke-width:24}
.gauge{position:relative;display:inline-block}
.gauge .num{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:'Space Grotesk',serif;font-size:34px;font-weight:700;color:var(--mar);line-height:1}
.gauge .num small{display:block;font:500 11px 'Inter';color:var(--mut)}
.fn-row{display:flex;align-items:center;gap:10px;margin:8px 0}
.fn-row .l{width:110px;font-size:12.5px}.fn-row .progress{flex:1}.fn-row b{width:34px;text-align:right;font-weight:500}
.mini-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:300px}
.mini-plan div{aspect-ratio:1;border-radius:12px;display:grid;place-items:center;text-align:center;font-size:11px;padding:4px;font-weight:500;animation:pop .4s both;animation-delay:calc(var(--i)*60ms)}
.mini-plan small{display:block;font-size:9px;opacity:.7}
.r-good{background:#DDF1E2;color:#1F5F34}.r-ok{background:#F8EBD0;color:#7A5800}.r-bad{background:#FBD9D4;color:#9C2417}.r-none{background:#F1E9DC;color:#9A8B7A}
.sw{position:relative;width:42px;height:24px;border-radius:20px;background:#D9CBB6;border:0;transition:.3s;flex:none}
.sw:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.sw.on{background:var(--green)}.sw.on:after{left:21px}
.confetti{position:fixed;width:10px;height:14px;border-radius:50% 0;z-index:400;pointer-events:none;animation:petal 1.4s ease-out forwards}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g21,.g12,.g3{grid-template-columns:1fr}}
@media(max-width:860px){.sidebar{transform:translateX(-100%)}body.sb-open .sidebar{transform:none}body.sb-open:after{content:'';position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:49}.main{margin-left:0}.burger{display:block}.content{padding:18px 14px 50px}.g2,.g4{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.userchip div{display:none}.topbar{padding:10px 14px}.page-h h1{font-size:28px}}
@media print{.sidebar,.topbar,.no-print,.bg-mandala,.spark,.toasts{display:none!important}.main{margin:0}.overlay{position:static;background:none;backdrop-filter:none;padding:0}.modal{box-shadow:none;border:0;max-height:none;transform:none}.modal-h,.modal-f{display:none}body{background:#fff}}

/* ===== Blueprint theme overrides: flat, architectural, sage + stone + clay ===== */
:root{--r:10px;--sh:0 1px 2px rgba(20,33,27,.06);--sb:244px;--saf:#2F6F5E;--clay:#C98A3D}
body{background-color:#F4F1EA;background-image:radial-gradient(#D6D2C4 1px,transparent 1px);background-size:22px 22px;letter-spacing:-.005em}
h1,h2,h3,.serif{font-family:'Space Grotesk','Inter',sans-serif;letter-spacing:-.02em;font-weight:600}
.bg-mandala,.spark{display:none}
.sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line);box-shadow:none}
.brand{padding:18px 18px 12px;border-bottom:1px solid var(--line)}
.brand .logo{width:34px;height:34px;animation:none;filter:none}
.brand b{color:var(--ink);font-size:16px;font-weight:700}
.brand small{color:var(--mut);letter-spacing:1.5px}
.nav h6{color:#9AA39D;margin:18px 10px 6px}
.nav a{color:#3B4A42;border-radius:8px;padding:8px 12px;font-size:13.5px}
.nav a:hover{background:#EEF4F0;transform:none}
.nav a:hover span.i{transform:none}
.nav a.on{background:var(--saf);color:#fff;font-weight:500}
.nav a.on:before{display:none}
.nav a span.i{font-size:15px;filter:grayscale(.3)}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
.gsearch input{border-radius:8px;background:#F4F1EA}
.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh)}
.card h3{font-size:16px;color:var(--ink);font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:14px}
.page-h h1{font-size:30px;color:var(--ink);font-weight:700}
.page-h h1:before{content:'/ ';color:var(--clay)}
.stat{border-radius:var(--r);box-shadow:var(--sh);border-left:4px solid var(--saf);background:#fff}
.stat:after{display:none}
.stat:nth-child(even){border-left-color:var(--clay)}
.stat .ico{border-radius:8px;background:#EEF4F0;width:44px;height:44px}
.stat:hover .ico{transform:none}
.stat b{color:var(--ink);font-family:'Space Grotesk',sans-serif;font-size:26px}
.btn{border-radius:8px}
.btn.primary{background:var(--saf);box-shadow:none}
.btn.primary:hover{background:#255A4C;box-shadow:none;transform:none}
.btn.mar{background:var(--ink);color:#fff}
.ico{border-radius:7px;background:#F1F4F1}
.ico:hover{background:var(--saf);color:#fff;transform:none}
.badge{border-radius:6px;font-weight:600;font-size:10.5px;letter-spacing:.2px}
.seg{border-radius:8px;background:#ECEAE1}.seg button{border-radius:6px}
.search,.sel,.fld input,.fld select,.fld textarea{border-radius:8px}
th{background:#F7F6F1;color:#6B766F}
tbody tr:hover{background:#F7FAF8}
.item-card,.kcard{border-radius:10px;box-shadow:var(--sh)}
.item-card h4{font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--ink)}
.kcol{background:#ECEAE1;border-radius:10px}.kcol.over{background:#DCEEE6}
.modal{border:0;border-radius:14px;box-shadow:0 24px 70px rgba(20,33,27,.3)}
.modal-h{background:#fff;border-radius:14px 14px 0 0}
.modal-h h3{font-size:22px;color:var(--ink);padding:0;border:0;margin:0;display:block}
.overlay{background:rgba(20,33,27,.55)}
.toast{background:var(--ink);color:#fff;border-radius:10px;border-left-color:var(--clay)}
.tabs button.on{color:var(--saf);border-color:var(--saf)}
.kv div,.pan div{border-radius:8px;background:#F4F1EA}
.bars .bar i{background:linear-gradient(180deg,#4F9A84,var(--saf));border-radius:4px 4px 0 0}
.bars .bar:nth-child(even) i{background:linear-gradient(180deg,#E0A964,var(--clay))}
.progress i{background:var(--saf)}
.gauge .num{font-family:'Space Grotesk',sans-serif}
.page-h .diya{animation:none}
.userchip,.circle{border-radius:8px}
.chip{background:#EEF4F0;border-radius:6px}
.cards-grid .item-card:hover{border-color:var(--saf)}
/* text action buttons, svg nav icons, empty decorative slots */
.ico{width:auto;height:28px;padding:0 10px;font-size:11.5px;font-weight:500;color:#3B4A42;white-space:nowrap}
td.act{white-space:normal;text-align:right;min-width:170px}
td.act .ico{margin:2px 0 2px 4px}
.item-actions .ico{margin:0}
.nav a span.i svg{width:17px;height:17px;display:block;margin:auto}
.nav a span.i{display:grid;place-items:center}
.big:empty,.em:empty,.el-strip .e:empty,.diya:empty{display:none}
.toast span:first-child:empty{display:none}
.hero-card .needle svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.role .e .av{border-radius:8px}
.gsearch:before{display:none}
.gsearch input{padding-left:16px}
.brand>div{min-width:0}
.brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
