:root{
    --primary:#5ab6ff;
    --primary-dark:#1d8fe3;
    --primary-deep:#0f4c81;
    --primary-soft:#edf7ff;
    --primary-soft-2:#d9efff;
    --accent:#0f172a;
    --text:#12304a;
    --muted:#64748b;
    --bg:#f4f9ff;
    --card:#ffffff;
    --line:#d9eafa;
    --success:#16a373;
    --warning:#f59e0b;
    --danger:#ef4444;
    --info:#2563eb;
    --radius:22px;
    --shadow:0 18px 48px rgba(37,99,235,.10);
    --shadow-soft:0 10px 28px rgba(37,99,235,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:"Noto Sans Thai","Sarabun","Tahoma","Arial",sans-serif;
    background:
        radial-gradient(circle at 18% -10%,rgba(96,165,250,.18),transparent 32%),
        radial-gradient(circle at 90% 5%,rgba(191,219,254,.32),transparent 28%),
        linear-gradient(180deg,#f7fffc 0%,var(--bg) 42%,#fbfffd 100%);
    color:var(--text);
    min-height:100vh;
    font-size:14px;
    line-height:1.55;
    text-rendering:geometricPrecision;
}
a{color:inherit;text-decoration:none}
.app-shell{display:flex;min-height:100vh}
.sidebar{
    width:272px;
    position:fixed;top:0;bottom:0;left:0;z-index:40;
    padding:22px 16px;overflow-y:auto;
    color:#eef7ff;
    background:
      linear-gradient(180deg,rgba(17,73,126,.96) 0%,rgba(11,44,81,.98) 100%),
      radial-gradient(circle at 10% 10%,rgba(96,165,250,.32),transparent 28%);
    box-shadow:18px 0 45px rgba(15,76,129,.16);
}
.brand-box{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding:13px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.brand-logo{width:50px;height:50px;border-radius:17px;background:linear-gradient(135deg,#9bd1ff,#4aaeff);display:grid;place-items:center;color:#0b3a60;font-weight:900;letter-spacing:.4px;box-shadow:0 14px 28px rgba(0,0,0,.18)}
.brand-title{font-size:20px;font-weight:900;letter-spacing:.5px;color:#fff;line-height:1.15}.brand-subtitle{font-size:12px;color:#b9dcff}
.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:16px;color:#e7f4ff;transition:.18s ease;font-weight:700}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.side-nav a.active{background:linear-gradient(135deg,#fff,#dffbf5);color:#07423b}.nav-icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:13px;line-height:1}.side-nav a.active .nav-icon{background:linear-gradient(135deg,var(--primary),#b9ddff);color:#0b3a60}.nav-section{margin:18px 10px 8px;font-size:11px;color:#9bc9f2;text-transform:uppercase;letter-spacing:1px;font-weight:800}
.main-content{margin-left:272px;width:calc(100% - 272px);min-height:100vh}
.topbar{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,238,232,.9);position:sticky;top:0;z-index:20}.topbar-left{display:flex;align-items:center;gap:14px}.topbar-title{font-size:24px;font-weight:900;color:#12304a;letter-spacing:-.02em}.topbar-subtitle{font-size:12px;color:var(--muted);margin-top:1px}.topbar-user{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.user-pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 14px;box-shadow:var(--shadow-soft)}.user-pill strong{display:block;font-size:13px;color:#12304a;line-height:1.1}.user-pill span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.logout-link,.notif{padding:10px 14px;border-radius:999px;font-size:13px;font-weight:800}.logout-link{background:#0f172a;color:#fff;box-shadow:0 10px 24px rgba(15,23,42,.18)}.notif{background:#fff;color:#1d6fbf;border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-soft)}.mobile-menu{display:none;border:none;background:#0f172a;color:#fff;border-radius:14px;padding:10px 12px;font-size:18px;cursor:pointer}.content-wrap{padding:28px;max-width:1420px;margin:auto}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:18px}.card-title{font-size:22px;font-weight:900;margin:0 0 4px;color:#12304a;letter-spacing:-.01em}.card-subtitle{color:var(--muted);font-size:13px;margin-bottom:18px;line-height:1.7}.dashboard-hero{padding:30px;overflow:hidden;position:relative;background:linear-gradient(135deg,#fff,#f0fffb);border:1px solid #cfe7ff}.dashboard-hero:before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(96,165,250,.22) 0%,rgba(46,211,183,0) 68%)}.hero-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:24px;align-items:center;position:relative;z-index:1}.hero-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--primary-soft);color:#1d6fbf;font-weight:900;font-size:12px;border:1px solid #cfe7ff;margin-bottom:14px}.hero-title{margin:0 0 8px;font-size:34px;line-height:1.15;color:#12304a;letter-spacing:-.03em}.hero-text{margin:0;color:var(--muted);line-height:1.8;max-width:800px}.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hero-stat-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-soft)}.hero-stat-label{font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:700}.hero-stat-value{font-size:34px;font-weight:900;color:#12304a}.section-head,.table-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.section-title{margin:0;font-size:24px;font-weight:900;color:#12304a}.section-subtitle{font-size:13px;color:var(--muted);margin-top:6px}.dashboard-stats .card{margin-bottom:0}.stat-card{position:relative;overflow:hidden;background:#fff}.stat-card:after{content:"";position:absolute;right:-38px;top:-38px;width:122px;height:122px;background:linear-gradient(135deg,#edf7ff,#d9efff);border-radius:50%}.stat-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.stat-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#b4dcff);box-shadow:0 0 0 8px rgba(96,165,250,.14)}.stat-label{font-size:14px;color:#31556f;font-weight:800;position:relative;z-index:1;line-height:1.55}.stat-value{font-size:36px;font-weight:900;color:#12304a;position:relative;z-index:1;margin:8px 0 6px}.stat-note{font-size:12px;color:var(--muted);position:relative;z-index:1;line-height:1.6}.form-section-title{font-size:18px;font-weight:900;border-left:5px solid var(--primary);padding-left:12px;margin:8px 0 18px;color:#12304a}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-group{margin-bottom:16px}.form-label{display:block;font-weight:800;font-size:13px;margin-bottom:8px;color:#2b4d48}.required{color:var(--danger)}.form-control,.form-select,textarea{width:100%;border:1px solid #d0e6fa;border-radius:16px;background:#fff;padding:12px 14px;font-size:15px;outline:none;transition:.18s ease;font-family:inherit;color:#12304a}.form-control::placeholder,textarea::placeholder{color:#9caebf}.form-control:focus,.form-select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(96,165,250,.15)}.input-readonly,.form-control[readonly]{background:#f7fbfa;color:#49657f}textarea{min-height:120px;resize:vertical}.problem-box{min-height:150px}.help-text{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;padding:11px 16px;font-weight:900;font-size:14px;cursor:pointer;transition:.16s ease;font-family:inherit}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#45aaf8,#b1dcff);color:#0b3a60;box-shadow:0 13px 24px rgba(96,165,250,.24)}.btn-dark{background:#0f172a;color:#fff}.btn-light{background:#fff;color:#16456f;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-info{background:var(--info);color:#fff}.btn-warning{background:var(--warning);color:#fff}.btn-sm{padding:7px 11px;border-radius:11px;font-size:12px}.btn-lg{padding:13px 22px;font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.table-wrap{width:100%;overflow-x:auto;border-radius:18px;border:1px solid var(--line);background:#fff}.table{width:100%;border-collapse:collapse;min-width:900px}.table th,.table td{padding:13px 14px;border-bottom:1px solid #edf5fd;text-align:left;vertical-align:top}.table th{background:#f0f7ff;color:#1d5f99;font-size:13px;white-space:nowrap;font-weight:800}.table tr:hover td{background:#fbfdff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900;white-space:nowrap}.badge-secondary{background:#eef2f7;color:#475569}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1d4ed8}.badge-primary{background:#dbeafe;color:#1e40af}.badge-success{background:#dcfce7;color:#166534}.badge-dark{background:#111827;color:#fff}.alert{padding:13px 15px;border-radius:16px;margin-bottom:16px;border:1px solid transparent}.alert-success{background:#dcfce7;border-color:#86efac;color:#166534}.alert-danger{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.alert-warning{background:#fef3c7;border-color:#fcd34d;color:#92400e}.alert-info{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}

/* Create request page */
.request-page{max-width:1180px;margin:0 auto}.request-hero{border-radius:28px;padding:28px 30px;margin-bottom:20px;color:#fff;background:linear-gradient(135deg,#0f4c81 0%,#0b7f70 54%,#33d7bd 100%);box-shadow:0 24px 55px rgba(7,111,99,.22);display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center;position:relative;overflow:hidden}.request-hero:after{content:"";position:absolute;right:-95px;top:-105px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.14)}.request-hero>*{position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#b8fff3;margin-bottom:8px}.request-hero h1{font-size:32px;line-height:1.12;margin:0 0 8px;letter-spacing:-.03em}.request-hero p{margin:0;color:#dcfff8;line-height:1.8}.hero-flow{display:flex;align-items:center;justify-content:flex-end}.flow-step{display:flex;align-items:center;gap:8px;color:#d9fff8;font-weight:800;white-space:nowrap}.flow-step span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}.flow-step.active span{background:#fff;color:#1d6fbf}.flow-line{width:42px;height:2px;background:rgba(255,255,255,.28);margin:0 10px}.request-form-shell{display:flex;flex-direction:column;gap:18px}.form-panel{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.section-number{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary-soft),#fff);color:#088371;font-weight:900;border:1px solid #cfe7ff}.section-heading h2{margin:0;color:#12304a;font-size:20px;font-weight:900}.section-heading p{margin:2px 0 0;color:var(--muted);font-size:13px}.type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.type-card{min-height:118px;border:1px solid #d0e6fa;border-radius:22px;background:#fff;padding:18px;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:8px;transition:.18s ease;box-shadow:0 8px 20px rgba(10,83,73,.04)}.type-card input{position:absolute;opacity:0;pointer-events:none}.type-card:has(input:checked){border-color:var(--primary);background:linear-gradient(180deg,#eef7ff,#ffffff);box-shadow:0 16px 30px rgba(46,211,183,.16)}.type-card:has(input:checked)::after{content:"✓";position:absolute;right:14px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#0b3a60;display:grid;place-items:center;font-weight:900}.type-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--primary-soft);color:#1d6fbf;font-size:19px}.type-title{display:block;font-size:16px;font-weight:900;color:#12304a}.type-text{display:block;font-size:12px;color:var(--muted)}.type-card-wide{grid-column:span 3;min-height:auto;flex-direction:row;align-items:center}.refined-grid{gap:18px}.impact-card{display:flex;align-items:flex-start;gap:12px;border:1px solid #d0e6fa;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);padding:15px 16px;cursor:pointer}.impact-card input{position:absolute;opacity:0}.impact-check{width:22px;height:22px;min-width:22px;border-radius:7px;border:2px solid #a8d9d0;margin-top:1px}.impact-card input:checked+.impact-check{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 4px #fff}.impact-card strong{display:block;color:#12304a}.impact-card small{display:block;color:var(--muted);margin-top:2px}.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;border:1.5px dashed #9edfd4;border-radius:24px;background:linear-gradient(180deg,#fbfdff,#f2fffb);padding:30px;cursor:pointer;color:#16456f}.upload-box input{display:none}.upload-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--primary),#92f3e1);display:grid;place-items:center;font-size:24px;color:#0f4c81;font-weight:900;box-shadow:0 12px 24px rgba(96,165,250,.18)}.upload-box strong{font-size:16px}.upload-box small{color:var(--muted)}.submit-bar{position:sticky;bottom:16px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:24px;padding:16px 18px;box-shadow:0 18px 42px rgba(7,111,99,.16)}.submit-bar strong{display:block;color:#12304a}.submit-bar span{display:block;color:var(--muted);font-size:12px;margin-top:2px}

.login-page{min-height:100vh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at top left,#dff7f1,transparent 35%),linear-gradient(135deg,#edfaf6,#f8fffd)}.login-card{width:100%;max-width:460px;background:rgba(255,255,255,.96);border-radius:30px;padding:36px;box-shadow:0 28px 80px rgba(37,99,235,.16);border:1px solid var(--line)}.login-logo{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,var(--primary),#97efde);display:grid;place-items:center;font-size:22px;font-weight:900;color:#0b3a60;margin-bottom:18px;box-shadow:0 18px 30px rgba(46,211,183,.2)}.login-title{font-size:28px;font-weight:900;margin-bottom:6px;color:#12304a}.login-subtitle{color:var(--muted);margin-bottom:24px}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.timeline-time{font-size:12px;color:var(--muted)}.timeline-title{font-weight:900;color:#12304a}.timeline-remark{font-size:13px;color:#4b5563;margin-top:4px}.detail-list{display:grid;grid-template-columns:190px 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.detail-list dt,.detail-list dd{padding:12px 14px;border-bottom:1px solid #edf5fd;margin:0}.detail-list dt{background:#f0f7ff;font-weight:900;color:#1d5f99}.detail-list dd{background:#fff}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.attachment-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px}.attachment-card img{width:100%;height:120px;object-fit:cover;border-radius:12px;background:#f3f4f6}.text-muted{color:var(--muted)}.text-center{text-align:center}.mt-2{margin-top:12px}.mt-3{margin-top:18px}.mb-0{margin-bottom:0}.w-100{width:100%}.print-only{display:none}.box{border:1px solid var(--line)}.row{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}.line{border-bottom:1px solid #95b6b0;min-height:20px;padding:2px 4px}.label{font-weight:700}.page{width:210mm;min-height:297mm;margin:0 auto;padding:10mm}.top{display:grid;grid-template-columns:1.2fr 1.2fr 1fr}.check{display:inline-block;width:12px;height:12px;border:1px solid #95b6b0;margin-right:5px;vertical-align:middle}.footer-note{text-align:right;margin-top:10px;font-weight:700}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}

@media(max-width:1180px){.grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.request-hero{grid-template-columns:1fr}.hero-flow{justify-content:flex-start}.type-grid{grid-template-columns:1fr}.type-card-wide{grid-column:span 1}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;width:100%}.mobile-menu{display:inline-flex}.topbar{padding:14px}.topbar-user{gap:8px}.user-pill{display:none}.content-wrap{padding:16px}.grid-2,.grid-3,.grid-4,.form-row,.form-row-3{grid-template-columns:1fr}.topbar-title{font-size:20px}.hero-title{font-size:28px}.request-hero h1{font-size:28px}.flow-line{width:22px;margin:0 6px}.flow-step strong{display:none}.submit-bar{position:static;flex-direction:column;align-items:stretch}.submit-bar .actions{justify-content:flex-end}}
@media(max-width:640px){body{font-size:13px}.topbar{height:auto;align-items:flex-start;flex-direction:column}.topbar-user{width:100%;justify-content:space-between}.logout-link,.notif{font-size:12px;padding:8px 10px}.card,.form-panel{padding:18px}.login-card{padding:24px}.detail-list{grid-template-columns:1fr}.detail-list dt{border-bottom:0}.timeline-item{grid-template-columns:1fr}.table{min-width:780px}.hero-stats{grid-template-columns:1fr}.request-hero{border-radius:24px;padding:22px}.request-hero h1{font-size:24px}.content-wrap{padding:12px}.section-heading{gap:10px}.section-number{width:38px;height:38px;border-radius:13px}.hero-flow{display:none}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print,.submit-bar{display:none!important}.main-content{margin-left:0;width:100%}.content-wrap{padding:0}.card,.form-panel{box-shadow:none;border:0}.print-only{display:block}.page-break{page-break-after:always}}


/* ==========================================================
   Light Blue Premium Theme Override v4
   ========================================================== */
:root{
    --primary:#58b7ff;
    --primary-dark:#1d8fe3;
    --primary-deep:#0f4c81;
    --primary-soft:#edf7ff;
    --primary-soft-2:#d9efff;
    --text:#12304a;
    --muted:#64748b;
    --bg:#f4f9ff;
    --card:#ffffff;
    --line:#d9eafa;
    --shadow:0 18px 48px rgba(37,99,235,.10);
    --shadow-soft:0 10px 28px rgba(37,99,235,.07);
}
body{
    background:
        radial-gradient(circle at 12% -8%, rgba(88,183,255,.22), transparent 30%),
        radial-gradient(circle at 92% 4%, rgba(207,231,255,.55), transparent 30%),
        linear-gradient(180deg,#fbfdff 0%,#f4f9ff 46%,#ffffff 100%);
    color:var(--text);
}
.sidebar{
    color:#edf7ff;
    background:
        radial-gradient(circle at 18% 0%, rgba(147,197,253,.30), transparent 30%),
        linear-gradient(180deg,#104c80 0%,#0b3158 100%);
    box-shadow:18px 0 45px rgba(15,76,129,.16);
}
.brand-box{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16)}
.brand-logo{background:linear-gradient(135deg,#b8e0ff,#54b6ff);color:#0b3a60}
.brand-subtitle{color:#c4e3ff}.side-nav a{color:#edf7ff}.side-nav a.active{background:linear-gradient(135deg,#ffffff,#dcefff);color:#0b3a60}.side-nav a.active .nav-icon{background:linear-gradient(135deg,#58b7ff,#b8e0ff);color:#0b3a60}.nav-section{color:#a8cdec}.nav-icon{background:rgba(255,255,255,.14)}
.topbar{background:rgba(255,255,255,.86);border-bottom-color:#d9eafa}.topbar-title,.card-title,.section-title,.hero-title,.stat-value,.hero-stat-value{color:#12304a}.notif{color:#1d6fbf;background:#fff;border-color:#d9eafa}.logout-link{background:#0b3158}
.card{border-color:#d9eafa;box-shadow:0 18px 48px rgba(37,99,235,.08)}
.dashboard-hero,.form-shell{background:linear-gradient(135deg,#ffffff,#f0f8ff);border-color:#cfe7ff}.dashboard-hero:before,.form-shell:before{background:radial-gradient(circle,rgba(88,183,255,.22) 0%,rgba(88,183,255,0) 68%)}
.hero-badge,.form-badge{background:#edf7ff;color:#1d6fbf;border-color:#cfe7ff}.stat-card:after{background:linear-gradient(135deg,#edf7ff,#d9efff)}.stat-dot{background:linear-gradient(135deg,#58b7ff,#b8e0ff);box-shadow:0 0 0 8px rgba(88,183,255,.14)}
.form-section-title{border-left-color:#58b7ff}.section-number{background:linear-gradient(135deg,#58b7ff,#b8e0ff);color:#0b3a60;box-shadow:0 12px 22px rgba(88,183,255,.20)}.section-heading h2{color:#12304a}.section-heading p{color:#64748b}
.form-control,.form-select,textarea{border-color:#d0e6fa;color:#12304a}.form-control:focus,.form-select:focus,textarea:focus{border-color:#58b7ff;box-shadow:0 0 0 4px rgba(88,183,255,.16)}
.btn-primary{background:linear-gradient(135deg,#45aaf8,#b1dcff);color:#0b3a60;box-shadow:0 13px 24px rgba(88,183,255,.24)}.btn-light{color:#16456f;border-color:#d9eafa;background:#fff}.table th{background:#f0f7ff;color:#1d5f99}.table td{border-bottom-color:#edf5fd}.table tr:hover td{background:#fbfdff}
.type-card{border-color:#d0e6fa}.type-card:has(input:checked){border-color:#58b7ff;background:linear-gradient(135deg,#ffffff,#edf7ff);box-shadow:0 12px 26px rgba(88,183,255,.13)}.type-icon{background:#edf7ff;color:#1d6fbf}.type-card:has(input:checked) .type-icon{background:linear-gradient(135deg,#58b7ff,#b8e0ff);color:#0b3a60}.impact-card{border-color:#d0e6fa}.impact-card:has(input:checked){background:#edf7ff;border-color:#58b7ff}.upload-box{border-color:#b7d8f6;background:linear-gradient(135deg,#ffffff,#f2f9ff)}.upload-icon{background:linear-gradient(135deg,#45aaf8,#b1dcff);color:#0b3a60}.submit-bar{border-color:#d9eafa;background:rgba(255,255,255,.92)}
.login-page{background:radial-gradient(circle at top left,#d9efff,transparent 35%),linear-gradient(135deg,#eff7ff,#fbfdff)}.login-logo{background:linear-gradient(135deg,#58b7ff,#b8e0ff);color:#0b3a60;box-shadow:0 18px 30px rgba(88,183,255,.22)}

/* ==========================================================
   v5 Form + Employee Search Refinement
   ========================================================== */
.form-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.compact-panel{padding:22px 24px}.light-blue-hero{background:linear-gradient(135deg,#0f4c81 0%,#1d8fe3 58%,#b8e0ff 100%)}.type-grid-clean{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.clean-type-card{min-height:112px;border-radius:20px}.clean-type-card.type-card-wide{grid-column:span 1;min-height:112px;flex-direction:column;align-items:flex-start}.other-required{display:none}#requestTypeOther:required + .help-text{}#otherTypeWrap:has(#requestTypeOther:required) .other-required{display:inline}.employee-search-box{border:1px solid #d9eafa;background:linear-gradient(135deg,#ffffff,#f4faff);border-radius:22px;padding:16px;margin-bottom:18px}.employee-search-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.employee-results{position:relative;margin-top:8px}.employee-result-item{width:100%;border:1px solid #d9eafa;background:#fff;border-radius:14px;padding:11px 13px;display:block;text-align:left;margin-top:7px;cursor:pointer;transition:.16s ease;box-shadow:0 8px 20px rgba(37,99,235,.06)}.employee-result-item:hover{transform:translateY(-1px);border-color:#58b7ff;background:#f7fbff}.employee-result-item strong{display:block;color:#12304a;font-weight:900}.employee-result-item span{display:block;color:#64748b;font-size:12px;margin-top:2px}.employee-result-empty{border:1px dashed #b7d8f6;background:#f7fbff;border-radius:14px;padding:10px 12px;color:#64748b;font-size:13px;margin-top:8px}.impact-inline{height:100%;min-height:54px;align-items:center}.input-readonly{cursor:not-allowed}.submit-bar{bottom:18px}.request-page .form-label{font-weight:900;color:#173b5d}.request-page .form-control,.request-page .form-select{min-height:46px}.request-page textarea.form-control{min-height:150px}.request-page .required{font-weight:900}.form-panel{scroll-margin-top:100px}
@media(max-width:1180px){.type-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))}.clean-type-card.type-card-wide{grid-column:span 2}}
@media(max-width:980px){.form-row-2{grid-template-columns:1fr}.employee-search-row{grid-template-columns:1fr}.type-grid-clean{grid-template-columns:1fr}.clean-type-card.type-card-wide{grid-column:span 1}.compact-panel{padding:18px}}


/* ==========================================================
   v14 Attachment Preview / View / Delete
   ========================================================== */
.enhanced-upload{
    min-height:150px;
    transition:.18s ease;
}
.enhanced-upload.dragover{
    border-color:#45aaf8;
    background:linear-gradient(135deg,#eaf6ff,#ffffff);
    box-shadow:0 16px 34px rgba(69,170,248,.18);
    transform:translateY(-1px);
}
.attachment-preview-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:16px;
    margin-bottom:10px;
    flex-wrap:wrap;
}
.attachment-preview-head strong{
    display:block;
    color:#12304a;
    font-size:15px;
    font-weight:900;
}
.attachment-preview-head span{
    display:block;
    color:#64748b;
    font-size:12px;
    margin-top:2px;
}
.attachment-preview-list{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
    gap:12px;
}
.attachment-empty{
    grid-column:1/-1;
    border:1px dashed #b7d8f6;
    background:#f7fbff;
    color:#64748b;
    border-radius:18px;
    padding:16px;
    text-align:center;
    font-size:13px;
}
.attachment-preview-card{
    display:grid;
    grid-template-columns:76px 1fr;
    gap:12px;
    align-items:center;
    border:1px solid #d9eafa;
    border-radius:18px;
    background:#fff;
    padding:10px;
    box-shadow:0 10px 24px rgba(37,99,235,.06);
}
.attachment-thumb{
    width:76px;
    height:66px;
    border-radius:14px;
    overflow:hidden;
    background:#edf7ff;
    border:1px solid #d9eafa;
    display:grid;
    place-items:center;
}
.attachment-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.attachment-file-icon{
    font-size:30px;
    line-height:1;
}
.attachment-info{
    min-width:0;
}
.attachment-info strong{
    display:block;
    color:#12304a;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin-bottom:3px;
}
.attachment-info span{
    display:block;
    color:#64748b;
    font-size:12px;
}
.attachment-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    border-top:1px solid #edf5fd;
    padding-top:9px;
}
.attachment-actions .btn-danger{
    background:#fee2e2;
    color:#991b1b;
    border:1px solid #fecaca;
}
@media(max-width:640px){
    .attachment-preview-list{grid-template-columns:1fr}
    .attachment-preview-card{grid-template-columns:68px 1fr}
    .attachment-thumb{width:68px;height:60px}
}

/* V15 Pool approver page */
.text-danger{color:var(--danger)!important}.switch-line{display:flex;align-items:center;gap:10px;margin-top:12px;font-weight:800;color:#284d60}.mini-table-wrap{max-height:360px;overflow:auto}.mini-table{min-width:520px}.mini-table th,.mini-table td{padding:10px 12px}.table-toolbar{margin-bottom:14px}

/* =========================
   V18 Asset Master / Asset Search
========================= */
.asset-search-box{margin-bottom:18px;background:#f8fbff;border:1px solid #d9e9fb;border-radius:18px;padding:18px}
.asset-selected-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #b9dcff;background:linear-gradient(135deg,#f3f9ff,#ffffff);border-radius:16px;padding:14px 16px;margin:8px 0 18px;box-shadow:0 10px 24px rgba(69,150,230,.08)}
.asset-selected-card strong{display:block;color:#16345a;font-size:15px}
.asset-selected-card span{display:block;color:#64748b;font-size:12px;margin-top:4px;line-height:1.5}
.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(135deg,#ffffff,#eef7ff)}
.compact-stats{display:flex;gap:12px;flex-wrap:wrap}.compact-stats .hero-stat-card{min-width:160px}
.text-danger,.required{color:#ef4444}
@media(max-width:760px){.asset-selected-card{align-items:flex-start;flex-direction:column}.settings-hero{align-items:flex-start}.compact-stats{width:100%}.compact-stats .hero-stat-card{width:100%}}


.history-detail-box{
    min-height:140px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px 16px;
    color:var(--text);
    line-height:1.75;
    white-space:normal;
    word-break:break-word;
}

/* =========================
   V24 Global Table Paging UI
========================= */
.table-pager-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin:2px 0 12px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:16px;
    background:linear-gradient(135deg,#ffffff,#f4f9ff);
    box-shadow:0 10px 24px rgba(36,112,181,.05);
}
.table-pager-left,.table-pager-right{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.table-pager-title{
    color:#355575;
    font-weight:900;
    font-size:13px;
}
.table-page-size{
    width:auto;
    min-width:112px;
    height:38px;
    padding:7px 32px 7px 12px;
    border-radius:12px;
    font-size:13px;
    font-weight:800;
}
.table-pager-info,.table-page-label{
    color:#64748b;
    font-size:13px;
    font-weight:700;
}
.table-pager-toolbar button:disabled{
    opacity:.45;
    cursor:not-allowed;
    transform:none!important;
}
@media(max-width:640px){
    .table-pager-toolbar{align-items:flex-start;flex-direction:column}
    .table-pager-left,.table-pager-right{width:100%}
    .table-page-size{flex:1;min-width:130px}
}
@media print{
    .table-pager-toolbar{display:none!important}
    table.table tbody tr{display:table-row!important}
}


/* V33: Modern parts management cards */
.parts-manage-card .card-subtitle{max-width:900px}
.parts-status-mini{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.parts-card-list{display:grid;gap:16px}
.part-manage-item{
    border:1px solid #d8e9fb;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    border-radius:22px;
    padding:18px;
    box-shadow:0 12px 28px rgba(30,89,140,.06);
}
.part-manage-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding-bottom:14px;
    margin-bottom:16px;
    border-bottom:1px solid #e8f1fb;
}
.part-running{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 10px;
    border-radius:999px;
    background:#eaf4ff;
    color:#1b64a4;
    font-weight:900;
    font-size:12px;
    margin-bottom:8px;
}
.part-title{font-size:18px;font-weight:900;color:#12304f}
.part-subtitle{font-size:13px;color:#60758c;margin-top:4px}
.part-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.parts-form-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px 16px;
}
.parts-form-grid .span-2{grid-column:span 2}
.compact-textarea{min-height:78px!important}
.parts-action-bar{
    position:sticky;
    bottom:0;
    z-index:8;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
    padding:14px;
    border:1px solid #d8e9fb;
    border-radius:18px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(14px);
    box-shadow:0 -8px 26px rgba(30,89,140,.08);
}
.parts-action-title{font-weight:900;color:#12304f}
.parts-action-text{font-size:12px;color:#60758c;margin-top:3px}
.empty-state-card{
    text-align:center;
    padding:34px 16px;
    border:1px dashed #bcd9f7;
    background:#f8fbff;
    border-radius:20px;
}
.empty-icon{font-size:34px;margin-bottom:8px}
.empty-title{font-weight:900;color:#12304f}
.empty-text{color:#60758c;font-size:13px;margin-top:4px}

@media(max-width:1180px){
    .parts-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .part-manage-head{flex-direction:column}
    .part-badges{justify-content:flex-start}
    .parts-form-grid{grid-template-columns:1fr}
    .parts-form-grid .span-2{grid-column:span 1}
    .parts-action-bar{position:static;flex-direction:column;align-items:flex-start}
    .parts-action-bar .actions{width:100%}
    .parts-action-bar .btn{width:100%}
}
