:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#30465d;background:#e7f0f8;font-synthesis:none;--bg:#e7f0f8;--muted:#61778d;--pink:#b93673;--line:#cfdce8;--shadow:7px 7px 22px #cbd9e6,-7px -7px 22px #ffffffd9;--inset:inset 3px 3px 8px #cddbe7,inset -3px -3px 8px #ffffffdf}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 8% 12%,#f1cbdf55,transparent 45%),radial-gradient(ellipse at 92% 90%,#f9dfcd44,transparent 45%),linear-gradient(145deg,#edf4fa,#e7f0f8 60%,#dce9f4);background-attachment:fixed}button,input,select{font:inherit}button{cursor:pointer}button,input,select{min-height:44px;border:1px solid #fff;border-radius:12px;padding:10px 15px;color:inherit;background:#edf4fa}button:hover:not(:disabled){box-shadow:3px 4px 10px #bed0e0}button:disabled{opacity:.5;cursor:not-allowed}input,select{background:#e7eff7;box-shadow:var(--inset);width:100%}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b93673;outline-offset:3px}.primary{background:linear-gradient(115deg,#ed79aa,#f3ad86);color:#48283b;font-weight:700}.danger{color:#a42849}.quiet{background:transparent;box-shadow:none}.muted,small{color:var(--muted)}small{font-size:.875rem;line-height:1.6}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:750;letter-spacing:-.5px}.brand img{width:38px;height:38px}.eyebrow{font-size:.75rem;letter-spacing:1.6px;font-weight:650;color:var(--muted)}h1{font-size:30px;letter-spacing:-.8px;margin:6px 0 8px}h2{font-size:20px;margin:0}p{line-height:1.7}.panel{background:linear-gradient(140deg,#f2f7fbd9,#e5eef7df);border:1px solid #ffffffb3;box-shadow:var(--shadow);border-radius:24px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 450px;align-items:center;gap:10vw;max-width:1250px;margin:auto;padding:60px 40px}.login .brand{margin-bottom:90px}.login h1{font-size:clamp(34px,4vw,58px);line-height:1.25;margin:18px 0}.login h1 span{color:var(--pink)}.login .intro{max-width:440px}.login-card{padding:38px}.login-card h2{font-size:25px;margin-bottom:8px}.login-card form{margin-top:26px}.field{display:grid;gap:8px;margin-bottom:20px;font-size:.9rem}.login-note{margin-top:45px;border-top:1px solid var(--line);padding-top:18px}.login button[type=submit]{width:100%;margin-top:8px}.chip{display:inline-flex;align-items:center;border:1px solid #d8c3d2;background:#f5eaf1;color:#91315f;padding:5px 10px;border-radius:8px;font-size:.8rem;white-space:nowrap}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{padding:30px 20px;border-right:1px solid #fff;display:flex;flex-direction:column;background:#ffffff25}.sidebar .brand{font-size:21px}.workspace{margin:32px 0 24px;padding:16px;border-radius:16px;background:#ffffff50}.workspace strong{display:block;overflow-wrap:anywhere;margin-top:8px}.nav{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;margin:5px 0;font-size:.95rem}.nav.active{background:linear-gradient(135deg,#fcfdff,#eaf1f8);border-color:#fff;box-shadow:4px 4px 12px #cad7e4;color:var(--pink);font-weight:650}.nav-count{float:right;font-size:.8rem;color:var(--muted)}.sidebar footer{margin-top:auto;padding:30px 8px 0;font-size:.8rem;color:var(--muted);line-height:1.8}.main{padding:0 clamp(20px,3.5vw,52px) 40px;min-width:0}.topbar{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #cfdeeb}.account{display:flex;align-items:center;gap:12px;font-size:.875rem}.avatar{width:36px;height:36px;border-radius:50%;background:#f0dbe8;color:#963567;display:grid;place-items:center;font-weight:700}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 24px}.page-head p{font-size:.9rem;color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:28px}.stat{padding:24px}.stat strong{display:block;font-size:34px;font-weight:650;margin:12px 0 4px;font-variant-numeric:tabular-nums}.stat span{font-size:.875rem;color:var(--muted)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:0 24px 20px}.toolbar label{font-size:.875rem;display:flex;gap:10px;align-items:center}.toolbar select{width:auto;max-width:260px}.search{flex:1;min-width:180px;max-width:340px}.table-wrap{overflow:auto;border-radius:0 0 24px 24px}table{border-collapse:collapse;width:100%;font-size:.9rem;text-align:left}th{font-weight:500;color:var(--muted);background:#dce8f280;padding:14px 20px;white-space:nowrap}td{padding:19px 20px;border-top:1px solid #d7e2ec;vertical-align:middle}td small{display:block;font-size:.8rem;overflow-wrap:anywhere}tbody tr:hover{background:#ffffff50}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;overflow-wrap:anywhere}.badge{display:inline-block;border-radius:8px;padding:5px 9px;font-size:.8rem;background:#dce8f2;color:#536b82;white-space:nowrap}.badge.active{background:#d6ece4;color:#206d58}.badge.wait{background:#f3e6cf;color:#815b1e}.badge.stop{background:#e1e5eb;color:#57687a}.badge.pause{background:#f3dce3;color:#92324c}.park-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.park-card{padding:24px;display:flex;flex-direction:column;gap:18px}.park-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.park-card dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}.park-card dt{font-size:.8rem;color:var(--muted);margin-bottom:5px}.park-card dd{font-size:.95rem;margin:0}.park-card h2{overflow-wrap:anywhere}.park-card button{margin-top:auto}.notice{border-radius:14px;padding:14px 18px;background:#f0e2c9;color:#78571d;font-size:.875rem;line-height:1.6;margin-bottom:20px}.error{color:#9a2d48;background:#f6e2e8;border-radius:12px;padding:12px 16px;line-height:1.65;font-size:.9rem}.error:empty{display:none}.empty{padding:60px 24px;text-align:center;color:var(--muted)}.empty h2{color:#30465d;margin-bottom:12px}.empty p{font-size:.9rem;margin:8px 0 20px}.scope-note{font-size:.875rem;margin:18px 0;color:var(--muted)}dialog{padding:28px;width:min(560px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #fff;border-radius:26px;color:inherit;background:#edf4fb;box-shadow:15px 22px 65px #61798e40}dialog::backdrop{background:#30465d55;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.modal-head button{padding:5px 12px}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.check{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;line-height:1.6}.check input{width:18px;min-height:18px;box-shadow:none;accent-color:var(--pink)}.details{display:grid;grid-template-columns:125px minmax(0,1fr);gap:16px;font-size:.9rem}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#30465d;color:white;padding:14px 22px;border-radius:14px;box-shadow:var(--shadow);z-index:10}.table-action{padding:7px 12px;min-height:36px;font-size:.875rem}.loading{padding:60px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1000px){.login{gap:40px;grid-template-columns:1fr 400px}.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:24px 14px}.stats{gap:14px}.main{padding:0 22px 32px}.account .role-name{display:none}}@media(max-width:760px){.login{display:block;padding:30px 22px;max-width:480px}.login .brand{margin-bottom:32px}.login h1{font-size:30px}.login .intro,.login-note{display:none}.login-card{margin-top:28px;padding:26px}.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid #fff;padding:18px;display:block}.sidebar .brand{font-size:20px}.workspace{margin:16px 0;padding:12px}.nav{display:inline-block;width:auto;margin-right:6px}.sidebar footer,.sidebar .upcoming{display:none}.topbar{min-height:70px}.main{padding:0 16px 30px}.page-head{align-items:flex-start;margin-top:24px}h1{font-size:25px}.stats{gap:10px}.stat{padding:16px 12px}.stat strong{font-size:26px}.stat small{display:none}.panel-head{padding:20px}.toolbar{padding:0 18px 18px}.account{gap:6px}.avatar{display:none}.details{grid-template-columns:105px minmax(0,1fr)}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,box-shadow .15s}.park-card{animation:appear .2s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
/* Media access is bounded by the backend's short-lived signed URL. */
.media-player{width:100%;max-height:55vh;background:#152338;border-radius:16px}
#media-output a{display:inline-block;padding:16px;border-radius:12px;background:#e5edf8;color:#203e62;overflow-wrap:anywhere}
.download-name{overflow-wrap:anywhere}
#download-dialog{margin:22px auto auto;width:min(680px,calc(100vw - 32px));box-sizing:border-box}
#download-dialog progress{width:100%;height:22px;accent-color:#ae4978}
.asset-metadata{margin:20px 0;padding:16px;background:#e6eef680;border-radius:16px}
.asset-metadata summary{cursor:pointer;font-weight:600}
.asset-metadata .mono{overflow-wrap:anywhere;display:block}
/* Entry V2: the staff surface deliberately omits administration navigation. */
.staff-main{max-width:1100px;margin:0 auto;padding:32px 24px}.staff-main>.panel{margin:24px 0}.staff-code-card{text-align:center}.staff-code-card h2{font-size:clamp(48px,9vw,100px);font-variant-numeric:tabular-nums;letter-spacing:.16em;margin:20px 0}.staff-code-card .muted{max-width:680px;margin:20px auto}
.refund-boundary strong{color:#65450f}.refund-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.refund-card{padding:26px}.refund-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.refund-card-head h2{margin-top:6px}.refund-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}.refund-summary div{background:#ffffff55;border-radius:14px;padding:14px}.refund-summary dt{font-size:.8rem;color:var(--muted);margin-bottom:7px}.refund-summary dd{margin:0;overflow-wrap:anywhere}.refund-ok{background:#dceee8;color:#1d6a55;border-radius:12px;padding:12px 16px;font-size:.9rem}.refund-timeline{display:grid;gap:12px;margin:0 0 24px}.refund-step{display:flex;align-items:flex-start;gap:12px;opacity:.5}.refund-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d9e4ee;font-weight:700;flex:0 0 auto}.refund-step.done{opacity:1}.refund-step.done>span{background:#d7ede5;color:#206d58}.refund-step strong,.refund-step small{display:block}.refund-rights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.refund-rights div{background:#e4edf5;border-radius:14px;padding:14px}.refund-rights span,.refund-rights strong{display:block}.refund-rights span{font-size:.8rem;color:var(--muted);margin-bottom:6px}@media(max-width:980px){.refund-layout{grid-template-columns:1fr}}@media(max-width:560px){.refund-summary,.refund-rights{grid-template-columns:1fr}.refund-card{padding:20px}}
