
:root{
  --navy:#071b33;--navy2:#0d2f55;--blue:#1768ac;--sky:#37a2ff;--cyan:#36d1dc;--teal:#00a884;--green:#12b76a;--amber:#f79009;--gold:#d6a84f;--red:#e5484d;--purple:#7c3aed;--pink:#e31b8f;
  --bg:#eef4fb;--paper:#ffffff;--paper2:#f8fbff;--text:#132238;--muted:#667085;--line:#dbe5f1;--shadow:0 18px 55px rgba(11,35,70,.12);--shadow2:0 8px 22px rgba(11,35,70,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#d9ecff 0,#eef4fb 28%,#f8fafc 100%);color:var(--text)}a{text-decoration:none;color:inherit}.muted{color:var(--muted)}
.login-bg{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#37a2ff55,transparent 25%),radial-gradient(circle at 90% 20%,#d6a84f55,transparent 22%),linear-gradient(135deg,#06172d,#0f355d 55%,#071b33)}
.login-card{width:min(500px,94vw);background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #ffffff55;border-radius:32px;padding:36px;box-shadow:0 35px 90px rgba(0,0,0,.32);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,var(--sky),var(--teal),var(--gold),var(--purple))}.login-logo{display:flex;gap:14px;align-items:center;margin-bottom:24px}.mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--sky));display:grid;place-items:center;color:#fff;font-weight:950;box-shadow:0 12px 28px #1768ac55}.login-card h2{font-size:26px;letter-spacing:-.03em}.app{display:flex;min-height:100vh}.sidebar{width:306px;background:linear-gradient(180deg,#071b33,#0b2947 62%,#06172d);color:#eaf6ff;padding:24px;position:fixed;height:100vh;overflow:auto;box-shadow:12px 0 28px rgba(7,27,51,.18)}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff22;border-radius:20px}.brand{display:flex;align-items:center;gap:13px;padding:4px 6px 28px}.brand strong{display:block;font-size:20px;letter-spacing:-.02em}.brand span{font-size:12px;color:#a9c7df;font-weight:700}.menu small{display:block;margin:22px 10px 8px;color:#7faccc;text-transform:uppercase;font-size:11px;letter-spacing:.11em;font-weight:900}.menu a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:16px;color:#dbeafe;margin:5px 0;font-weight:800;border:1px solid transparent}.menu a:before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--teal));box-shadow:0 0 0 3px #37a2ff1f}.menu a:hover,.menu a.active{background:linear-gradient(90deg,#ffffff1f,#ffffff0b);color:white;border-color:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff0e}.main{margin-left:306px;width:calc(100% - 306px)}.topbar{min-height:88px;background:rgba(255,255,255,.80);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 34px;position:sticky;top:0;z-index:3}.h1{font-size:33px;margin:0 0 5px;letter-spacing:-.04em}.sub{color:var(--muted);margin:0;font-weight:650}.page{padding:30px 34px 70px}.grid{display:grid;gap:20px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1768ac,#36d1dc,#d6a84f,#7c3aed);opacity:.78}.stat{font-size:40px;font-weight:950;letter-spacing:-.04em;margin-top:8px}.kpi{display:flex;justify-content:space-between;align-items:flex-start;min-height:135px}.kpi:nth-child(1) .ico{background:linear-gradient(135deg,#1768ac,#37a2ff)}.kpi:nth-child(2) .ico{background:linear-gradient(135deg,#e5484d,#f79009)}.kpi:nth-child(3) .ico{background:linear-gradient(135deg,#00a884,#36d1dc)}.kpi:nth-child(4) .ico{background:linear-gradient(135deg,#7c3aed,#e31b8f)}.ico{width:54px;height:54px;border-radius:18px;color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 14px 28px rgba(23,104,172,.24)}.btn{border:0;border-radius:15px;padding:12px 16px;background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff!important;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 18px #1768ac22;transition:.16s ease}.btn:hover{transform:translateY(-1px);filter:saturate(1.08)}.btn.light{background:#eef7ff;color:#14599a!important;box-shadow:none;border:1px solid #cae4ff}.btn.red{background:linear-gradient(135deg,#d92d20,#f04438)}.btn.green{background:linear-gradient(135deg,#039855,#12b76a)}.btn.gold{background:linear-gradient(135deg,#b87900,#f79009)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.input,select,textarea{width:100%;border:1px solid #cfdbea;background:#fff;border-radius:16px;padding:13px 14px;font:inherit;margin:0 0 10px;outline:none;transition:.15s ease}select{appearance:auto}.input:focus,select:focus,textarea:focus{border-color:var(--sky);box-shadow:0 0 0 4px #37a2ff20}textarea{min-height:115px;resize:vertical}.field{margin-bottom:13px}.field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:950;color:#1b2d44;margin-bottom:7px}.field .help{display:block;margin-top:-4px;color:#667085;font-size:12px;line-height:1.35}.req{color:#e5484d}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}.table-wrap{overflow:auto;border-radius:25px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th,td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:linear-gradient(180deg,#f7fbff,#eef6ff);color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:950}tr:hover td{background:#fbfdff}.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:950}.ok{background:#dcfae6;color:#067647}.warn{background:#fef0c7;color:#b54708}.bad{background:#fee4e2;color:#b42318}.gray{background:#eef2f6;color:#364152}.blue{background:#dbeafe;color:#154d8b}.alert{padding:14px 16px;border-radius:16px;margin:0 0 18px;font-weight:800}.alert.ok{background:#dcfae6;color:#067647;border:1px solid #abefc6}.alert.err{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.progress{height:11px;background:#edf3fa;border-radius:999px;overflow:hidden;margin:9px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--sky),var(--teal));border-radius:999px}.tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.tabs a{padding:10px 13px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:900;color:#475467}.tabs a.active{background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.section-title h2{margin:0;font-size:22px;letter-spacing:-.02em}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfe2f5;background:#f2f8ff;border-radius:999px;padding:8px 12px;font-weight:950;color:#1768ac}.file-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fbfdff}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--amber));color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 12px 22px #d6a84f33}.print-note{background:linear-gradient(135deg,#fffbeb,#fff7ed);border:1px solid #fedf89;color:#93370d;border-radius:18px;padding:14px 16px;margin:12px 0;font-weight:750}.empty{padding:26px;text-align:center;color:#667085;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:20px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.module-card{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow2)}.module-card b{font-size:17px}.module-card p{color:#667085;font-size:13px;line-height:1.45}.module-card .dot{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--sky),var(--teal));margin-bottom:12px}.right{text-align:right}@media(max-width:1120px){.g4,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sidebar{position:relative;width:100%;height:auto}.main{margin:0;width:100%}.app{display:block}.g4,.g3,.g2,.module-grid,.form-grid{grid-template-columns:1fr}.topbar{padding:18px}.page{padding:18px}.h1{font-size:27px}}

/* MOBILE PERFECT - BBHOME ERP */
.mobile-btn{display:none;border:0;background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;border-radius:14px;padding:12px 14px;font-weight:950;box-shadow:0 10px 22px #1768ac33;cursor:pointer}.mobile-backdrop{display:none}.mobile-title-row{display:flex;align-items:center;gap:12px}.bottom-mobile-nav{display:none}.touch-row{min-height:48px}button,.btn,a,select,input,textarea{touch-action:manipulation}table{min-width:760px}.table-wrap{-webkit-overflow-scrolling:touch}.mobile-only{display:none}.desktop-only{display:inline-flex}
@media(max-width:900px){
  body{background:#eef4fb}.mobile-btn{display:inline-flex;align-items:center;justify-content:center}.desktop-only{display:none}.mobile-only{display:inline-flex}
  .app{display:block;min-height:100vh}.sidebar{display:block;position:fixed;left:-320px;top:0;width:306px;max-width:86vw;height:100vh;z-index:50;transition:left .22s ease;padding-bottom:120px}.sidebar.open{left:0}.mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(7,27,51,.45);backdrop-filter:blur(3px);z-index:40}.mobile-backdrop.open{display:block}
  .main{margin:0;width:100%}.topbar{min-height:78px;padding:13px 14px;gap:12px}.topbar>.mobile-title-row,.topbar>div:first-child{min-width:0}.h1{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}.sub{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}.avatar{width:36px;height:36px}.topbar .row div:last-child{display:none}
  .page{padding:16px 14px 92px}.card{border-radius:22px;padding:18px}.card:after{height:3px}.stat{font-size:34px}.kpi{min-height:112px}.ico{width:46px;height:46px;border-radius:16px}.grid,.g4,.g3,.g2,.module-grid,.form-grid{grid-template-columns:1fr!important;gap:14px}.module-card{border-radius:20px;padding:17px}.section-title{display:block}.section-title .pill{margin-top:10px}.toolbar{gap:8px}.toolbar .btn,.btn{width:auto;min-height:46px;justify-content:center}.input,select,textarea{font-size:16px;min-height:48px}.field label{font-size:13px}.field .help{font-size:12px}.tabs{overflow:auto;white-space:nowrap;flex-wrap:nowrap;padding-bottom:4px}.tabs a{flex:0 0 auto}.table-wrap{border-radius:18px;margin-left:-2px;margin-right:-2px}th,td{padding:13px 12px;font-size:14px}.login-card{padding:28px 22px;border-radius:26px}.login-logo{align-items:flex-start}.mark{width:48px;height:48px}.menu a{min-height:48px}.brand{padding-top:10px}
  .bottom-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:35;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 45px rgba(7,27,51,.20);overflow:hidden}.bottom-mobile-nav a{padding:11px 4px;text-align:center;font-size:11px;font-weight:950;color:#475467}.bottom-mobile-nav a.active{background:linear-gradient(135deg,#eaf6ff,#f2f8ff);color:var(--blue)}.bottom-mobile-nav a span{display:block;font-size:18px;line-height:18px;margin-bottom:3px}
}
@media(max-width:420px){.h1{max-width:54vw;font-size:20px}.sub{max-width:54vw}.topbar{padding:12px 10px}.page{padding-left:10px;padding-right:10px}.card{padding:15px}.btn{padding:11px 13px;font-size:14px}.module-card p{font-size:12px}}
