:root{--ink:#20242a;--muted:#65707c;--line:#d8dde3;--paper:#f6f7f4;--panel:#ffffff;--gold:#c6923a;--green:#1f6b56;--blue:#335c81;--red:#a64646;--soft-green:#e6f1ec;--soft-gold:#f5ead7}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#172029;color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}.mark{width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,#d7a64d,#f3dfb4 54%,#2d8067);display:grid;place-items:center;color:#172029;font-weight:800;overflow:hidden}.brand span,.brand strong{display:block}.brand span{color:#b8c2cc;font-size:12px;margin-top:2px}.nav{display:grid;grid-gap:8px;gap:8px}.nav a,.nav button{min-height:42px;border-radius:8px;color:#d9e0e6;background:transparent;display:flex;align-items:center;padding:0 12px;font-weight:700}.nav a:hover,.nav button:hover{background:rgba(255,255,255,.1);color:#fff}.main{min-width:0}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 28px;background:rgba(246,247,244,.88);border-bottom:1px solid var(--line)}.topbar h1{margin:0;font-size:24px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.content{padding:26px 28px 40px;display:grid;grid-gap:22px;gap:22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 8px 22px rgba(31,38,48,.04)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2,.panel h3{margin:0}.grid-2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);grid-gap:18px;gap:18px}.grid-3{grid-template-columns:repeat(3,minmax(180px,1fr));grid-gap:14px}.grid-3,.grid-4{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,minmax(160px,1fr));grid-gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:108px;padding:16px;display:grid;align-content:space-between}.muted,.stat span{color:var(--muted);font-size:13px}.stat strong{display:block;font-size:28px}.btn{min-height:38px;border-radius:8px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:700}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.badge{border-radius:999px;padding:4px 10px;background:#eef1f4;color:#3f4952;font-size:12px;font-weight:700}.badge.green{background:var(--soft-green);color:var(--green)}.badge.gold{background:var(--soft-gold);color:#7d5621}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));grid-gap:14px;gap:14px}label{display:grid;grid-gap:7px;gap:7px;color:#3d4650;font-size:13px;font-weight:700}input,select,textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:#fff;color:var(--ink)}textarea{resize:vertical}table{width:100%;border-collapse:collapse;min-width:680px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}td,th{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}th{background:#f3f5f1;color:#4d5964;text-transform:uppercase;font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 14px 36px rgba(31,38,48,.1)}.login-card h1{margin:14px 0 6px}.login-card form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.error{color:var(--red);font-size:13px}.print-only{display:none}@media (max-width:900px){.grid-2,.grid-3,.grid-4,.shell{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:7mm}body{background:#fff}body.print-batch *,body.print-single *{visibility:hidden}body.print-batch .print-only,body.print-batch .print-only *,body.print-single .print-only,body.print-single .print-only *{visibility:visible}body.print-batch .print-only,body.print-single .print-only{display:block;position:absolute;inset:0;width:100%;padding:0;color:#111;font-family:Arial,Helvetica,sans-serif}.print-header{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #999;padding-bottom:4mm;margin-bottom:4mm}.print-header span,.print-header strong,.print-logo{display:block}.print-logo{max-width:42mm;max-height:14mm;object-fit:contain;margin-bottom:2mm}.print-header strong{font-size:14pt}.print-header span{font-size:9pt}.print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4mm;gap:4mm}body.print-single .print-grid{grid-template-columns:1fr}body.print-single .print-card{width:100%;min-height:0}body.print-single .print-body{grid-template-columns:34mm 1fr}body.print-single .print-body img,body.print-single .print-photo-empty{width:34mm;height:28mm}.print-card{page-break-inside:avoid;break-inside:avoid;border:1px solid #999;border-radius:2mm;padding:3mm;min-height:66mm}.print-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:3mm;border-bottom:1px solid #ccc;padding-bottom:1.5mm;margin-bottom:2mm}.print-card-head span,.print-card-head strong{display:block}.print-card-head strong{font-size:11pt}.print-card-head span{font-size:8pt}.print-body{display:grid;grid-template-columns:24mm 1fr;grid-gap:3mm;gap:3mm}.print-body img,.print-photo-empty{width:24mm;height:20mm;object-fit:contain;border:1px solid #bbb;border-radius:2mm}.print-photo-empty{display:grid;place-items:center;font-size:8pt;color:#666}.print-info{display:grid;grid-gap:1mm;gap:1mm}.print-info p,.print-obs{margin:0;font-size:7.8pt;line-height:1.25}.print-obs{border-top:1px solid #ddd;margin-top:2mm;padding-top:1.5mm;max-height:16mm;overflow:hidden}}