:root{color-scheme:light;--ink: #101013;--muted: #6c6870;--paper: #f5f3f0;--surface: #ffffff;--line: #ddd8d3;--accent: #c41422;--accent-dark: #970d18;--ok: #177245;--warn: #c46a14;--blue: #155f9f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;min-height:100%}button,input,select,textarea{font:inherit}button,.button{align-items:center;background:var(--ink);border:1px solid var(--ink);color:#fff;cursor:pointer;display:inline-flex;font-weight:850;gap:8px;min-height:40px;justify-content:center;padding:0 14px;text-decoration:none}button:hover,.button:hover{background:var(--accent);border-color:var(--accent)}button.secondary,.button.secondary{background:transparent;color:var(--ink)}button.danger{background:var(--accent);border-color:var(--accent)}input,select,textarea{background:#fff;border:1px solid var(--line);color:var(--ink);min-height:40px;padding:9px 10px;width:100%}label{color:var(--muted);display:grid;font-size:.78rem;font-weight:800;gap:6px;text-transform:uppercase}.yk-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100svh}.yk-auth-shell{grid-template-columns:1fr}.yk-sidebar{background:var(--ink);color:#fff;display:grid;grid-template-rows:auto 1fr auto;min-height:100svh;padding:22px;position:sticky;top:0}.yk-brand{align-items:center;color:#fff;display:flex;font-size:1.35rem;font-weight:950;gap:12px;text-decoration:none}.yk-brand img{height:42px;object-fit:contain;width:56px}.yk-nav{align-content:start;display:grid;gap:8px;margin-top:34px}.yk-nav a,.yk-user button{border:1px solid rgba(255,255,255,.18);color:#ffffffe0;font-size:.84rem;font-weight:850;min-height:42px;padding:12px;text-decoration:none;text-transform:uppercase}.yk-nav a:hover{background:#ffffff1f}.yk-user{display:grid;gap:8px}.yk-user strong,.yk-user span{overflow-wrap:anywhere}.yk-user span{color:#ffffff9e;font-size:.84rem}.yk-user button{background:transparent;width:100%}.yk-main,.yk-auth-main{min-width:0;padding:clamp(20px,4vw,44px)}.yk-auth-main{align-items:center;display:grid;justify-items:center;min-height:100svh}.auth-panel{display:grid;gap:22px;margin:0 auto;max-width:min(560px,calc(100vw - 32px));width:100%}.auth-panel .panel{gap:18px;padding:clamp(22px,5vw,34px)}.page-head{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}h1{font-size:clamp(1.7rem,3vw,2.65rem);letter-spacing:0;line-height:1;margin:0}h2{font-size:1rem;margin:0}p{color:var(--muted);line-height:1.5;margin:0}.toolbar,.form-row,.filters{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.toolbar{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:18px}.split{display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(320px,.38fr)}.panel{background:var(--surface);border:1px solid var(--line);display:grid;gap:16px;padding:18px}.table-wrap{background:var(--surface);border:1px solid var(--line);overflow:auto;max-width:100%}table{border-collapse:collapse;min-width:100%;width:max-content}th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px;text-align:left;vertical-align:middle}th{background:#f0ede9;font-size:.74rem;font-weight:900;line-height:1.2;position:sticky;text-transform:uppercase;top:0;z-index:2}.sticky-col{background:#fff;left:0;min-width:210px;position:sticky;z-index:3}th.sticky-col{background:#f0ede9;z-index:4}.date-head{display:grid;gap:4px;min-width:132px}.date-head strong{color:var(--accent)}.date-head span,.member-sub,.log-meta{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:none}.attendance-select{border:0;min-width:132px;width:132px}.total-cell{font-size:1.05rem;font-weight:950;text-align:right}.summary-bar{align-items:center;background:var(--ink);color:#fff;display:flex;gap:18px;justify-content:space-between;padding:14px 16px}.summary-bar strong{font-size:1.4rem}.inline-add{background:#fff;border:1px solid var(--line);border-top:0;display:grid;gap:10px;padding:14px}.state-list,.user-list,.member-list,.log-list{display:grid;gap:10px}.state-row,.user-row,.member-row,.season-row,.log-row{align-items:center;background:#fff;border:1px solid var(--line);display:grid;gap:10px;grid-template-columns:minmax(150px,1fr) 90px 84px auto;padding:12px}.user-row{grid-template-columns:minmax(180px,1fr) 190px 92px auto}.member-row{grid-template-columns:minmax(130px,.8fr) minmax(130px,.8fr) minmax(180px,1fr) auto}.season-row{grid-template-columns:minmax(180px,1fr) 150px 150px 120px auto}.log-row{grid-template-columns:180px 160px minmax(170px,1fr) 180px}.sheet-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.sheet-tile{align-content:start;background:#fff;border:1px solid var(--line);color:var(--ink);display:grid;gap:8px;min-height:178px;padding:18px;text-decoration:none}.sheet-tile:hover{border-color:var(--accent)}.sheet-tile strong{font-size:1.15rem;line-height:1.1}.sheet-tile span,.sheet-tile em,.sheet-tile small{color:var(--muted);font-size:.84rem;font-style:normal}.sheet-icon{align-items:center;background:var(--ink);color:#fff!important;display:inline-flex;font-size:1.5rem!important;font-weight:950;height:44px;justify-content:center;width:44px}.sheet-add{cursor:pointer;text-align:left}.modal{border:0;max-width:min(560px,calc(100vw - 32px));padding:0;width:100%}.modal::backdrop{background:#1010136b}.weekday-picker{border:1px solid var(--line);display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:14px}.weekday-picker legend{color:var(--muted);font-size:.78rem;font-weight:900;padding:0 6px;text-transform:uppercase}.weekday-picker label{align-items:center;display:flex;flex-direction:row;font-size:.9rem;gap:8px;text-transform:none}.weekday-picker input{min-height:0;width:auto}.pill{background:#eee9e4;color:var(--ink);display:inline-flex;font-size:.74rem;font-weight:900;min-height:28px;padding:7px 9px;text-transform:uppercase}.error{background:#fff0f1;border-left:4px solid var(--accent);color:var(--accent-dark);padding:12px}@media(max-width:860px){.yk-shell{grid-template-columns:1fr}.yk-sidebar{min-height:auto;position:static}.yk-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.page-head{align-items:start;display:grid}.state-row,.user-row,.member-row,.season-row,.log-row{grid-template-columns:1fr}}
