:root{--ink:#17221d;--muted:#68746e;--paper:#f5f4ee;--card:#fff;--green:#175f45;--lime:#d9ef9f;--line:#dfe4df}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#10271e;color:white;padding:28px 22px;overflow-y:auto}.brand{font-size:22px;font-weight:800;color:var(--lime);text-decoration:none}nav{display:grid;gap:8px;margin-top:45px}nav a{color:#dbe7e1;text-decoration:none;padding:10px 12px;border-radius:8px}nav a:hover{background:#214437}main{margin-left:230px;min-height:100vh;padding:0 4vw 50px}header{height:72px;display:flex;align-items:center;justify-content:flex-end;gap:18px;border-bottom:1px solid var(--line);margin-bottom:46px}header form{margin:0}button,.button{border:1px solid var(--line);background:white;padding:10px 16px;border-radius:8px;color:var(--ink);font-weight:700;text-decoration:none;cursor:pointer}.primary{background:var(--green);color:#fff;border-color:var(--green)}h1{font-size:clamp(32px,5vw,56px);line-height:1;margin:8px 0 12px;letter-spacing:-.045em}h2{font-size:20px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--green);font-weight:800}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:35px 0}.cards article,.panel,.detail-grid article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}.cards span,.detail-grid span{color:var(--muted);display:block}.cards strong,.detail-grid strong{display:block;font-size:28px;margin-top:14px}.panel{min-height:160px;background:linear-gradient(120deg,#fff,#edf5de);margin-top:22px}.panel.plain{background:#fff}.row{display:flex;justify-content:space-between;align-items:end}.search{display:flex;gap:8px;margin:30px 0 18px}.search input{max-width:360px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;color:var(--muted)}td a{color:var(--green);font-weight:800}.badge{background:#e5f1e9;color:#175f45;padding:5px 9px;border-radius:999px;text-transform:capitalize}.empty{text-align:center;color:var(--muted);padding:45px}.guest{margin:0;display:grid;place-items:center;padding:30px}.login{width:min(430px,100%);background:white;padding:42px;border:1px solid var(--line);border-radius:20px}.login h1{font-size:42px}.login form,.form-grid{display:grid;gap:18px;margin-top:28px}label{font-weight:700;display:grid;gap:7px}input,select,textarea{font:inherit;padding:11px 12px;border:1px solid #bdc7c1;border-radius:8px;width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.span-2{grid-column:1/-1}.input-pair{display:grid;grid-template-columns:2fr 1fr;gap:8px}.actions{display:flex;gap:10px}.alert{background:#fff0ed;color:#9b2f23;padding:12px;border-radius:8px;margin:18px 0}.success{background:#e5f4e8;color:#155b34;border:1px solid #b9ddc2;padding:12px 16px;border-radius:9px;margin-bottom:20px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0}.facts div{border-bottom:1px solid var(--line);padding-bottom:12px}.facts dt{color:var(--muted);font-size:12px;text-transform:uppercase}.facts dd{margin:5px 0 0;font-weight:700}.top-gap{margin-top:18px}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:180px;flex:1}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;justify-content:start}.check input{width:auto}@media(max-width:850px){aside{position:static;width:auto;height:auto;padding:16px 20px}nav{display:flex;margin:12px 0 0;overflow:auto}main{margin:0;padding:0 20px 40px}.cards,.detail-grid{grid-template-columns:repeat(2,1fr)}header{height:58px;margin-bottom:30px}}@media(max-width:520px){.cards,.form-grid,.detail-grid,.facts{grid-template-columns:1fr}.row{align-items:start;gap:20px}.login{padding:26px}.span-2{grid-column:auto}}
