:root{--primary:#002733;--accent:#008c82;--neon:#c2fe06;--bg:#f5f7f8;--text:#002733;--muted:#6b7b7f;--border:#dde3e5;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',Arial,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button,a,input,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #77b6d7;outline-offset:3px}.header{background:var(--primary);color:white;position:sticky;top:0;z-index:10;border-bottom:3px solid var(--accent)}.header-inner{height:58px;max-width:820px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:12px}.brand{font-size:19px;font-weight:650;letter-spacing:.3px;white-space:nowrap}.brand span{font-size:9px;letter-spacing:1.5px;font-weight:400;opacity:.55;padding-left:12px;margin-left:12px;border-left:1px solid #ffffff38}.identity{border:1px solid #ffffff30;background:#ffffff09;color:#fff;font-size:12px;border-radius:4px;padding:7px 10px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:34px}.page{max-width:820px;margin:auto;padding:25px 24px 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:8px}h1{font-size:23px;letter-spacing:.2px;line-height:1.4;margin:0 0 6px;font-weight:650}.intro p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}.phase{font-size:10px;padding:3px 7px;color:var(--accent);background:#008c820c;border:1px solid #008c8230;border-radius:3px;white-space:nowrap}.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:sticky;top:61px;z-index:8;background:var(--bg);padding:0 0 13px}.time-tab{text-align:left;border:1px solid var(--border);border-radius:5px;background:#fff;padding:11px 13px;color:var(--muted);display:flex;flex-direction:column;gap:5px;position:relative;min-width:0}.time-tab strong{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.time-tab small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:16px}.time-tab.active{background:var(--primary);border-color:var(--primary);color:white;box-shadow:inset 0 -3px var(--accent)}.time-tab.active small{color:#b7cecd}.time-tab .done{color:var(--accent)}.time-tab.active .done{color:var(--neon)}.list-heading{display:flex;align-items:center;justify-content:space-between;margin:4px 0 11px}.list-heading h2,.schedule h2{font-size:14px;font-weight:650;margin:0}.list-heading>span{font-size:11px;color:var(--muted)}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity{border:1px solid var(--border);border-left:3px solid var(--accent);background:#fff;border-radius:5px;padding:13px 14px;text-align:left;min-height:97px;color:var(--primary);display:flex;flex-direction:column;justify-content:space-between;gap:11px;transition:background .15s,border-color .15s}.activity.indoor{border-left-color:#8cbee6}.activity:hover:not(:disabled){border-color:var(--accent);background:#f8fcfb}.activity.selected{border-color:var(--accent);background:#edf8f5}.activity:disabled:not(.selected){background:#f4f6f6;color:#9ba8aa;border-left-color:#b7c2c4}.activity-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.activity strong{font-size:17px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.kind{color:#809195;font-size:10px;white-space:nowrap;background:#f1f5f6;padding:2px 5px;border-radius:3px;flex-shrink:0}.selected .kind{background:#d8eee8;color:var(--accent)}.activity-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:6px}.seats{color:var(--muted);font-size:11px;white-space:nowrap}.seats b{font-weight:600;color:var(--accent);font-size:14px}.full .seats b{color:#9ba8aa}.action{font-size:11px;color:var(--accent);display:inline-flex;gap:6px;align-items:center;white-space:nowrap;font-weight:600}.selected .action{color:var(--accent)}.activity:disabled .action{color:#9ca9ac}.activity.selected .action{color:var(--accent)}.arrow{font-size:15px;line-height:1}.schedule{margin-top:23px;border:1px solid var(--border);border-radius:5px;background:white;overflow:hidden}.schedule-heading{padding:12px 14px;background:#fafbfc;border-bottom:1px solid #e8edef;display:flex;align-items:center;justify-content:space-between}.text-button{border:0;background:none;color:var(--accent);font-size:11px;padding:0 3px;min-height:25px}.schedule-row{padding:12px 14px;display:grid;grid-template-columns:115px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #edf0f1;font-size:12px}.schedule-row:last-child{border-bottom:0}.schedule-row time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-row strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}.schedule-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.unselected{font-size:12px!important;color:#a0adb0;font-weight:400!important}.seat-confirmed{font-size:10px;color:var(--accent)}footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#96a3a6;padding:18px 1px 25px}footer a{padding:4px 0 4px 12px}dialog{border:1px solid var(--border);border-radius:8px;padding:25px;width:min(355px,calc(100% - 36px));background:#fff;color:var(--text);box-shadow:0 14px 70px #00273325}dialog::backdrop{background:#00273370;backdrop-filter:blur(2px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{font-size:20px;font-weight:600;margin:0}.close{border:0;background:none;font-size:25px;line-height:1;color:#87979b;padding:0 3px}dialog p{font-size:12px;color:var(--muted);line-height:1.8;margin:11px 0 21px}label{display:block;font-size:12px;margin-bottom:7px;color:#526c75}input,textarea{border:1px solid #ced9dc;background:#fff;color:var(--text);padding:11px 12px;border-radius:4px;width:100%;outline:0}input{min-height:43px}input:focus,textarea:focus{border-color:var(--accent)}input::placeholder{color:#a1afb3}dialog input{font-size:16px;letter-spacing:1px}dialog small{display:block;color:#9ca9ad;font-size:11px;margin:8px 0 0}.form-error{font-size:12px;color:#ae5c4c;line-height:1.7;margin:10px 0}.primary{width:100%;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:4px;min-height:43px;padding:10px 15px;font-size:13px;font-weight:550}.primary:disabled{background:#a7c7c3;border-color:#a7c7c3}.secondary{border:1px solid #d1dcdf;background:white;color:#526e79;border-radius:4px;padding:9px 14px;font-size:12px;min-height:38px}.inline-error{font-size:12px;color:#ad5c47;background:#fff2ed;border:1px solid #f0dbd0;padding:11px;margin-top:13px;border-radius:4px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#002733ed;color:#fff;padding:12px 17px;border-radius:5px;font-size:12px;z-index:30;white-space:nowrap;box-shadow:0 5px 20px #00273322;max-width:calc(100% - 30px)}[hidden]{display:none!important}.loading-cell{min-height:97px;border:1px solid #e7ecee;border-radius:5px;background:#fff}.admin-page{max-width:1000px}.admin-login{max-width:355px;margin:60px auto}.admin-login h1{font-size:23px;margin-bottom:25px}.admin-login form{padding:24px;background:white;border:1px solid var(--border);border-radius:5px}.admin-login .primary{margin-top:14px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.admin-head h1{margin:0}.admin-head .secondary{min-height:35px;padding:7px 10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{background:#fff;border:1px solid var(--border);border-radius:5px;padding:16px}.stat small{font-size:11px;color:var(--muted)}.stat strong{font-size:25px;display:block;margin-top:6px;font-weight:500}.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:5px;padding:20px;margin-bottom:20px}.panel h2{font-size:15px;margin:0 0 18px;font-weight:600}.panel p{font-size:12px;color:var(--muted);line-height:1.8}.panel input{font-size:12px}.panel label{margin-top:13px}.panel .primary{margin-top:18px}.panel input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--accent);vertical-align:middle}.check-label{display:flex;align-items:center;gap:9px;padding:8px 0}.activity-edit{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.activity-edit input{padding:8px;min-height:35px}.activity-edit:first-of-type{margin-top:18px}.activity-edit small{font-size:10px;color:#819399;grid-column:1/-1}.panel textarea{font-size:12px;min-height:140px;resize:vertical;line-height:1.8}.import-status{font-size:11px;color:var(--accent);margin-top:8px}.table-wrap{overflow:auto;max-height:550px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;text-align:left}th{font-size:11px;font-weight:500;color:var(--muted);background:#f6f8f9;position:sticky;top:0}th,td{padding:12px 10px;border-bottom:1px solid var(--border)}td button{border:0;background:none;color:#8e9c9f;font-size:10px;margin-left:8px}td button:hover{color:#a65c48}.admin-footer{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);padding-bottom:30px}.notice{font-size:11px;color:#7d9098;background:#f3f7f8;padding:11px;border-radius:4px;line-height:1.8}.import-confirm{margin-top:12px;background:#fff8e9;color:#9b783e;font-size:11px;padding:12px;border:1px solid #f0e1bf;border-radius:4px}.import-confirm .secondary{margin:9px 8px 0 0}.import-confirm button{min-height:34px;font-size:11px}
@media(max-width:600px){.header-inner{height:47px;padding:0 16px}.brand{font-size:17px}.brand span{font-size:8px;letter-spacing:1px;margin-left:9px;padding-left:9px}.identity{font-size:11px;padding:5px 8px;min-height:30px;max-width:52%}.page{padding:17px 14px 0}.intro{margin-bottom:15px;align-items:flex-start}.intro h1{font-size:20px;margin:0 0 5px}.intro p{font-size:10px;line-height:1.9}.phase{font-size:9px;margin-top:3px;padding:2px 5px}.times{top:50px;gap:7px;padding-bottom:12px}.time-tab{padding:10px 9px;gap:4px}.time-tab strong{font-size:11px;letter-spacing:-.2px}.time-tab small{font-size:10px;min-height:15px}.list-heading{margin:2px 0 10px}.list-heading h2{font-size:13px}.list-heading>span{font-size:10px}.activity-grid{gap:8px}.activity{padding:11px 10px;min-height:83px;gap:10px}.activity strong{font-size:15px}.kind{font-size:9px;padding:1px 4px}.activity-bottom{font-size:11px}.seats{font-size:10px}.seats b{font-size:13px}.action{font-size:10px;gap:4px}.arrow{font-size:13px}.schedule{margin-top:17px}.schedule-heading{padding:10px 12px}.schedule h2{font-size:13px}.schedule-row{padding:10px 12px;grid-template-columns:103px 1fr auto;gap:8px;font-size:11px}.schedule-row time{font-size:10px}.schedule-row strong{font-size:12px}.schedule-row small{font-size:9px}.seat-confirmed{font-size:9px}footer{font-size:9px;padding:14px 1px 19px}.text-button{font-size:10px}.admin-page{padding-top:20px}.admin-head h1{font-size:20px}.admin-cols{grid-template-columns:1fr;gap:0}.panel{padding:17px}.stats{gap:8px;margin:17px 0}.stat{padding:12px}.stat small{font-size:10px}.stat strong{font-size:23px}.admin-head .secondary{font-size:10px;padding:7px 9px}.table-wrap{max-height:420px}table{font-size:11px}th,td{padding:11px 8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.header,.intro,.times,.list-heading,.activity-grid,.inline-error,footer,.text-button,#toast,dialog{display:none!important}.schedule{margin:0;border-color:#ccc}body{background:white}.page{padding:15px}.schedule-row{padding:17px;font-size:14px}}
