*{box-sizing:border-box}body{color:#152238;background:#f4f7fb;margin:0;font-family:Arial,PingFang HK,sans-serif}main{min-height:100vh;padding:30px clamp(16px,5vw,70px)}.login{place-items:center;min-height:80vh;display:grid}.login form{background:#fff;border-radius:24px;width:min(420px,100%);padding:32px;box-shadow:0 18px 55px #192b4d18}.login p,header p{color:#64748b;margin:0 0 8px;font-weight:800}.login h1,header h1{margin:0 0 24px}.login label,.login input{width:100%;display:block}.login input{border:1px solid #dfe6f0;border-radius:12px;margin:8px 0 14px;padding:14px}.login button,nav button,.upload,header a,header button{cursor:pointer;border:0;border-radius:12px;padding:12px 16px;font-weight:800}.login button{color:#fff;background:#1f5eff;width:100%}.login a{text-align:center;color:#52627a;margin-top:18px;display:block}.login span{color:#b42318;margin-top:10px;display:block}#dashboard{max-width:1180px;margin:auto}header{justify-content:space-between;align-items:end;display:flex}header div:last-child{gap:8px;display:flex}header a{color:#fff;background:#17243a;text-decoration:none}header button{background:#fff}nav{flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0;display:flex}.upload{color:#fff;background:#1f5eff}.upload input{display:none}nav button,nav select{background:#fff;border:1px solid #dfe6f0;border-radius:12px;padding:12px 15px;font-weight:700}.summary{background:#fff;border-radius:18px;margin-bottom:16px;padding:18px}.summary b{margin-right:8px;font-size:34px}.cards{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.cards article{break-inside:avoid;background:#fff;border:1px solid #dfe6f0;border-radius:18px;grid-template-columns:170px 1fr;align-items:center;gap:18px;padding:16px;display:grid}.cards canvas{width:170px!important;height:170px!important}.cards h2{margin:7px 0}.cards p{color:#667792}.cards section>b{font-size:30px}.ok,.error{border-radius:10px;margin-bottom:12px;padding:12px}.ok{color:#187548;background:#e9f8ef}.error{color:#aa3030;background:#fff0f0}.ok:empty,.error:empty{display:none}@media (width<=700px){main{padding:18px 12px}header{align-items:start}.cards{grid-template-columns:1fr}.cards article{grid-template-columns:130px 1fr}.cards canvas{width:130px!important;height:130px!important}}@media print{body{background:#fff}header,nav,.summary,#message{display:none!important}main{padding:0}.cards{grid-template-columns:repeat(2,1fr);gap:8px}.cards article{border-radius:8px;padding:8px}.cards canvas{width:145px!important;height:145px!important}}
