:root{color:#17130f;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:#efe0bd;font-synthesis:none;--ink: #17130f;--muted: #746b5d;--paper: #fff9eb;--paper-deep: #f5e6c4;--line: rgba(23, 19, 15, .16);--red: #a52a1f;--red-dark: #791d17;--black: #161310;--shadow: 0 10px 28px rgba(67, 43, 18, .1)}*{box-sizing:border-box}html{min-width:320px;background:#efe0bd}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 10% 0%,rgba(165,42,31,.12),transparent 26rem),#f3e7ca}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(165,42,31,.25);outline-offset:2px}.login-screen{display:grid;min-height:100svh;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));place-items:center}.login-panel{position:relative;display:grid;gap:20px;width:min(100%,430px);padding:26px 20px 24px;overflow:hidden;background:var(--paper);border:2px solid var(--ink);border-radius:20px;box-shadow:9px 9px 0 var(--ink)}.login-panel:after{position:absolute;top:-45px;right:-45px;width:120px;height:120px;content:"";background:var(--red);transform:rotate(18deg);clip-path:polygon(50% 0,61% 35%,100% 20%,72% 50%,100% 80%,62% 66%,50% 100%,39% 66%,0 80%,27% 50%,0 20%,39% 35%)}.login-brand{position:relative;z-index:1;display:flex;flex-direction:column;width:max-content}.brand-mark{font-family:Georgia,serif;font-size:38px;font-style:italic;line-height:1}.brand-kicker,.app-brand span{margin-top:4px;font-size:9px;font-weight:800;letter-spacing:.28em}.login-panel h1,.shell h1,section h2,.side-form h3{margin:0}.login-panel h1{font-size:clamp(28px,8vw,38px);line-height:1.1}.login-help,.section-note{margin:7px 0 0;color:var(--muted);font-size:13px}.eyebrow{margin:0 0 5px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.2em}label{display:grid;gap:8px;color:#4e473e;font-size:13px;font-weight:700}input,select,textarea{width:100%;min-height:48px;padding:0 13px;color:var(--ink);background:#fffdf7;border:1.5px solid rgba(23,19,15,.25);border-radius:10px}textarea{min-height:92px;padding-top:12px;padding-bottom:12px;resize:vertical}.login-panel button,.side-form>button{min-height:50px;color:#fff8e8;font-weight:800;background:var(--red);border:2px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink)}.login-panel button:active,.side-form>button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.error{margin:0;padding:10px 12px;color:#7f1d1d;font-size:13px;background:#fee9e5;border-radius:8px}.shell{min-height:100svh;padding-bottom:env(safe-area-inset-bottom)}aside{position:sticky;top:0;z-index:20;color:#fff8e8;background:var(--black);box-shadow:0 6px 22px #17130f2e;max-width:100vw;overflow:hidden}.app-brand{display:flex;min-height:58px;padding:max(10px,env(safe-area-inset-top)) 14px 8px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,248,232,.15)}.app-brand>div{display:flex;align-items:baseline;gap:10px}.app-brand strong{font-family:Georgia,serif;font-size:27px;font-style:italic}.app-brand span{color:#d7bf91}nav{display:flex;width:100%;overflow-x:auto;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav button,.logout{display:flex;min-height:52px;padding:7px 5px;color:#bdb3a4;background:transparent;align-items:center;justify-content:center}nav button{position:relative;min-width:50px;flex:1;flex-direction:column;gap:3px;font-size:11px;white-space:nowrap}nav button:after{position:absolute;right:20%;bottom:0;left:20%;height:3px;content:"";background:transparent;border-radius:3px 3px 0 0}nav button.active{color:#fff8e8}nav button.active:after{background:#c74232}.logout{gap:8px}.mobile-logout{width:42px;min-height:42px;padding:0;border:1px solid rgba(255,248,232,.2);border-radius:50%}.desktop-logout{display:none}.content{width:min(100%,1440px);margin:0 auto;padding:20px 14px 32px}section{display:grid;gap:16px}.section-heading{display:flex;min-height:46px;align-items:flex-end;justify-content:space-between;gap:12px}.section-heading h2{font-size:25px;line-height:1.1}.section-note{margin:0 0 2px;white-space:nowrap}.count-pill,.status-badge,.owner-pill{display:inline-flex;width:max-content;min-height:25px;padding:4px 9px;color:var(--red-dark);font-size:12px;font-weight:800;background:#f5d5c8;border-radius:999px;align-items:center}.owner-pill{color:#fff8e8;background:var(--black)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{display:grid;min-height:128px;padding:15px;background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;box-shadow:4px 4px #17130fe6;align-content:space-between}.stat-icon{display:grid;width:38px;height:38px;color:#fff8e8;background:var(--red);border-radius:50%;place-items:center}.stat svg{width:19px;height:19px}.stat span,td small,.form-heading small{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;margin-top:3px;font-size:25px}.split,.base-grid,.rule-list{display:grid;gap:16px}.income-layout .income-form,.activity-layout .activity-form{order:-1}.activity-list-head{display:flex;margin-bottom:12px;align-items:center;justify-content:space-between}.activity-list-head h3{margin:0}.activity-admin-list{display:grid;gap:12px}.activity-admin-card{display:grid;overflow:hidden;background:var(--paper);border:1.5px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 var(--ink)}.activity-admin-cover{position:relative;min-height:150px;background-color:var(--red);background-position:center;background-size:cover}.activity-admin-cover span{position:absolute;left:12px;bottom:12px;padding:6px 10px;color:#fff4d9;font-size:20px;font-weight:900;background:var(--ink);border-radius:4px}.activity-admin-copy{display:grid;gap:9px;padding:15px}.activity-admin-copy .row{display:flex}.activity-admin-copy strong{font-size:17px}.activity-admin-copy p{display:flex;margin:0;color:var(--muted);font-size:12px;line-height:1.45;align-items:flex-start;gap:6px}.activity-admin-copy p svg{margin-top:2px;flex:0 0 auto}.activity-published{color:#17603b;background:#dff2e8}.activity-draft{color:#705611;background:#f5e8bd}.activity-cancelled,.activity-finished{color:#655e55;background:#e4ded2}.empty-ticket{padding:32px 18px;color:var(--muted);text-align:center;background:var(--paper);border:1.5px dashed var(--line);border-radius:12px}.image-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.image-preview{position:relative;aspect-ratio:1;overflow:hidden;background:var(--paper-deep);border:1px solid var(--line);border-radius:8px}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview button{position:absolute;top:5px;right:5px;display:grid;width:26px;height:26px;padding:0;color:#fff;font-size:19px;line-height:1;background:#17130fd9;border-radius:50%;place-items:center}.qr-url-field>span{display:flex;align-items:center;gap:6px}.qr-preview{display:flex;align-items:center;gap:12px}.qr-preview img{width:84px;height:84px;object-fit:cover;background:#fff;border:1.5px solid var(--ink);border-radius:8px}.income-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px}.income-summary>div{display:grid;min-height:100px;padding:15px;color:#fff8e8;background:var(--red);border:1.5px solid var(--ink);border-radius:13px;box-shadow:4px 4px 0 var(--ink);align-content:space-between}.income-summary>div:last-child{color:var(--ink);background:var(--paper)}.income-summary span{font-size:12px;font-weight:700}.income-summary strong{font-size:clamp(23px,7vw,34px)}.list-toolbar{display:flex;margin-bottom:12px;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.list-toolbar h3{margin:0}.toolbar-actions{display:flex;align-items:center;gap:8px}.list-toolbar input{width:150px;min-height:42px}.export-button{display:inline-flex;min-height:42px;padding:0 12px;color:#fff8e8;font-weight:800;background:var(--black);border-radius:8px;align-items:center;gap:6px}.status-voided{color:#655e55;background:#e4ded2}.voided-row{opacity:.62}.side-form>button:disabled{cursor:wait;opacity:.6}.loading-screen{display:grid;min-height:100svh;color:var(--muted);place-content:center;justify-items:center;gap:12px}.loading-mark{color:var(--ink);font-family:Georgia,serif;font-size:48px;font-style:italic}.list-pane{min-width:0}.list-pane>.section-heading{margin-bottom:16px}.table-wrap{background:transparent}table,tbody,tr,td{display:block;width:100%}table{border-collapse:collapse}thead{display:none}tbody{display:grid;gap:12px}tbody tr{overflow:hidden;background:var(--paper);border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}td{display:grid;min-height:43px;padding:10px 13px;border-bottom:1px dashed var(--line);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:9px;overflow-wrap:anywhere}td:before{color:#8a7f70;content:attr(data-label);font-size:11px;font-weight:800;letter-spacing:.08em}td:last-child{border-bottom:0}td small{margin-top:3px}.empty-row td{display:block;padding:34px 18px;color:var(--muted);text-align:center;border:0}.empty-row td:before{display:none}.side-form{display:grid;gap:12px;padding:17px;background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink)}.form-heading,.side-form h3{display:flex;gap:10px;align-items:center}.form-heading h3{margin:0 0 2px}.form-icon{display:grid;width:38px;height:38px;color:#fff8e8;background:var(--red);border-radius:50%;place-items:center}.inline-fields,.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.inline-fields>*,.actions>*{min-width:0}input[type=datetime-local]{min-width:0}.ghost{min-height:42px;padding:7px 12px;color:var(--red-dark);font-weight:800;background:#f5d5c8;border:1px solid rgba(165,42,31,.25);border-radius:8px}.danger{color:#fff8e8;background:var(--red-dark)}.rule-list,.base-grid{grid-template-columns:1fr}.rule{display:grid;gap:7px;padding:15px;background:var(--paper);border-left:5px solid var(--red);border-radius:0 10px 10px 0;box-shadow:var(--shadow)}.rule span{color:var(--muted);font-size:13px;line-height:1.55}.mini-list{display:grid;gap:8px;padding-top:4px}.mini-list span{padding:10px 11px;color:#4e473e;font-size:13px;background:var(--paper-deep);border-radius:8px}.course-admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;background:#fff9ebb8;border:1.5px solid var(--ink);border-radius:12px}.course-admin-tabs button{min-height:46px;color:var(--ink);font-weight:900;background:transparent;border-radius:8px}.course-admin-tabs button.active{color:#fff8e8;background:var(--red);box-shadow:3px 3px 0 var(--ink)}.schedule-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.schedule-admin-head h2{margin:0;font-size:25px}.generate-controls{display:flex;gap:8px}.generate-controls select{width:116px;min-height:44px}.generate-controls button{min-height:44px;padding:0 14px;color:#fff8e8;font-weight:900;background:var(--black);border-radius:9px}.success-message{margin:0;padding:11px 13px;color:#285b35;font-size:13px;font-weight:700;background:#e4f1df;border-radius:8px}.weekday-tabs{display:flex;gap:8px;padding-bottom:5px;overflow-x:auto;scrollbar-width:none}.weekday-tabs::-webkit-scrollbar{display:none}.weekday-tabs button{display:grid;min-width:64px;min-height:58px;padding:7px 10px;color:var(--ink);font-size:13px;font-weight:900;background:var(--paper);border:1.5px solid var(--ink);border-radius:9px;place-content:center;gap:2px}.weekday-tabs button small{color:var(--muted);font-size:10px}.weekday-tabs button.active{color:#fff8e8;background:var(--red);box-shadow:3px 3px 0 var(--ink)}.weekday-tabs button.active small{color:#f4d9c7}.schedule-admin-list{display:grid;gap:11px}.schedule-admin-card{display:grid;padding:14px;background:var(--paper);border:1.5px solid var(--line);border-radius:13px;box-shadow:var(--shadow);grid-template-columns:74px minmax(0,1fr);gap:12px}.schedule-admin-card.inactive{opacity:.58}.schedule-card-time{display:flex;min-height:72px;padding:8px;color:#fff8e8;background:var(--red);border-radius:9px;align-items:center;justify-content:center;flex-direction:column}.schedule-card-time strong{font-size:17px}.schedule-card-time span{margin-top:4px;font-size:12px}.schedule-card-copy>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.schedule-card-copy h3,.schedule-card-copy p{margin:0}.schedule-card-copy p{margin-top:7px;color:#554c40;font-size:13px}.schedule-card-copy small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.schedule-card-copy em{display:inline-block;margin-top:7px;padding:3px 7px;color:var(--red-dark);font-size:11px;font-style:normal;font-weight:800;background:#f5d5c8;border-radius:999px}.schedule-card-actions{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.bulk-toolbar{display:flex;align-items:center;gap:12px;padding:11px 13px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.bulk-toolbar label{display:flex;align-items:center;flex-direction:row;gap:7px;font-weight:800}.bulk-toolbar span{color:var(--muted);font-size:13px}.bulk-toolbar button{min-height:38px;margin-left:auto;padding:7px 13px;border-radius:8px}.bulk-toolbar button:disabled,.side-form button:disabled{cursor:not-allowed;opacity:.45}.select-column{width:58px;text-align:center}.select-column input,.bulk-toolbar input{width:18px;height:18px;accent-color:var(--red)}.form-help{margin:0;padding:11px 12px;color:var(--muted);font-size:13px;line-height:1.55;background:var(--paper-deep);border-radius:8px}.empty-card{padding:40px 18px;color:var(--muted);text-align:center;background:var(--paper);border:1.5px dashed var(--line);border-radius:12px}.side-form>.form-secondary{color:var(--ink);background:var(--paper-deep);border:1.5px solid var(--ink);box-shadow:none}.schedule-readonly{grid-template-columns:1fr}.admin-management{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.admin-account-list{display:grid;gap:10px;align-content:start}.admin-account-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.admin-account-card>div:first-child{display:grid;gap:4px;min-width:0}.admin-account-card span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.admin-account-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.inline-reset-form{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:end;padding:14px;background:#f5d5c8;border-radius:12px}@media(max-width:640px){.admin-account-card{align-items:flex-start;flex-direction:column}.admin-account-actions{width:100%;justify-content:space-between}.inline-reset-form{grid-template-columns:1fr}}@media(min-width:600px){.content{padding:26px 22px 40px}.stats-grid,.rule-list,.base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-panel{padding:34px}}@media(min-width:961px){.shell{display:grid;grid-template-columns:226px minmax(0,1fr);padding-bottom:0}aside{position:sticky;top:0;display:flex;height:100vh;padding:26px 16px;flex-direction:column;box-shadow:none}.app-brand{display:block;min-height:auto;padding:0 10px 25px;border-bottom:0}.app-brand>div{display:flex;align-items:flex-start;flex-direction:column;gap:0}.app-brand strong{font-size:36px}.mobile-logout{display:none}nav{display:grid;grid-template-columns:1fr;gap:7px;overflow:visible}nav button{min-height:46px;padding:0 13px;flex-direction:row;justify-content:flex-start;gap:11px;font-size:14px;border-radius:8px}nav button:after{display:none}nav button.active,nav button:hover{color:#fff8e8;background:var(--red)}.desktop-logout{display:flex;min-height:44px;margin-top:auto;padding:0 13px;justify-content:flex-start;border-radius:8px}.desktop-logout:hover{color:#fff;background:#ffffff14}.content{padding:34px}.section-heading h2{font-size:30px}.course-admin-tabs{width:360px}.schedule-admin-head h2{font-size:30px}.schedule-admin-card{grid-template-columns:86px minmax(0,1fr) 150px;align-items:center}.schedule-card-actions{grid-column:auto}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat{min-height:145px;padding:18px}.split{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.income-layout .income-form,.activity-layout .activity-form{order:0}.activity-admin-card{grid-template-columns:180px minmax(0,1fr)}.table-wrap{overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}table{display:table;width:100%;min-width:760px}thead{display:table-header-group}tbody{display:table-row-group}tbody tr,tr{display:table-row;box-shadow:none}th,td{display:table-cell;width:auto;min-height:0;padding:14px 15px;text-align:left;border-bottom:1px solid var(--line)}th{color:#675e52;font-size:12px;background:var(--paper-deep)}td:before{display:none}tr:last-child td{border-bottom:0}.empty-row td{display:table-cell}.side-form{position:sticky;top:28px}}@media(max-width:370px){nav button{font-size:10px}.content{padding-right:10px;padding-left:10px}.stat{padding:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
