:root{font-family:Inter,system-ui,sans-serif;color:#172238;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#173b6c,#2f7d72)}.login-card{width:min(420px,92vw);background:white;padding:36px;border-radius:18px;box-shadow:0 20px 60px #0015}.login-card h1{margin:0}.login-card p{color:#667085}label{display:grid;gap:7px;margin:20px 0;font-weight:650}input,select,button{font:inherit;padding:12px;border:1px solid #ccd4df;border-radius:9px}button{background:#176b5b;color:white;border:0;font-weight:700;cursor:pointer}.secondary{background:white;color:#173b6c;border:1px solid #ccd4df}.error{color:#b42318}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:white;border-bottom:1px solid #dce3eb}header h1{margin:0;font-size:1.35rem}header p{margin:4px 0 0;color:#667085}.board{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;padding:18px;min-height:calc(100vh - 82px)}.column{flex:0 0 292px;background:#e8edf4;border:2px solid transparent;border-radius:14px;overflow:hidden}.column.pending{background:#fff0dc}.column.over{border-color:#177d69}.column-head{padding:14px;background:#fff}.column-head h2{font-size:1rem;margin:0 0 5px}.column-head span{font-size:.86rem;color:#667085}.dropzone{padding:10px;min-height:180px}.unit{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;padding:12px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #10182818;cursor:grab}.unit strong{font-size:.9rem}.unit span{white-space:nowrap;font-weight:750;color:#176b5b}.unit.dragging{opacity:.4}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#172238;color:white;padding:12px 20px;border-radius:8px;display:none}.toast.show{display:block}.admin{max-width:1050px;margin:24px auto;padding:0 18px;display:grid;gap:18px}.panel{background:white;padding:22px;border-radius:14px;border:1px solid #dce3eb}.panel h2{margin-top:0}.status-row,.credential{display:grid;grid-template-columns:2fr 3fr;gap:8px;padding:10px 0;border-bottom:1px solid #e7ebf0}.credential{grid-template-columns:2fr .7fr 1fr 2fr}.credential code{font-size:1rem;font-weight:bold}.hidden{display:none}@media(max-width:700px){.credential,.status-row{grid-template-columns:1fr}.board{padding:10px}.column{flex-basis:86vw}}@media print{header,.admin>.panel:not(#credentialsPanel),#credentialsPanel button{display:none}.hidden{display:block}}
