:root{--bg:#edf5ea;--panel:#fff;--ink:#152016;--muted:#607063;--line:#dce7dc;--green:#176b3a;--green2:#2f9155;--red:#b42318;--amber:#c77800;--blue:#2458c6;--shadow:0 12px 32px rgba(23,71,39,.10)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:linear-gradient(145deg,#e9f4e5,#f7faf6);color:var(--ink);font:16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.container{width:min(1180px,100%);margin:auto;padding:18px}.brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}.brand img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow)}h1,h2,h3{line-height:1.2}h1{margin:0;font-size:clamp(1.5rem,4vw,2.15rem)}h2{margin-top:0}.subtitle{color:var(--muted)}.nav,.actions,.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav{position:sticky;top:0;z-index:10;background:rgba(237,245,234,.94);backdrop-filter:blur(8px);padding:9px 0;margin-bottom:14px}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:10px 13px;font-weight:650;cursor:pointer;text-decoration:none}.btn:hover,button:hover{border-color:var(--green2)}.primary{background:var(--green);color:#fff;border-color:var(--green)}.danger{background:var(--red);color:#fff;border-color:var(--red)}.warning{background:var(--amber);color:#fff;border-color:var(--amber)}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metric{font-size:2rem;font-weight:800;color:var(--green)}label{display:block;color:var(--muted);font-size:.92rem;margin:6px 0 4px}input,textarea,select{width:100%;padding:11px;border:1px solid #cbd9cb;border-radius:10px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:84px;resize:vertical}input[type=checkbox]{width:22px;height:22px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hidden{display:none!important}.flash{position:fixed;right:18px;bottom:18px;z-index:50;max-width:420px;padding:12px 16px;border-radius:12px;background:#163e25;color:white;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:.85rem}.table-wrap{overflow:auto}.player-list{display:grid;gap:8px}.player-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px}.avatar{width:42px;height:42px;border-radius:10px;object-fit:cover;background:#edf0ed}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:#e7f3ea;font-size:.8rem}.status.cancelled{background:#fde9e7;color:var(--red)}.status.draft{background:#fff3d9;color:#805300}.status.confirmed{background:#dff6e7;color:#126934}.status.unavailable{background:#fde9e7;color:var(--red)}.callup-hero{background:linear-gradient(135deg,#124b2a,#23864a);color:#fff;border-radius:18px;padding:22px}.callup-hero .subtitle{color:#dff2e5}.notice{padding:12px;border-radius:10px;background:#fff8e7;border:1px solid #f0d89d}.sticky-save{position:sticky;bottom:10px;background:rgba(255,255,255,.95);padding:10px;border:1px solid var(--line);border-radius:13px}.login{max-width:480px;margin:7vh auto}.footer{text-align:center;color:var(--muted);padding:20px}.offline{background:#ffe4e0;color:#7d1b12;padding:8px;text-align:center}.counter{font-weight:800;color:var(--green)}
@media(max-width:700px){.container{padding:12px}.field-row{grid-template-columns:1fr}.nav{overflow-x:auto;flex-wrap:nowrap}.nav .btn,.nav button{white-space:nowrap}.card{padding:14px}th,td{padding:8px}.desktop-only{display:none}.player-row{grid-template-columns:30px minmax(0,1fr)}.player-row>:nth-child(n+3),.player-row .right{grid-column:2;justify-self:start}.player-row button,.player-row .btn{max-width:100%}.callup-hero{min-height:calc(100vh - 150px)}}
