
:root{--bg:#f5f6f8;--surface:#fff;--line:#e6e8ed;--text:#181a20;--muted:#787f8c;--red:#b91c1c;--red2:#e23b3b;--dark:#151619;--green:#168049;--gold:#b26b12;--shadow:0 7px 28px rgba(20,25,30,.035)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.app{display:flex;min-height:100vh}.sidebar{width:238px;background:linear-gradient(135deg,#090a0d 0%,#181014 22%,#3b101b 48%,#1d0d13 70%,#090a0d 100%);background-size:260% 260%;background-position:0% 50%;animation:sidebar-red-gradient 18s ease-in-out infinite;color:#d7d7d9;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 13px;z-index:9}@keyframes sidebar-red-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.sidebar{animation:none;background-position:50% 50%}}.brand{display:flex;align-items:center;gap:11px;padding:3px 10px 25px;border-bottom:1px solid #ffffff18}.brandmark{background:#fff;border-radius:14px;width:48px;height:48px;display:grid;place-items:center;font-size:23px;color:white;font-weight:800;box-shadow:0 5px 18px #c61b2444}.brand b{position:relative;display:inline-block;max-width:100%;font-size:16px;letter-spacing:.5px;color:#fff;-webkit-text-fill-color:#fff;background:none;text-shadow:0 0 2px #fff,0 0 6px #8f1239a6,0 0 12px #76102e88,0 0 20px #5c0d254f}.brand b::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;color:transparent;background:linear-gradient(105deg,transparent 0%,transparent 43%,#901337 47%,#f2ccd4 50%,#901337 53%,transparent 59%,transparent 100%);background-size:260% 100%;background-position:130% 0;-webkit-text-fill-color:transparent;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 3px #9b143a99) drop-shadow(0 0 8px #74102e77);opacity:0;animation:brand-red-sweep 13s ease-in-out infinite}@keyframes brand-red-sweep{0%,12%{background-position:130% 0;opacity:0}24%{background-position:80% 0;opacity:.8}72%{background-position:-80% 0;opacity:.8}84%,100%{background-position:-130% 0;opacity:0}}@media(prefers-reduced-motion:reduce){.brand b{text-shadow:0 0 2px #fff,0 0 6px #8f1239a6,0 0 12px #76102e88,0 0 20px #5c0d254f}.brand b::after{display:none}}.brand small{font-size:10px;letter-spacing:2.3px;color:#ababaf}.navtitle{font-size:10px;letter-spacing:1.7px;color:#77777d;padding:23px 13px 10px}.nav{display:flex;gap:11px;align-items:center;width:100%;background:transparent;border:0;color:#b9b9bf;padding:12px 13px;text-align:left;border-radius:9px;margin:2px 0;font-size:13px}.nav .ico{font-size:18px;width:23px;text-align:center}.nav:hover{background:#ffffff0e;color:#fff}.nav.active{color:#fff;background:linear-gradient(90deg,#a31b25,#70232a);box-shadow:inset 3px 0 0 #ff7575}.sidebottom{margin-top:auto;border-top:1px solid #ffffff20;padding:19px 10px 0}.sidebottom strong{display:block;color:#f3f3f3;font-size:12px}.sidebottom small{color:#92929b}.main{margin-left:238px;width:calc(100% - 238px);min-width:0}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 32px;position:sticky;top:0;z-index:5}.crumb{color:var(--muted);font-size:12px}.crumb strong{display:block;color:var(--text);font-size:19px;margin-top:3px}.topright{display:flex;align-items:center;gap:12px}.role{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;color:var(--text);min-width:117px}.avatar{border-radius:50%;height:34px;width:34px;background:#fce8e9;color:var(--red);display:grid;place-items:center;font-weight:800}.content{max-width:1520px;margin:auto;padding:28px 32px 60px}.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#18191d,#352025 75%,#7b171e);border-radius:16px;padding:25px 29px;color:#fff;margin-bottom:24px;min-height:116px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:95px;top:-80px;height:250px;width:250px;border-radius:50%;border:1px solid #ffffff20}.hero h1{font-size:24px;margin:0 0 7px;font-weight:700;position:relative;z-index:1}.hero p{margin:0;color:#d6cdd0;font-size:13px;position:relative;z-index:1}.hero .badge{background:#ffffff20;color:#fff;border:1px solid #ffffff33}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.metric{padding:20px 22px}.metric .meta{display:flex;justify-content:space-between;color:#737b86;font-size:12px}.metric .icon{font-size:19px}.metric strong{display:block;font-size:25px;letter-spacing:-.8px;margin:10px 0 7px;white-space:nowrap}.metric small{color:var(--muted)}.panels{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:20px}.panel{padding:20px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.panelhead h2{font-size:16px;margin:0}.muted{color:var(--muted)}.small{font-size:12px}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:650;background:#eff1f3;color:#626a76;white-space:nowrap}.badge.red{background:#fff0f0;color:#bd222b}.badge.green{background:#e9f8ef;color:#138349}.badge.gold{background:#fff6e5;color:#a66b08}.badge.blue{background:#eaf2ff;color:#2f65bd}.btn{border:1px solid #dedfe3;border-radius:8px;background:#fff;padding:9px 13px;font-size:12px;font-weight:650;color:#2d3138;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{background:#f6f7f9}.btn.primary{background:#b91c1c;color:white;border-color:#b91c1c}.btn.primary:hover{background:#9b151c}.btn.soft{background:#fef0f0;color:#a71a24;border-color:#fbe0e0}.btn.green{background:#168049;color:#fff;border-color:#168049}.btn.ghost{border:0;background:transparent}.rowactions{display:flex;gap:6px;flex-wrap:wrap}.section{margin-top:22px}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{text-align:left;font-size:11px;color:#9299a3;letter-spacing:.35px;font-weight:650;padding:13px 12px;border-bottom:1px solid var(--line);background:#fafbfc}.table td{padding:15px 12px;border-bottom:1px solid #f0f1f3;font-size:12px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafbfc}.table td strong{font-size:12px}.table td small{display:block;margin-top:4px;color:var(--muted)}.searchbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.field{padding:10px 12px;border:1px solid #dfe2e7;border-radius:8px;background:#fff;min-width:140px;max-width:100%;outline:none;font-size:12px;color:#282a30}.field:focus{border-color:#ce6468;box-shadow:0 0 0 3px #bd262618}.searchbar .field.search{flex:1;min-width:200px}.empty{text-align:center;padding:55px 15px;color:var(--muted);font-size:13px}.chart{height:180px;display:flex;gap:18px;justify-content:space-around;align-items:end;padding:20px 3px 0;border-bottom:1px solid #ddd}.barcol{flex:1;max-width:48px;display:flex;flex-direction:column;justify-content:end;align-items:center;height:100%;gap:7px}.bar{width:100%;background:linear-gradient(180deg,#db4349,#981924);border-radius:5px 5px 0 0}.barcol small{font-size:10px;color:var(--muted)}.logitem{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.logitem:last-child{border:0}.dot{width:30px;height:30px;border-radius:9px;background:#f7e6e7;display:grid;place-items:center;color:var(--red);flex-shrink:0}.logitem b{font-size:12px}.logitem p{font-size:12px;color:#5c6571;margin:4px 0}.logitem small{color:#9aa0a9;font-size:11px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.inputgroup label{font-size:12px;color:#575e69;font-weight:650;display:block;margin-bottom:7px}.inputgroup input,.inputgroup select,.inputgroup textarea{width:100%;border:1px solid #dfe2e7;border-radius:8px;padding:11px 12px;outline:none;background:#fff;color:var(--text)}.inputgroup textarea{min-height:65px;resize:vertical}.inputgroup.wide{grid-column:1/-1}.modalback{position:fixed;inset:0;background:#0e121abd;z-index:99;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(610px,100%);background:white;border-radius:15px;box-shadow:0 20px 60px #0003;max-height:90vh;overflow-y:auto;padding:25px}.modalhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal h2{margin:0;font-size:19px}.modalfooter{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;border-top:1px solid #eee;padding-top:18px}.hint{background:#f8f9fb;padding:13px;border-radius:8px;color:#59616c;font-size:12px;line-height:1.7}.hidden{display:none!important}.toast{position:fixed;right:25px;bottom:25px;padding:13px 19px;background:#202225;color:#fff;border-radius:10px;box-shadow:0 8px 22px #0004;z-index:150;font-size:12px}.split{display:grid;grid-template-columns:2fr 1fr;gap:17px}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#f4f5f7;border:1px solid #eee;border-radius:30px;padding:8px 12px;color:#656b73;font-size:12px}.pill strong{color:#303640}.kpirow{display:flex;gap:10px;align-items:center}.link{color:#a51e29;cursor:pointer;font-weight:650;text-decoration:none}.progress{height:7px;border-radius:8px;background:#eee;overflow:hidden}.progress>span{display:block;background:linear-gradient(90deg,#b91c1c,#e35d5d);height:100%} .notice{font-size:11px;padding:9px 13px;background:#fff8ea;color:#9a6108;border-radius:8px}.footer{color:#949aa3;font-size:11px;margin-top:26px}.toggle{display:flex;align-items:center;gap:9px;padding:7px 0}.toggle input{accent-color:#b91c1c} @media(max-width:1150px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.panels,.split{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{width:60px;padding:15px 6px}.brand{padding:4px 4px 17px}.brand span,.nav span:last-child,.navtitle,.sidebottom{display:none}.brandmark{width:48px}.nav{justify-content:center}.main{margin-left:60px;width:calc(100% - 60px)}.content{padding:18px 12px}.topbar{padding:0 15px}.hero{padding:22px 15px}.grid4{gap:10px}.metric{padding:15px}.metric strong{font-size:19px}.formgrid{grid-template-columns:1fr}}

/* V2 desktop improvements */
:root{--shadow:0 12px 42px rgba(20,25,30,.045)}
.topbar{position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}
.table tr:hover td{background:#fff8f8}.btn:focus-visible,.nav:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b91c1c;outline-offset:2px}
.v2-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line)}
.v2-tabs .btn.active{background:#b91c1c;color:white;border-color:#b91c1c}
.v2-profile{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:18px}
.v2-datalist{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:17px}.v2-datalist dt{color:var(--muted);font-size:12px}.v2-datalist dd{margin:0;font-size:13px;font-weight:600}
.v2-action{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.v2-filters{display:flex;align-items:center;gap:10px;padding:18px;flex-wrap:wrap}
.v2-note{font-size:12px;color:#787f8c;line-height:1.7}.v2-kpi{margin-top:20px}
@media(max-width:1100px){.v2-profile{grid-template-columns:1fr}} 

label{display:block;margin:12px 0 6px}form.inline{display:inline} .stack{display:grid;gap:16px}.error{color:#b91c1c}.login{max-width:440px;margin:10vh auto;padding:28px}.formgrid .field{width:100%}a.nav{text-decoration:none}.metric strong{font-size:22px}
/* Logo supplied by the user; decorative watermark never captures input. */
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:url('/branding/jayahana-groups.gif') center center/min(56vw,520px) auto no-repeat;opacity:.025}
.brandmark:has(img){background:#fff!important;border:1px solid #eceef2;overflow:hidden}
@media print{body::after{position:fixed;opacity:.035}}

.sidebar{background:#0b0b0e;animation:none;isolation:isolate;overflow:hidden}.sidebar::before{content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 42% 28% at 18% 25%,rgba(143,18,48,.82),transparent 76%),radial-gradient(ellipse 44% 34% at 82% 72%,rgba(105,16,42,.72),transparent 76%);filter:blur(30px);opacity:.95;will-change:transform;animation:sidebar-red-glow-flow 9s ease-in-out infinite alternate}.sidebar>*{position:relative;z-index:1}@keyframes sidebar-red-glow-flow{0%{transform:translate3d(-18%,-9%,0) scale(.92)}50%{transform:translate3d(3%,8%,0) scale(1)}100%{transform:translate3d(18%,-4%,0) scale(1.08)}}
