:root{--sky:#bfe9ff;--sky2:#eaf8ff;--yellow:#fff1b8;--green:#dff7df;--ink:#233044;--muted:#667085;--card:#ffffffcc;--shadow:0 18px 45px rgba(31,65,99,.12)}*{font-family:'Sarabun',sans-serif}body{min-height:100vh;color:var(--ink);background:linear-gradient(135deg,#f5fbff 0%,#fffdf2 45%,#f1fff4 100%)}.app-navbar{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 10px 25px rgba(0,0,0,.06)}.navbar-brand{color:#1f5f8b!important}.nav-pills .nav-link{border-radius:999px;color:#395166;font-weight:700}.nav-pills .nav-link.active{background:linear-gradient(135deg,#86d5ff,#ffd86b);color:#17324b}.hero{border-radius:32px;padding:32px;background:linear-gradient(135deg,rgba(135,213,255,.55),rgba(255,238,158,.55)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160"><circle cx="30" cy="30" r="8" fill="%23ffffff" opacity=".55"/><circle cx="120" cy="70" r="5" fill="%23ffffff" opacity=".45"/><circle cx="70" cy="125" r="7" fill="%23ffffff" opacity=".5"/></svg>');box-shadow:var(--shadow)}.hero h1{font-weight:900;font-size:clamp(1.8rem,4vw,3.2rem);margin:0}.hero p{font-size:1.1rem;color:#425466;margin:.5rem 0 0}.soft-card{background:var(--card);border:1px solid rgba(255,255,255,.75);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.soft-card h4,.soft-card h5{font-weight:800}.stat-card{display:flex;align-items:center;gap:18px;border-radius:28px;padding:22px;box-shadow:var(--shadow);min-height:120px}.stat-card i{font-size:2.5rem}.stat-card small{display:block;color:var(--muted);font-weight:700}.stat-card strong{font-size:2.3rem;font-weight:900}.stat-card.blue{background:linear-gradient(135deg,#dff4ff,#fff)}.stat-card.yellow{background:linear-gradient(135deg,#fff2b8,#fff)}.stat-card.green{background:linear-gradient(135deg,#ddf8e4,#fff)}.calendar-box{display:grid;gap:10px;max-height:420px;overflow:auto}.calendar-item{border:0;border-radius:20px;background:#f7fbff;padding:14px;text-align:left;width:100%;box-shadow:0 8px 18px rgba(31,65,99,.07)}.calendar-item .date{font-weight:900;color:#146c94}.calendar-item .meta{color:var(--muted);font-size:.92rem}.work-card{height:100%;border-radius:22px;background:linear-gradient(135deg,#ffffff,#f3fbff);padding:16px;border:1px solid #e8f3fa}.badge-status{border-radius:999px;padding:.45rem .7rem;font-weight:800}.status-pending{background:#fff3cd;color:#856404}.status-confirmed,.status-passed{background:#d1e7dd;color:#0f5132}.status-rejected,.status-revision{background:#f8d7da;color:#842029}.form-card{max-width:980px}.form-control,.form-select{border-radius:16px;border-color:#dbe8f0;padding:.72rem 1rem}.btn{font-weight:800}.qr-box{border:2px dashed #b5ddef;border-radius:20px;min-height:160px;display:flex;align-items:center;justify-content:center;background:#fbfdff;overflow:hidden}footer{color:#607080}.table{vertical-align:middle}@media(max-width:768px){.soft-card{padding:16px;border-radius:22px}.hero{padding:22px;border-radius:24px}.stat-card{min-height:auto}.nav-pills{padding-top:12px}.nav-pills .nav-link{width:100%;text-align:left}.table{font-size:.9rem}}
@media print{nav,.hero,.btn,footer,.dataTables_filter,.dataTables_length,.dataTables_info,.dataTables_paginate{display:none!important}.soft-card{box-shadow:none;border:0}.tab-pane{display:block!important;opacity:1!important}.container-fluid{padding:0!important}body{background:white}.print-page{width:210mm;min-height:297mm;padding:15mm}}
