:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#27354a;background:#f4f6fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}input[type=checkbox]{accent-color:#5d4fc4}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}h2{font-size:23px;line-height:1.3;margin:3px 0 5px;font-weight:750}h3{font-size:16px;margin:0 0 4px;font-weight:750}p{color:#758199;font-size:13px;line-height:1.5;margin-bottom:0}.app-shell{max-width:1440px;min-height:100vh;margin:auto;background:#f4f6fa;box-shadow:0 0 70px #25325b0d}.topbar{background:#262642;color:#fff;padding:18px 26px;display:flex;justify-content:space-between;align-items:center}.identity{display:flex;align-items:center;gap:12px}.symbol{background:#504781;width:43px;height:43px;display:grid;place-items:center;border-radius:12px;flex-shrink:0;color:#fff}.identity h1{font-size:21px;font-weight:760;margin:0;letter-spacing:-.02em}.subidentity{font-size:11px;color:#c2c4de;margin-top:1px}.top-actions{display:flex;align-items:center;gap:10px}.env-indicator{font-size:10px;letter-spacing:.08em;font-weight:740;padding:6px 11px;border:1px solid #8483a5;border-radius:30px;color:#dfddf9}.env-indicator.live{background:#276b57;border-color:#47917a;color:#fff}.top-icon{background:none;color:#eceafc;border:0;padding:6px}.tabs{display:flex;align-items:center;gap:5px;padding:11px 24px;border-bottom:1px solid #e3e7ef;background:#fff;overflow-x:auto}.tabs button{display:inline-flex;gap:7px;align-items:center;justify-content:center;flex-shrink:0;border:0;background:transparent;color:#64718a;font-size:13px;font-weight:650;border-radius:9px;padding:11px 14px;white-space:nowrap}.tabs button:hover{background:#f4f3fd;color:#5a4db8}.tabs button.active{background:#eeeafb;color:#5447b7}.tabs button.refresh-tab{margin-left:auto}.main-layout{padding:21px 23px 15px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:19px}.page-head p{margin:0}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:770;color:#7b6ec6}.head-controls label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#78839a;font-weight:720}select,input{max-width:100%;border:1px solid #dae1eb;background:#fff;border-radius:8px;padding:10px 11px;color:#35425a}select:focus,input:focus{outline:2px solid #b8b3ee;outline-offset:1px}.head-controls select{min-width:235px;max-width:320px}.dashboard{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(335px,1fr);gap:15px;align-items:start}.left-column,.right-column{min-width:0;display:flex;flex-direction:column;gap:15px}.panel{background:#fff;border:1px solid #e2e6ef;border-radius:13px;padding:17px;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-header p{font-size:11px}.small-tag{background:#f2f4f8;border-radius:7px;font-size:11px;font-weight:680;padding:6px 9px;white-space:nowrap;color:#68778d}.weeknav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 12px}.weeknav>div{text-align:center;display:flex;flex-direction:column;gap:2px}.weeknav b{font-size:14px}.weeknav span{color:#8895a6;font-size:11px}.square-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #dce3ed;background:#fff;border-radius:8px;color:#536078}.square-button:hover:not(:disabled){background:#f3f2fe;border-color:#b9b3e2}.calendar-grid{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));gap:4px;touch-action:pan-y;user-select:none;-webkit-user-select:none}.grid-corner{height:38px}.grid-day{height:38px;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#667289;font-size:11px}.grid-day strong{color:#38475e;font-size:14px}.grid-day.weekend span{color:#665ac0}.calendar-row{display:contents}.grid-hour{display:flex;align-items:center;height:39px;color:#76849a;font-size:11px;font-variant-numeric:tabular-nums}.hour-cell{height:39px;min-width:0;border:1px solid transparent;border-radius:6px;font-weight:760;font-size:13px;touch-action:none;transition:filter .12s ease}.hour-cell:hover{filter:brightness(.95)}.hour-cell.ready,.archive-cell.ready{background:#b9ead0;color:#16643f;border-color:#85d3ab}.hour-cell.maybe,.archive-cell.maybe{background:#f9e2ad;color:#986413;border-color:#efcf85}.hour-cell.unfilled,.archive-cell.unfilled{background:#e5ebf2;color:#77889d;border-color:#d8e1eb}.hour-cell.blocked{background:#f5dadd;color:#b24d58;border-color:#efc5c9}.hour-cell.yes{background:#61c795;color:#fff}.hour-cell.no{background:#dd878f;color:#fff}.hour-cell.editable.unfilled{background:#f2f4f8;border:1px dashed #bdcad7}.hour-cell.selected{outline:2px solid #41339a;outline-offset:1px;z-index:1}.legend{display:flex;gap:13px;flex-wrap:wrap;margin-top:14px;color:#758198;font-size:11px}.swatch{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.swatch.ready{background:#7fd1a4}.swatch.maybe{background:#e8c36c}.swatch.unfilled{background:#c6d1de}.swatch.blocked{background:#e4a0a6}.muted-note{color:#8b95a5;font-size:11px;margin-top:9px}.editor{margin-top:12px}.brush-controls{display:flex;flex-wrap:wrap;gap:7px}.brush{border:1px solid #dde3ed;background:#fff;color:#58677e;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:680}.brush.active{border-color:#7264cc;background:#f0edff;color:#5143b4;box-shadow:0 0 0 1px #7264cc inset}.clarify{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;margin-top:12px}.clarify input{padding:7px}.capitalize{text-transform:capitalize}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.person-line{display:flex;gap:8px;align-items:flex-start;min-width:0;border-bottom:1px solid #f1f3f7;padding:8px 1px;font-size:12px}.person-line>div{min-width:0}.person-line small{display:block;font-size:10px;color:#af7a1d;margin-top:2px}.state-symbol{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;flex-shrink:0}.state-symbol.yes{color:#20915c}.state-symbol.no{color:#c34d58}.state-symbol.maybe{color:#b78417}.state-symbol.unfilled{color:#94a3b3}.adventures-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 14px;color:#7b8799;font-size:11px}.text-button{border:none;background:none;color:#6155ba;font-size:12px;font-weight:720;padding:5px 0}.adventure-list{display:flex;flex-direction:column;gap:8px}.adventure-item{border:1px solid #e2e7ef;border-radius:10px;overflow:hidden}.adventure-item.expanded{border-color:#ced3eb}.adventure-toggle{display:flex;align-items:center;gap:9px;width:100%;border:0;background:#fff;text-align:left;padding:12px 11px;color:#3a4860}.adventure-toggle:hover{background:#fafbfe}.adv-title{font-size:12px;font-weight:770;flex:1;min-width:0}.status{font-size:10px;font-weight:760;white-space:nowrap;padding:4px 8px;border-radius:6px}.status.ready,.status.played{background:#e0f5e9;color:#147c50}.status.maybe,.status.planned{background:#fff0c6;color:#a07118}.status.unfilled{background:#edf1f5;color:#768598}.status.blocked,.status.cancelled{background:#fce6e8;color:#b84a56}.adventure-detail{border-top:1px solid #e8ecf3;background:#fafbfe;padding:12px;color:#59677c;font-size:12px}.detail-section{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}.detail-section b{font-size:11px;color:#34435c}.detail-section span{line-height:1.4}.detail-section.amber{border-left:3px solid #d8ae4e;padding-left:9px}.detail-error{color:#bd5660;font-size:12px;margin-top:6px}.success-line{display:flex;align-items:center;gap:5px;color:#24925d;font-size:11px;margin-bottom:9px}.panel-foot{margin-top:14px;font-size:11px;color:#9aa3b0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 13px;border-radius:8px;border:1px solid #dce2eb;background:#fff;color:#46566d;font-weight:690;font-size:12px}.button:hover{background:#f7f7ff}.button.primary{background:#5b4cc2;border-color:#5b4cc2;color:#fff}.button.primary:hover{background:#4d40ac}.button.small{padding:7px 9px;font-size:11px}.hint-panel .howto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.howto>div{background:#f8f9fc;border-radius:9px;padding:11px}.howto b{font-size:12px}.howto p{font-size:11px;margin-top:4px}.howto .state-symbol{margin-right:4px}.demo-message,.toast{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:9px;font-size:12px;margin-bottom:15px}.demo-message{background:#f2efff;color:#6b60ae}.demo-message span{flex:1}.demo-message button{border:0;background:transparent;font-size:11px;font-weight:800;color:#5548ae}.toast.success{background:#e4f7ea;color:#19734e}.toast.error{background:#fff0f1;color:#a53947}.toast button{margin-left:auto;border:0;background:transparent;color:inherit}.admin-chip{display:flex;gap:6px;align-items:center;padding:9px 12px;border-radius:8px;background:#e4f5ec;color:#178256;font-size:12px;font-weight:710}.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.admin-tabs button{display:flex;gap:7px;align-items:center;border:1px solid #dfe4ed;border-radius:8px;background:#fff;color:#62718a;padding:9px 13px;font-size:12px;font-weight:700}.admin-tabs button.active{border-color:#c9c3f5;background:#eeeafb;color:#5949b9}.admin-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:15px;align-items:start}.admin-list{display:flex;flex-direction:column}.admin-row{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 6px;border:0;border-bottom:1px solid #edf0f5;background:#fff;color:#57657c;width:100%}.admin-row.active{background:#f5f3ff;color:#5346af}.admin-row>span{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.admin-row b{font-size:12px}.admin-row small{font-size:10px;color:#8792a4}.avatar-mini{height:31px;width:31px;display:grid;place-items:center;border-radius:10px;background:#edf0f6;color:#506181;font-weight:750}.admin-form{display:flex;flex-direction:column;gap:14px}.admin-form>label,.role-add>label,.modal>label{font-size:12px;font-weight:720;color:#54637a;display:flex;flex-direction:column;gap:6px}.admin-form input:not([type=checkbox]),.admin-form select{width:100%}.admin-form fieldset{border:1px solid #e5e9f1;border-radius:10px;margin:0;padding:11px}.admin-form legend{font-size:12px;font-weight:760;color:#3e4d64;padding:0 5px}.admin-form legend small{display:block;font-size:10px;color:#929db0;font-weight:450}.person-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.check-line{display:flex;gap:7px;align-items:flex-start;font-size:11px;color:#53627a;cursor:pointer}.check-line input{margin:2px 0 0;flex-shrink:0}.numeric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.numeric-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#5e6c81}.inline-error{color:#b4464c;font-size:12px}.link-tool{margin-top:17px;padding:13px;background:#f7f7fd;border-radius:10px;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.link-tool b{font-size:12px}.link-tool p{font-size:11px}.narrow-panel{max-width:700px}.role-line{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid #eaedf3;color:#63738b;font-size:12px}.role-line b{color:#39475d;flex:1}.role-add{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.role-add input{flex:1;min-width:170px}.settings-summary{padding:12px;background:#f5f6fa;border-radius:8px;font-size:12px;color:#64738b;line-height:1.9}.archive-layout{display:flex;flex-direction:column;gap:15px}.archive-layout .page-head{margin-bottom:0}.session-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0f5;flex-wrap:wrap}.session-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#f0edfc;color:#6656bd}.session-desc{display:flex;flex-direction:column;gap:4px;min-width:170px;flex:1}.session-desc b{font-size:12px}.session-desc span,.session-desc small{color:#7e8b9e;font-size:11px}.session-select{padding:6px;font-size:11px}.archive-nav{max-width:420px}.archive-table{border-collapse:separate;border-spacing:3px;width:100%;text-align:center;font-size:12px}.archive-table th{font-size:10px;color:#71829a;white-space:nowrap}.archive-table th:first-child{width:50px}.archive-table td{padding:0}.archive-cell{display:block;padding:10px 2px;border-radius:6px;font-weight:750}.archive-scroll{overflow-x:auto}.empty-state{padding:30px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;color:#9aa5b5;font-size:12px;text-align:center}.empty-state b{color:#3a4962}.welcome-card{max-width:500px;margin:38px auto;text-align:center;background:#fff;border:1px solid #e3e8ef;border-radius:13px;padding:35px 24px;display:flex;align-items:center;flex-direction:column;gap:13px}.welcome-card h2{margin:0}.welcome-card p{margin-bottom:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e243c87;z-index:100;display:grid;place-items:center;padding:17px}.modal{background:#fff;width:min(440px,100%);border-radius:14px;padding:21px;box-shadow:0 12px 44px #141c332b;display:flex;flex-direction:column;gap:14px}.modal>input,.modal>label>input{width:100%}.modal-title{display:flex;align-items:center;gap:11px}.modal-title>div:nth-child(2){flex:1}.modal-title h3{margin:0;font-size:15px}.modal-title p{font-size:11px}.modal-title .symbol{width:35px;height:35px}.modal-title .bare{border:0;background:transparent;color:#778298}.modal-buttons{display:flex;gap:8px;flex-wrap:wrap}footer{margin-top:25px;color:#9ca5b6;font-size:10px;text-align:center;padding-bottom:14px}@media(max-width:900px){.dashboard{grid-template-columns:minmax(0,1fr)}.admin-grid{grid-template-columns:1fr}.topbar{padding:15px}.tabs{padding:10px 12px}.main-layout{padding:16px}.page-head{align-items:flex-start;flex-direction:column}.head-controls select{min-width:200px}.right-column{grid-row:2}}@media(max-width:600px){.topbar{padding:13px}.identity h1{font-size:17px}.symbol{width:36px;height:36px}.tabs{gap:2px}.tabs button{padding:9px 10px;font-size:11px}.tabs button svg{width:14px}.tabs button.refresh-tab{margin-left:0}.main-layout{padding:10px}.page-head{margin-bottom:13px}.page-head h2{font-size:20px}.panel{padding:12px}.calendar-grid{grid-template-columns:39px repeat(7,minmax(0,1fr));gap:3px}.grid-hour{height:39px;font-size:10px}.hour-cell{height:39px;font-size:12px}.grid-day{font-size:10px}.grid-day strong{font-size:12px}.people-grid{gap:0 8px}.person-line{font-size:11px}.legend{gap:10px;font-size:10px}.panel-header{align-items:flex-start}.panel-header h3{font-size:14px}.person-checks,.numeric-grid,.hint-panel .howto{grid-template-columns:1fr}.env-indicator{font-size:9px}.admin-chip{font-size:11px}}
