@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap');
body { font-family: 'Kanit',Tahoma,sans-serif; background:#f4f8fd; color:#16314f; min-height:100vh; }
.appnav { background:linear-gradient(110deg,#0a386b,#1268aa); box-shadow:0 4px 18px #0b376a22; }
.navbar-brand { letter-spacing:.1px; }
.card { border:1px solid #e4ebf4; border-radius:16px; box-shadow:0 3px 18px #174d7210; }
.card-header { background:#fff; border-bottom:1px solid #e4ebf4; font-weight:600; padding:1rem 1.2rem; border-radius:16px 16px 0 0 !important; }
.btn-primary { background:#1269ae; border-color:#1269ae; }
.btn-primary:hover { background:#0b538e; }
.stat { padding:1.5rem; }
.stat .number { font-size:2rem; font-weight:700; color:#125a97; }
.table th { color:#36536d; background:#eff5fb; font-weight:500; white-space:nowrap; }
.form-label { font-weight:500; }
.page-title {font-weight:600; margin-bottom:1.3rem;}
.doc-preview { height:min(73vh,850px); width:100%; background:#eaf0f8; border:1px solid #e1e7ef; border-radius:12px; }
.empty-box { border:2px dashed #d8e2f1; border-radius:12px; padding:3rem; text-align:center; color:#67829d; }
@media(max-width:767px){ .table-responsive { font-size:.9rem; } .stat {padding:1rem;} }
@media print {nav,footer,.no-print{display:none!important;}body{background:#fff;}main{max-width:none!important;} }
