:root{--ink:#10181d;--muted:#68747b;--paper:#f4f2ec;--card:#fff;--line:#dfe2df;--yellow:#f5c451;--green:#1f6f5f;--red:#b94b3b;--blue:#326b82;--shadow:0 18px 50px rgba(16,24,29,.08)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.side{background:var(--ink);color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;font-weight:800;font-size:20px}.mark{width:32px;height:32px;border-radius:9px;background:var(--yellow);display:grid;place-items:center;color:var(--ink);font-weight:900}.brand small{display:block;color:#99a4aa;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.nav{margin-top:42px;display:grid;gap:7px}.nav a{color:#aab3b8;padding:11px 12px;border-radius:9px}.nav a.active,.nav a:hover{background:#202b31;color:#fff}.account{margin-top:auto;border-top:1px solid #2d373c;padding-top:17px;font-size:13px;color:#aab3b8}.account strong{color:#fff;display:block}.account form{margin-top:12px}.account button{border:0;background:transparent;color:#f0c8c0;padding:0}main{padding:34px 42px 60px;max-width:1500px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.eyebrow{color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}h1{font:500 38px/1.08 Georgia,serif;margin:5px 0 0}h2{font:500 25px/1.15 Georgia,serif;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;padding:10px 15px;border-radius:9px;font-weight:750}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.yellow{background:var(--yellow);border-color:var(--yellow)}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(4,1fr);margin-bottom:22px}.stat,.panel,.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.stat label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.stat strong{display:block;font:500 30px Georgia,serif;margin-top:7px}.stat small{color:var(--muted)}.bar{height:6px;border-radius:9px;background:#edf0ee;overflow:hidden;margin-top:12px}.bar i{height:100%;display:block;background:var(--green)}.objective{padding:0;overflow:hidden}.obj-head{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 22px 15px}.tag{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tag.risk{color:var(--red)}.objective h3{font-size:18px;margin:7px 0 3px}.meta{color:var(--muted);font-size:13px}.score{text-align:right}.score strong{font:500 28px Georgia,serif;display:block}.kr{display:grid;grid-template-columns:minmax(260px,1fr) 180px 62px;gap:18px;align-items:center;border-top:1px solid #edf0ee;padding:13px 22px}.kr small{display:block;color:var(--muted)}.kr .progress{height:7px;background:#ecefeb;border-radius:8px;overflow:hidden}.kr .progress i{display:block;height:100%;background:var(--green)}.kr .progress i.warn{background:var(--yellow)}.kr .progress i.risk{background:var(--red)}.actions{display:flex;gap:10px;flex-wrap:wrap}.list{display:grid;gap:12px;margin-top:18px}.row{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;justify-content:space-between;gap:15px;align-items:center}.row h3{font-size:16px;margin:0 0 4px}.badge{padding:5px 9px;border-radius:99px;background:#eef6f3;color:var(--green);font-size:12px;font-weight:800}.badge.risk{background:#f9ece9;color:var(--red)}form.stack{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd5d2;background:#fff;border-radius:9px;padding:11px 12px;color:var(--ink)}.field textarea{min-height:86px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card{max-width:720px}.notice{padding:12px 14px;border-radius:10px;background:#eef6f3;color:var(--green);margin-bottom:18px}.notice.error{background:#f9ece9;color:var(--red)}.empty{text-align:center;color:var(--muted);padding:42px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#10181d 0 48%,#f5c451 48% 50%,#f4f2ec 50%)}.login{width:min(440px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:var(--shadow)}.login .brand{color:var(--ink);margin-bottom:30px}.login h1{font-size:31px}.login>p{color:var(--muted);margin-bottom:24px}.helper{font-size:13px;color:var(--muted);background:#f7f7f4;border-radius:9px;padding:11px;margin-top:18px}.workspace-switch{border:1px solid #384349;background:#202b31;color:#fff;border-radius:8px;padding:8px;width:100%;margin-top:20px}.report-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.report-grid{grid-template-columns:1fr 1fr}.small{font-size:13px;color:var(--muted)}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{height:auto;position:static;padding:15px 18px;flex-direction:row;align-items:center;gap:15px}.nav{margin:0 0 0 auto;display:flex}.nav a{font-size:13px;padding:8px}.account{display:none}main{padding:24px 18px 50px}.stats{grid-template-columns:1fr 1fr}.kr{grid-template-columns:1fr 110px 48px}.report-grid{grid-template-columns:1fr}}
@media(max-width:560px){h1{font-size:31px}.top{align-items:flex-start}.stats{gap:8px}.stat{padding:14px}.form-grid{grid-template-columns:1fr}.nav a:nth-child(n+4){display:none}.kr{grid-template-columns:1fr 48px}.kr .progress{grid-row:2;grid-column:1}.kr strong{grid-column:2;grid-row:1/3}.obj-head{padding:17px}.row{align-items:flex-start;flex-direction:column}}
@media print{.side,.top .actions,.btn,.notice{display:none!important}.shell{display:block}main{padding:0;max-width:none}.card,.panel,.stat{box-shadow:none;break-inside:avoid}body{background:#fff}}
