/* VBP Data Operations — UI/UX upgrade layer. Add after the existing <style> block. */
:root{--navy:#0b1739;--navy2:#17366b;--blue:#365cf5;--cyan:#22b8cf;--bg:#f4f7fc;--ink:#17233f;--muted:#71809a;--line:#e2e8f2;--green:#079669;--red:#d9475a;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at top right,#e7efff 0,transparent 36%),var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;letter-spacing:.05px}button,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #365cf544;outline-offset:2px}
/* Login */
.login-wrap{background:#fff;min-height:100vh}.login-art{background:radial-gradient(circle at 15% 15%,#2a5cb4 0,transparent 34%),linear-gradient(145deg,#09142f,#102c59 58%,#087e93);padding:clamp(32px,6vw,90px);isolation:isolate}.login-art:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(#ffffff18 1px,transparent 1px),linear-gradient(90deg,#ffffff18 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom right,#000,transparent 80%)}.login-art:after{width:520px;height:520px;border-color:#ffffff20;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}.brand{letter-spacing:1.2px}.brand small{letter-spacing:3.4px}.login-art h1{font-weight:850;letter-spacing:-1.5px}.featureline{border:1px solid #ffffff1d;background:#ffffff0c;padding:11px 13px;border-radius:12px;width:max-content;max-width:100%;backdrop-filter:blur(10px)}.login-panel{background:linear-gradient(135deg,#fff,#f8faff)}.login-card{max-width:420px;padding:clamp(20px,3vw,36px);border:1px solid #e7ecf5;border-radius:24px;box-shadow:0 24px 70px #10294f12}.login-card h2{letter-spacing:-.7px;font-size:28px}.field label{color:#4d5d79}.field input,.field select,.field textarea{border-radius:12px;padding:13px 14px;background:#fbfcff}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5271ff;box-shadow:0 0 0 4px #365cf51b}.btn{border-radius:11px;padding:10px 14px;font-weight:700;box-shadow:0 1px 1px #10294f06}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #10294f13}.btn.primary{background:linear-gradient(135deg,#4266ff,#294bd7);border-color:#365cf5}.btn.green{background:linear-gradient(135deg,#0ca978,#07855f);border-color:#079669}.btn.dark{background:linear-gradient(135deg,#132c55,#0b1739)}
/* Application shell */
.app{min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,#0a1736,#102a53 72%,#0b2344);box-shadow:8px 0 30px #0b17390b}.side-brand{padding:25px 20px;border-bottom-color:#ffffff12}.side-brand .brand{font-size:18px}.userbox{padding:17px 18px;border-bottom-color:#ffffff12}.avatar{background:linear-gradient(135deg,#3e6bff,#16a4b9);box-shadow:0 6px 16px #0002;border-radius:12px}.nav{padding:16px 11px;gap:6px}.nav button{border:1px solid transparent;border-radius:11px;padding:12px 13px;color:#c2d0e6;font-size:13px;transition:all .18s ease}.nav button.active{background:linear-gradient(100deg,#3158a0,#234579);box-shadow:inset 3px 0 #61d7e8,0 7px 18px #00000012;color:white}.nav button:hover:not(.active){background:#ffffff10;color:#fff;transform:translateX(2px)}.nav .ni{width:27px}.sidebottom{border-top-color:#ffffff15}.main{background:transparent}.topbar{position:sticky;top:0;z-index:10;height:70px;background:#ffffffed;border-bottom:1px solid #e1e8f3;padding:0 clamp(16px,2.5vw,34px);backdrop-filter:blur(16px)}.crumb{font-size:12px}.top-actions{flex-wrap:wrap}.search{border-radius:12px;background:#f7f9fd;padding:11px 14px}.content{padding:clamp(16px,2.4vw,32px);max-width:1700px}.pagehead{margin-bottom:23px}.pagehead h1{font-size:clamp(23px,2vw,30px);font-weight:800;letter-spacing:-.9px}.pagehead p{font-size:13px;line-height:1.65}.eyebrow{color:#5369b9;letter-spacing:2px}
/* Cards and dashboard */
.cards{gap:16px}.metric,.client,.clients,.employees,.entries,.data,.activity,.detail,.chart,.modal{border-radius:var(--radius)}.metric{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fbfcff);border:1px solid #e5ebf5;padding:20px;box-shadow:0 5px 18px #1d37680a;transition:transform .2s ease,box-shadow .2s ease}.metric:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-34px;top:-40px;background:linear-gradient(135deg,#dce8ff88,#c9f7f033)}.metric:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1d376814}.metric .label,.metric small{color:var(--muted)}.metric strong,.metric h2{font-size:clamp(24px,2.2vw,32px);letter-spacing:-1px}.chart,.detail,.activity,.client,.clients,.employees,.entries,.data{background:#fff;border:1px solid #e4eaf4;box-shadow:0 5px 18px #1d376808;padding:19px}.grid2{gap:16px}.bar{border-radius:999px;overflow:hidden}.barcol{border-radius:8px 8px 0 0}.badge{border-radius:999px;padding:5px 9px;font-weight:750;letter-spacing:.1px}.blue{background:#edf2ff;color:#3558cf}.green{background:#e5f8f0;color:#087b57}.red{background:#fff0f1;color:#bd3548}
/* Forms, tables, data entry */
.formgrid{gap:15px}.field{margin-bottom:16px}.field input,.field select,.field textarea{min-height:44px}.field textarea{min-height:100px;resize:vertical}.field label{font-size:12px;letter-spacing:.15px}.table-wrap,table{width:100%}table{border-collapse:separate;border-spacing:0;background:#fff;border-radius:13px;overflow:hidden}th{background:#f4f7fc;color:#586984;font-size:11px;text-transform:uppercase;letter-spacing:.65px;font-weight:800}th,td{padding:13px 14px;border-bottom:1px solid #edf1f7;text-align:left}td{font-size:13px}tbody tr{transition:background .15s ease}tbody tr:hover{background:#f7f9ff}tbody tr:last-child td{border-bottom:0}.empty{padding:28px;color:var(--muted);text-align:center}.modalback{background:#09142f9c;backdrop-filter:blur(6px);padding:18px}.modal{max-width:850px;width:min(850px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:0 25px 90px #0003;border:1px solid #ffffff70}.modalhead{position:sticky;top:-24px;background:#fff;padding:4px 0 14px;z-index:2;border-bottom:1px solid var(--line);margin-bottom:17px}.actions{display:flex;flex-wrap:wrap;gap:8px}.activity{border-left:3px solid #4b6df4}.progress,.bar{background:#e9eef7}.progress>div{border-radius:999px}.login-error,.error{border:1px solid #ffd5da;border-radius:11px}
/* Motion, scrollbars and mobile */
@keyframes vbpRise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.content>*{animation:vbpRise .28s ease both}.content>*:nth-child(2){animation-delay:.03s}.content>*:nth-child(3){animation-delay:.06s}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#cbd5e5;border-radius:99px;border:2px solid #f4f7fc}::-webkit-scrollbar-thumb:hover{background:#9baac0}
@media(max-width:1100px){.sidebar{width:220px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:20px}.topbar{padding:0 18px}}
@media(max-width:760px){.login-wrap{grid-template-columns:1fr}.login-art{padding:28px 24px;min-height:230px}.login-art h1{margin:25px 0 10px;font-size:30px}.login-art p{font-size:13px}.featureline{margin-top:10px}.login-panel{padding:22px 16px}.login-card{padding:24px 20px}.app{display:block}.sidebar{width:100%;min-height:0}.side-brand{padding:14px 17px}.userbox{padding:10px 17px}.nav{display:flex;overflow-x:auto;padding:8px;gap:6px}.nav button{white-space:nowrap;flex-shrink:0;padding:10px 12px}.nav .ni{width:auto;margin-right:5px}.sidebottom{display:none}.topbar{height:auto;min-height:60px;padding:12px 14px;align-items:flex-start;flex-direction:column}.top-actions{width:100%}.search{width:100%;max-width:none}.content{padding:15px}.pagehead{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:15px}.metric strong,.metric h2{font-size:24px}.grid2{grid-template-columns:1fr!important}.modal{padding:17px}.modalhead{top:-17px}.formgrid{grid-template-columns:1fr!important}table{min-width:620px}.table-wrap{overflow-x:auto}.btn{min-height:40px}}
@media(max-width:420px){.cards{grid-template-columns:1fr}.featureline{width:100%}.top-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
