*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f6fa;color:#1f2937}nav{height:58px;background:#17365d;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px}nav a{color:white;text-decoration:none;margin-left:18px;font-size:14px}.wrap{max-width:1100px;margin:28px auto;padding:0 16px}.small{max-width:560px}.card,.panel{background:white;border-radius:12px;padding:22px;box-shadow:0 3px 14px #00000012;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{font-size:26px;font-weight:700}.muted{color:#6b7280}.btn{display:inline-block;border:0;border-radius:8px;padding:11px 16px;text-decoration:none;cursor:pointer;font-weight:600}.primary{background:#1769aa;color:#fff}.green{background:#198754;color:#fff}.orange{background:#f59e0b;color:#111}.gray{background:#e5e7eb;color:#111}.danger{background:#fee2e2;color:#991b1b}.alert{padding:12px;border-radius:8px;margin:12px 0}label{display:block;font-weight:600;margin:12px 0}input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:7px;margin-top:6px}table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px}th{background:#f8fafc}.actions{display:flex;gap:8px;flex-wrap:wrap}.search{display:flex;gap:8px}.search input{margin:0}.center{text-align:center}.login{max-width:420px;margin:70px auto}.photo{width:90px;height:110px;object-fit:cover;border:1px solid #bbb}.card-preview{width:90mm;min-height:55mm;background:#fff;border:1px solid #111;margin:20px auto;padding:5mm;position:relative;font-size:10px}.card-preview .head{text-align:center;border-bottom:1px solid #111;padding-bottom:2mm;margin-bottom:3mm;font-weight:700}.card-preview .body{display:flex;gap:4mm}.card-preview .p{width:24mm;height:30mm;object-fit:cover;border:1px solid #555}.card-preview .sig{text-align:right;margin-top:3mm}.print-card{max-width:850px;margin:auto;background:#fff;padding:20px}.code{font-family:monospace;font-size:20px;letter-spacing:1px}.note{padding:12px;background:#fff8db;border-left:4px solid #eab308}footer{text-align:center;padding:25px;color:#777}@media(max-width:800px){.grid{grid-template-columns:1fr}nav{padding:0 12px}nav a{margin-left:8px;font-size:12px}}
@media print{body{background:white}nav,footer,.no-print{display:none!important}.wrap{margin:0;padding:0}.print-card{box-shadow:none;padding:0}.card-preview{margin:0 auto;break-inside:avoid}}
