/* Shared chrome for login / upload / history pages.
   The dashboard keeps its own original inline styling. */
body{font-family:Segoe UI,Arial,sans-serif;margin:0;background:#f4f6f8;color:#1f2937}
.appnav{background:#17365d;color:#fff;padding:14px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.appnav .brand{font-weight:700;font-size:16px;letter-spacing:.4px}
.appnav a{color:#cbd5e1;text-decoration:none;font-size:13px;padding:6px 12px;border-radius:6px}
.appnav a:hover{background:#ffffff1a;color:#fff}
.appnav a.active{background:#ffffff26;color:#fff;font-weight:600}
.appnav .spacer{margin-left:auto}
.appnav .who{font-size:12px;opacity:.85}
.page{padding:22px 24px;max-width:1100px}
.panel{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0001;margin-bottom:16px}
.panel h2{font-size:16px;margin:0 0 12px}
.panel h3{font-size:13px;margin:16px 0 8px;color:#374151}
label{font-size:12px;font-weight:600;color:#4b5563;display:block;margin:10px 0 4px}
input,select{padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;box-sizing:border-box;font-size:13px}
input[type=file]{width:100%;padding:14px;border:1px dashed #cbd5e1;background:#f8fafc}
.btn{display:inline-block;padding:9px 16px;border:0;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}
.btn.primary{background:#17365d;color:#fff}
.btn.ghost{background:#f1f5f9;color:#17365d;border:1px solid #d1d5db}
.btn.green{background:#047857;color:#fff}
.alert{padding:11px 13px;border-radius:8px;font-size:13px;margin:10px 0}
.alert.error{background:#fee2e2;color:#991b1b}
.alert.ok{background:#dcfce7;color:#166534}
.alert.warn{background:#fef3c7;color:#92400e}
table.tbl{width:100%;border-collapse:collapse;font-size:12px}
table.tbl th,table.tbl td{padding:8px;border-bottom:1px solid #e5e7eb;text-align:left}
table.tbl th{background:#f8fafc}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}
.stat{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:11px}
.stat .v{font-size:20px;font-weight:700}.stat .l{font-size:11px;color:#6b7280;margin-top:3px}
.small{font-size:11px;color:#6b7280}
.login-body{display:flex;min-height:100vh;align-items:center;justify-content:center;background:#17365d}
.login-card{background:#fff;padding:30px;border-radius:12px;width:330px;box-shadow:0 10px 40px #0003}
.login-card h1{font-size:17px;margin:0 0 4px;color:#17365d}
.login-card .sub{font-size:12px;color:#6b7280;margin:0 0 16px}
.login-card input{width:100%}
.login-card .btn{width:100%;margin-top:18px}
.hint{font-size:11px;color:#9ca3af;margin-top:14px;text-align:center}
.databar{background:#eef2f7;border-bottom:1px solid #dbe3ec;padding:8px 24px;font-size:12px;color:#374151;display:flex;gap:22px;flex-wrap:wrap}
.databar b{color:#17365d}
