body{background:#f4f6f9}body.guest{background:none}.guest main{max-width:none;padding:0!important;display:flex}
.nav-grad{background:linear-gradient(90deg,#0b3d91,#0d6efd)}.nav-grad .nav-link.active{font-weight:600}
.muted{color:#6c757d;font-size:.9em}
.card{border:0;border-radius:.75rem;box-shadow:0 1px 4px #0000001a;padding:1rem 1.25rem;margin-bottom:1rem}.card h3{font-size:1.1rem;margin:0 0 .6rem}
label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.75rem}label>input,label>select,label>textarea{margin-top:.25rem;font-weight:400}
.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:.5rem}.bar h3{margin:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 14px}.full{grid-column:1/-1}
.tw{overflow-x:auto}th{font-size:.78rem;text-transform:uppercase;color:#6c757d;white-space:nowrap}
.act{white-space:nowrap}.act form,.inl{display:inline-flex;gap:4px;align-items:center;margin:0}.inl input{width:80px}.inl select{width:auto}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.stat{background:#fff;border-radius:.75rem;padding:16px;text-decoration:none;color:#212529;box-shadow:0 1px 4px #0000001a;border-left:4px solid #0d6efd}.stat b{display:block;font-size:28px;color:#0d6efd}.stat:hover{background:#f8faff}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.cls{display:block;background:#fff;border-radius:.75rem;overflow:hidden;text-decoration:none;color:#212529;box-shadow:0 1px 4px #0000001a;transition:.15s}.cls:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000026}
.cls .hd{background:linear-gradient(135deg,hsl(var(--h) 70% 38%),hsl(calc(var(--h) + 40) 75% 52%));color:#fff;padding:22px 16px;font-weight:700;font-size:1.1em}.cls .bd{padding:12px 16px}
.banner{background:linear-gradient(135deg,hsl(var(--h) 70% 36%),hsl(calc(var(--h) + 40) 75% 52%));color:#fff;border-radius:.75rem;padding:20px 22px;margin-bottom:14px}.banner h2{margin:0;font-size:1.5rem}
details summary{cursor:pointer;font-weight:600;color:#0d6efd}details[open] summary{margin-bottom:10px}
.login{flex:1;display:grid;place-items:center;padding:16px;background:linear-gradient(135deg,#0b3d91,#0d6efd 60%,#4dabf7)}.login .card{width:100%;max-width:390px;text-align:center;padding:1.75rem}.login label{text-align:left}.logo{font-size:44px}
canvas.pad{touch-action:none;border:2px dashed #9ec5fe;border-radius:10px;width:100%;max-width:400px;height:150px;background:#fff}img.ttd{height:38px}
@media print{.noprint,button,form,details summary{display:none!important}main{max-width:none}body{background:#fff}.card{box-shadow:none}}
.app-foot{background:#fff;border-top:1px solid #dee2e6;padding:14px 0;text-align:center;color:#6c757d;font-size:.85rem}.guest .app-foot{background:#0b3d91;border:0;color:#cfe2ff}
