:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2926;background:#eef1ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:not(.primary){padding:.62rem .85rem;border:1px solid #cbd5d0;border-radius:.6rem;color:#315d50;background:#fff}.admin-shell{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:1.5rem 1rem;color:#eaf0ed;background:#12372d}.logo{display:flex;align-items:center;gap:.8rem;padding:.5rem .75rem 2rem}.logo span,.operator>span,.brand-lockup>span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#d6b574;color:#12372d;font-family:Georgia,serif;font-weight:800}nav{display:grid;gap:.3rem}nav button{padding:.8rem 1rem;text-align:left;border:0;border-radius:.65rem;color:#b8cac3;background:transparent}nav button:hover,nav button.active{color:#fff;background:#ffffff1a}.operator{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin-top:auto;padding:1rem .4rem 0;border-top:1px solid rgba(255,255,255,.12)}.operator strong,.operator small{display:block}.operator small{margin-top:.2rem;color:#9cb2a9}.operator button{border:0;color:#9cb2a9;background:transparent;font-size:.75rem}main{min-width:0;padding:clamp(1.5rem,4vw,3.5rem)}header{display:flex;justify-content:space-between;align-items:end;gap:2rem}header small,.panel>small,.panel-title small{color:#75827e;font-size:.72rem;letter-spacing:.1em}h1{margin:.4rem 0 0;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:500}h2{margin:.45rem 0 1.5rem;font-family:Georgia,"Noto Serif SC",serif;font-weight:500}.header-actions{display:flex;align-items:center;gap:.75rem}.header-actions>button,.record-footer button{padding:.65rem .9rem;border:1px solid #cbd5d0;border-radius:.65rem;color:#315d50;background:#fff}.status{padding:.7rem 1rem;border-radius:999px;color:#006243;background:#dcece5;font-size:.82rem;font-weight:700}.alert{margin-top:1.5rem;padding:1rem 1.2rem;border:1px solid #e1c997;border-radius:.7rem;color:#684a18;background:#fff9e9}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2.5rem 0}.metrics article,.panel{padding:1.5rem;border:1px solid #dde3df;border-radius:1rem;background:#fff;box-shadow:0 .7rem 2rem #18372d0d}.metrics span,.metrics small,.metrics strong{display:block}.metrics span{color:#596661}.metrics strong{margin:1rem 0 .2rem;font-family:Georgia,serif;font-size:2.5rem}.metrics small{color:#9aa39f}.workspace-grid,.split-view{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);gap:1rem;margin-top:2.5rem;align-items:start}.panel-title{display:flex;justify-content:space-between;align-items:start}.decision{color:#ecf3ef;background:#1f4e40}.decision>small{color:#c6af7a}.decision ul{display:grid;gap:.8rem;padding-left:0;color:#c9d9d3;line-height:1.5;list-style:none}.decision li:before{content:"○";margin-right:.6rem;color:#93aaa1}.decision li.done:before{content:"✓";color:#d6b574}.compact-list,.record-list{display:grid;gap:.75rem}.compact-list>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border-radius:.75rem;background:#f5f7f5}.compact-list strong,.compact-list small{display:block}.compact-list small{margin-top:.3rem;color:#75827e}.badge{display:inline-flex;align-items:center;width:fit-content;padding:.32rem .55rem;border-radius:999px;color:#66736e;background:#edf0ee;font-size:.68rem;font-weight:800;letter-spacing:.04em}.badge.published,.badge.active-role{color:#006243;background:#dcece5}.badge.draft,.badge.reserved{color:#735c2c;background:#f3ead4}.badge.pending_payment{color:#7a4b16;background:#fff0d9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .wide{grid-column:1 / -1}.stack-form{display:grid;gap:1rem}label{display:grid;gap:.45rem;color:#52615c;font-size:.78rem;font-weight:700}input,select{min-width:0;width:100%;padding:.78rem .85rem;border:1px solid #d4ddd8;border-radius:.6rem;color:#22342e;background:#fbfcfb;outline:none}input:focus,select:focus{border-color:#37826d;box-shadow:0 0 0 3px #37826d1f}.primary{width:fit-content;padding:.82rem 1.2rem;border:0;border-radius:.65rem;color:#fff;background:#006243;font-weight:750}.primary:disabled{opacity:.45;cursor:not-allowed}.record{padding:1rem;border:1px solid #e2e7e4;border-radius:.8rem;background:#fafbfa}.record-head,.record-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.record p{margin:.45rem 0;color:#77837f;font-size:.82rem}.record-footer{margin-top:.8rem;color:#62716c;font-size:.8rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.chips span{padding:.35rem .55rem;border-radius:.45rem;color:#315d50;background:#e9f0ed;font-size:.72rem}fieldset{margin:0;padding:.9rem;border:1px solid #d4ddd8;border-radius:.65rem}legend{padding:0 .3rem;color:#52615c;font-size:.78rem;font-weight:700}.check{display:flex;align-items:center;gap:.55rem;padding:.35rem 0}.check input{width:auto}.check small{margin-left:auto;color:#84908b}.timeline{display:grid;gap:1rem}.timeline>div{display:grid;grid-template-columns:.7rem 1fr;gap:.7rem}.timeline i{width:.55rem;height:.55rem;margin-top:.35rem;border-radius:50%;background:#cfab67;box-shadow:0 0 0 4px #f4ead7}.timeline p{margin:.3rem 0;color:#697570;font-size:.82rem}.timeline small{color:#9aa39f}.empty{display:grid;place-items:center;min-height:12rem;padding:1rem;color:#87928e;text-align:center}.empty span{font-size:2rem;color:#c0cbc6}.empty p{max-width:22rem;line-height:1.6}.login-shell{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 80% 20%,#dcc99f,transparent 25rem),#eff2ef}.login-card{width:min(30rem,calc(100vw - 2rem));padding:2.5rem;border-radius:1.4rem;background:#12372d;color:#fff;box-shadow:0 2rem 6rem #12372d38}.brand-lockup{display:flex;align-items:center;gap:.8rem}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup small{margin-top:.2rem;color:#c6af7a;letter-spacing:.1em}.login-card h1{margin-top:2.5rem}.login-card p{color:#b9ccc4;line-height:1.7}.login-card form{display:grid;gap:1rem;margin-top:2rem}.login-card label{color:#cbdad4}.login-card input{color:#fff;border-color:#ffffff2e;background:#ffffff14}.stage2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem;align-items:start}.stage2-grid .record-list{max-height:30rem;overflow:auto;margin-top:1.2rem}.inline-form,.button-row{display:flex;gap:.6rem;align-items:end;margin-top:1rem}.inline-form>*{flex:1}.leader-mobile{max-width:54rem;margin:2.5rem auto 0}.attendance-list{display:grid;gap:.7rem;margin-top:1.2rem}.attendance-row{display:grid;grid-template-columns:minmax(8rem,1fr) 10rem 9rem;gap:.7rem;align-items:center;padding:.8rem;border:1px solid #e2e7e4;border-radius:.75rem;background:#fafbfa}@media(max-width:1200px){.stage2-grid{grid-template-columns:1fr 1fr}}@media(max-width:1050px){.admin-shell{grid-template-columns:5rem minmax(0,1fr)}aside{padding-inline:.6rem}.logo strong,nav button,.operator div,.operator button{font-size:0}nav button:first-letter{font-size:.8rem}.logo,.operator{justify-content:center;padding-inline:0}.metrics{grid-template-columns:repeat(2,1fr)}.workspace-grid,.split-view,.stage2-grid{grid-template-columns:1fr}}@media(max-width:680px){.admin-shell{display:block}.admin-shell aside{position:static;display:block;height:auto;padding:.7rem}.admin-shell .logo,.admin-shell .operator{display:none}.admin-shell nav{display:flex;overflow-x:auto}.admin-shell nav button{display:block;flex:0 0 auto;font-size:.78rem}main{padding:1rem}header{align-items:start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.status{display:none}.metrics{grid-template-columns:1fr 1fr;margin-top:1.25rem}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.attendance-row{grid-template-columns:1fr}.button-row,.inline-form{align-items:stretch;flex-direction:column}}
