:root{
  --bg:#080808;--bg2:#0F0F0F;--bg3:#161616;--bg4:#1C1C1C;--bg5:#242424;
  --or:#C9A84C;--or2:#E2C06A;--ordk:#8B6914;
  --orbg:rgba(201,168,76,.07);--orbg2:rgba(201,168,76,.13);
  --orbdr:rgba(201,168,76,.2);--orbdr2:rgba(201,168,76,.4);
  --tx:#E8E4DC;--tx2:#A09880;--tx3:#5C5648;--tx4:#2E2A26;
  --gr:#2A7A4A;--grbg:rgba(42,122,74,.12);--grdr:rgba(42,122,74,.28);
  --rd:#B83030;--rdbg:rgba(184,48,48,.12);--rddr:rgba(184,48,48,.28);
  --bl:#1E5A96;--blbg:rgba(30,90,150,.12);--bldr:rgba(30,90,150,.28);
  --bdr:rgba(255,255,255,.055);--bdr2:rgba(255,255,255,.1);
  --r:10px;--r2:7px;--sh:0 4px 30px rgba(0,0,0,.65);--shor:0 4px 24px rgba(201,168,76,.17);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px;-webkit-font-smoothing:antialiased}
body{font-family:'Jost',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh}
h1,h2,h3,h4,h5{font-family:'Cormorant Garamond',serif;letter-spacing:.02em}
::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--ordk);border-radius:2px}
input,select,textarea,button{font-family:'Jost',sans-serif}
/* LOGIN */
#login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}
.lbox{width:100%;max-width:400px;padding:0 20px;animation:fadeUp .5s ease}
.llogo{text-align:center;margin-bottom:36px}
.brand{font-family:'Cormorant Garamond',serif;font-size:54px;font-weight:700;color:var(--or);letter-spacing:.14em;line-height:1}
.lsub{font-size:10px;color:var(--tx3);letter-spacing:.2em;text-transform:uppercase;margin-top:3px}
.lyear{display:inline-block;background:var(--orbg2);border:1px solid var(--orbdr);color:var(--or2);font-size:10px;padding:2px 12px;border-radius:99px;margin-top:8px;letter-spacing:.07em}
.lcard{background:var(--bg2);border:1px solid var(--orbdr);border-radius:14px;padding:30px;box-shadow:var(--shor)}
.lcard h2{font-size:20px;color:var(--tx);margin-bottom:2px}
.lcsub{font-size:12px;color:var(--tx3);margin-bottom:24px}
.lerr{background:var(--rdbg);border:1px solid var(--rddr);color:#E88;border-radius:6px;padding:9px 13px;font-size:12px;margin-bottom:14px}
.lerr.hidden{display:none}
.lfield{margin-bottom:16px}
.lfield label{display:block;font-size:10px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.lfield input{width:100%;background:var(--bg3);border:1px solid var(--bdr2);border-radius:7px;padding:11px 14px;font-size:13px;color:var(--tx);outline:none;transition:border .2s}
.lfield input:focus{border-color:var(--or)}
.lbtn{width:100%;background:var(--or);color:var(--bg);border:none;border-radius:8px;padding:13px;font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:700;cursor:pointer;letter-spacing:.06em;transition:all .2s;margin-top:4px}
.lbtn:hover{background:var(--or2);transform:translateY(-1px)}
.lbtn:disabled{opacity:.6;cursor:not-allowed;transform:none}
/* SHELL */
.shell{display:flex;height:100vh;overflow:hidden}
/* SIDEBAR */
.sb{width:228px;min-width:228px;background:var(--bg2);border-right:1px solid var(--orbdr);display:flex;flex-direction:column;height:100vh;overflow-y:auto}
.sb-logo{padding:18px 16px 14px;border-bottom:1px solid var(--orbdr);display:flex;align-items:center;gap:10px}
.sb-mark{width:34px;height:34px;background:var(--orbg2);border:1px solid var(--orbdr2);border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;color:var(--or);flex-shrink:0}
.sb-txt .brand{font-size:16px}.sb-txt .sub{font-size:9px;color:var(--tx3)}
.sb-user{margin:10px 11px 0;background:var(--orbg);border:1px solid var(--orbdr);border-radius:7px;padding:9px 11px;display:flex;align-items:center;gap:8px}
.sb-av{width:27px;height:27px;background:var(--ordk);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:12px;color:var(--bg);flex-shrink:0}
.sb-ui .nm{font-size:12px;font-weight:600;color:var(--tx);line-height:1.2}
.sb-ui .role{font-size:9px;color:var(--or);text-transform:uppercase;letter-spacing:.05em}
nav{flex:1;padding:10px 9px 4px}
.ng{margin-bottom:2px}
.ngl{font-size:9px;font-weight:700;color:var(--tx4);letter-spacing:.12em;text-transform:uppercase;padding:7px 9px 3px}
.ni{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:6px;cursor:pointer;color:var(--tx2);font-size:12.5px;font-weight:500;border:none;background:none;width:100%;text-align:left;transition:all .16s}
.ni:hover{background:var(--orbg);color:var(--or2)}.ni.active{background:var(--orbg2);color:var(--or);border-left:2px solid var(--or);padding-left:7px}
.ni .ic{font-size:12px;width:16px;text-align:center;flex-shrink:0}
.ni .nbg{margin-left:auto;background:var(--or);color:var(--bg);font-size:9px;font-weight:700;padding:1px 5px;border-radius:99px}
.sb-cd{margin:auto 11px 10px;background:var(--bg);border:1px solid var(--orbdr2);border-radius:8px;padding:11px;text-align:center}
.sb-cd .days{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:700;color:var(--or);line-height:1}
.sb-cd .cdlbl{font-size:9px;color:var(--tx3);margin-top:2px}.sb-cd .cddate{font-size:9px;color:var(--or2);margin-top:2px;font-weight:600}
.sb-logout{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:6px;cursor:pointer;color:var(--tx3);font-size:12px;border:1px solid var(--bdr);background:none;width:100%;transition:all .18s}
.sb-logout:hover{color:#E88;border-color:var(--rddr)}
/* MAIN */
.main{flex:1;display:flex;flex-direction:column;overflow:hidden}
.topbar{background:var(--bg2);border-bottom:1px solid var(--orbdr);padding:0 22px;height:52px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.tbl-left{display:flex;align-items:center;gap:10px}
.tbl-title{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--tx)}
.tbl-bc{font-size:10px;color:var(--tx3);padding:2px 8px;background:var(--orbg);border-radius:4px;border:1px solid var(--orbdr)}
.tbl-right{display:flex;align-items:center;gap:8px}
.tb-date{font-size:10px;color:var(--tx3)}
.content{flex:1;overflow-y:auto;padding:18px 22px}
/* PAGES */
.pg{display:none}.pg.active{display:block;animation:fadeUp .22s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* KPI */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:10px;margin-bottom:16px}
.kpi{background:var(--bg2);border:1px solid var(--orbdr);border-radius:var(--r);padding:14px 15px;position:relative;overflow:hidden;transition:border .18s,transform .18s}
.kpi:hover{border-color:var(--orbdr2);transform:translateY(-1px)}
.kpi::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--or),transparent)}
.kpi.g::after{background:linear-gradient(90deg,var(--gr),transparent)}.kpi.r::after{background:linear-gradient(90deg,var(--rd),transparent)}.kpi.b::after{background:linear-gradient(90deg,var(--bl),transparent)}
.kpi-lbl{font-size:9.5px;color:var(--tx3);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.kpi-val{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:700;color:var(--tx);line-height:1;margin-bottom:3px}
.kpi-val.or{color:var(--or)}.kpi-val.green{color:#4DB868}.kpi-val.red{color:#D06070}
.kpi-sub{font-size:10px;color:var(--tx3)}
/* PANELS */
.panel{background:var(--bg2);border:1px solid var(--orbdr);border-radius:var(--r);margin-bottom:14px;overflow:hidden}
.ph{padding:10px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--orbdr);background:rgba(201,168,76,.03)}
.ph-t{font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:600;color:var(--or2);display:flex;align-items:center;gap:7px}
.ph-t::before{content:'';width:2px;height:12px;background:var(--or);border-radius:2px;flex-shrink:0}
.ph-a{display:flex;gap:7px}
.table-wrap{overflow-x:auto}
/* TABLE */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl thead tr{background:rgba(201,168,76,.04)}
.tbl th{padding:9px 12px;text-align:left;font-size:9px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--orbdr);white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--bdr);color:var(--tx);vertical-align:middle}
.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover td{background:var(--orbg)}.tbl tbody tr:last-child td{border-bottom:none}
.tbl .ft td{background:rgba(201,168,76,.07);font-weight:600;color:var(--or2);border-top:1px solid var(--orbdr);border-bottom:none}
.tr{text-align:right}.tc{text-align:center}
.bold{font-weight:600;color:#fff}
.vg{color:#4DB868;font-weight:600}.vor{color:var(--or2);font-weight:600}.vr{color:#D06070;font-weight:600}
.loading-td{text-align:center;padding:24px!important;color:var(--tx3);font-style:italic}
/* PILLS */
.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:10px;font-weight:600}
.p-or{background:var(--orbg2);color:var(--or);border:1px solid var(--orbdr)}.p-g{background:var(--grbg);color:#4DB868;border:1px solid var(--grdr)}
.p-r{background:var(--rdbg);color:#D06070;border:1px solid var(--rddr)}.p-b{background:var(--blbg);color:#5B9BD5;border:1px solid var(--bldr)}.p-gr{background:rgba(255,255,255,.05);color:var(--tx2);border:1px solid var(--bdr2)}
/* FORMS */
.fg-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:15px}
.fg{display:flex;flex-direction:column;gap:4px}
.fg label{font-size:9.5px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em}
.fg input,.fg select,.fg textarea{background:var(--bg3);border:1px solid var(--bdr2);border-radius:6px;padding:8px 11px;font-size:12.5px;color:var(--tx);outline:none;transition:border .16s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--or)}.fg input::placeholder{color:var(--tx3)}.fg select option{background:var(--bg3)}.fg textarea{resize:vertical;min-height:66px}
.fg-full{grid-column:1/-1}.fa{padding:0 15px 15px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.search-input{background:var(--bg2);border:1px solid var(--bdr2);border-radius:6px;padding:7px 12px;font-size:12px;color:var(--tx);outline:none;width:210px}
.search-input:focus{border-color:var(--or)}
.filter-select{background:var(--bg2);border:1px solid var(--bdr2);border-radius:6px;padding:7px 9px;font-size:12px;color:var(--tx);outline:none}
/* BUTTONS */
.btn{padding:7px 16px;border-radius:6px;font-family:'Jost',sans-serif;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .16s;display:inline-flex;align-items:center;gap:5px;text-decoration:none}
.btn-or{background:var(--or);color:var(--bg)}.btn-or:hover{background:var(--or2);transform:translateY(-1px)}
.btn-out{background:transparent;color:var(--or);border:1px solid var(--orbdr2)}.btn-out:hover{background:var(--orbg)}
.btn-gh{background:rgba(255,255,255,.04);color:var(--tx2);border:1px solid var(--bdr2)}.btn-gh:hover{background:rgba(255,255,255,.08);color:var(--tx)}
.btn-r{background:var(--rdbg);color:#D06070;border:1px solid var(--rddr)}.btn-r:hover{background:rgba(208,96,112,.2)}
.btn-sm{padding:5px 11px;font-size:11px}.btn-xs{padding:3px 8px;font-size:10px}
.btn:disabled{opacity:.38;cursor:not-allowed;transform:none!important}
/* PROGRESS */
.prog-bg{height:5px;background:var(--bg5);border-radius:3px;overflow:hidden;flex:1}
.prog-fill{height:100%;border-radius:3px;transition:width .7s ease}
/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:12px;padding:14px}
.card{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:15px;transition:all .18s;position:relative;overflow:hidden}
.card:hover{border-color:var(--orbdr);box-shadow:var(--shor);transform:translateY(-2px)}
.card-acc{position:absolute;top:0;left:0;right:0;height:2px}
.card-name{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:2px}
.card-sub{font-size:10.5px;color:var(--tx3);margin-bottom:8px}
.card-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.card-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--bdr);font-size:11.5px}
.card-row:last-of-type{border-bottom:none}.card-row .l{color:var(--tx3)}.card-row .v{font-weight:600;color:var(--or2)}
.card-ft{display:flex;justify-content:space-between;align-items:center;margin-top:9px;padding-top:8px;border-top:1px solid var(--bdr)}
.loading-card{grid-column:1/-1;padding:40px;text-align:center;color:var(--tx3);font-style:italic}
/* PAP */
.pap-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:12px;padding:15px}
.pap-c{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:16px;position:relative;transition:border .18s}
.pap-c:hover{border-color:var(--orbdr)}
.pap-nm{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:2px}
.pap-mg{font-size:10.5px;color:var(--tx3);margin-bottom:12px}
.pap-sd{display:flex;align-items:baseline;gap:5px;margin-bottom:8px}
.pap-sn{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:700;line-height:1}
.pap-st{font-size:12px;color:var(--tx3)}.pap-ca{font-size:11px;color:var(--tx3);margin-bottom:10px}.pap-ca strong{color:var(--or2)}
.pap-ar{display:flex;gap:7px}
/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:500;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px)}
.overlay.hidden{display:none}
.modal{background:var(--bg2);border:1px solid var(--orbdr2);border-radius:12px;width:90%;max-width:560px;max-height:92vh;overflow-y:auto;box-shadow:0 28px 90px rgba(0,0,0,.75)}
.mw{max-width:700px}
.mh{padding:15px 20px;border-bottom:1px solid var(--orbdr);display:flex;align-items:center;justify-content:space-between;background:rgba(201,168,76,.04)}
.mh h3{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--or2)}
.mc{background:none;border:none;color:var(--tx3);font-size:17px;cursor:pointer;padding:3px 6px;border-radius:4px;transition:all .16s;line-height:1}.mc:hover{color:#fff;background:var(--orbg)}
/* NOTICE */
.notice{border-radius:7px;padding:10px 13px;font-size:12px;line-height:1.6;margin-bottom:12px;display:flex;gap:8px}
.n-or{background:var(--orbg);border:1px solid var(--orbdr);color:var(--or2)}.n-r{background:var(--rdbg);border:1px solid var(--rddr);color:#E09090}
/* TOOLBAR */
.pg-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px;flex-wrap:wrap}
/* TIMELINE */
.tl{padding:15px;display:flex;flex-direction:column;gap:11px}
.tl-row{display:grid;grid-template-columns:78px 1fr;gap:11px}
.tl-b{background:var(--orbg2);border:1px solid var(--orbdr2);border-radius:7px;padding:9px 5px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.tl-b .w{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:14px;color:var(--or)}.tl-b .d{font-size:8.5px;color:var(--tx3);margin-top:1px;line-height:1.3}
.tl-ct{background:var(--bg3);border:1px solid var(--bdr);border-radius:7px;padding:11px 14px}
.tl-ct h4{font-size:12.5px;font-weight:600;color:#fff;margin-bottom:7px}
.tl-ct ul{list-style:none;display:flex;flex-direction:column;gap:3px}
.tl-ct li{font-size:11.5px;color:var(--tx2);padding-left:13px;position:relative;line-height:1.5}
.tl-ct li::before{content:'◆';position:absolute;left:0;color:var(--or);font-size:6px;top:4px}
.tl-obj{margin-top:7px;padding-top:7px;border-top:1px solid var(--bdr);font-size:11px;font-weight:600;color:var(--or)}
/* RULES */
.rule{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:14px;display:flex;gap:11px;margin-bottom:8px;transition:border .18s}
.rule:hover{border-color:var(--orbdr)}.rule-n{width:30px;height:30px;background:var(--orbg2);border:1px solid var(--orbdr2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:15px;color:var(--or);flex-shrink:0}
.rule h4{font-size:12.5px;font-weight:600;color:#fff;margin-bottom:4px}.rule p{font-size:11.5px;color:var(--tx2);line-height:1.6}
/* NOTIF */
.notif{position:fixed;bottom:22px;right:22px;z-index:9999;background:var(--bg2);border:1px solid var(--orbdr2);border-radius:8px;padding:11px 17px;font-size:12.5px;color:var(--tx);box-shadow:0 8px 28px rgba(0,0,0,.55);transform:translateY(70px);opacity:0;transition:all .3s;max-width:300px}
.notif.show{transform:translateY(0);opacity:1}.notif.ok{border-left:3px solid var(--or)}.notif.err{border-left:3px solid #D06070}.notif.info{border-left:3px solid #5B9BD5}
/* CLIENT SEARCH DROPDOWN */
.cl-result-item{padding:8px 12px;cursor:pointer;font-size:12.5px;color:var(--tx);border-bottom:1px solid var(--bdr);transition:background .12s}
.cl-result-item:hover{background:var(--orbg);color:var(--or2)}.cl-result-item:last-child{border-bottom:none}
.stat-sel{background:var(--bg4);border:1px solid var(--bdr2);color:var(--tx);padding:3px 7px;border-radius:5px;font-size:10.5px;cursor:pointer;font-family:'Jost',sans-serif}
@media(max-width:700px){
  .sb{width:50px;min-width:50px}.sb-txt,.ngl,.ni span:not(.ic),.sb-ui,.sb-cd .cdlbl,.sb-cd .cddate{display:none}
  .ni{justify-content:center;padding:8px}.content{padding:12px}.kpi-row{grid-template-columns:1fr 1fr}
}
