:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#58371f;background:#fbf2dc;font-synthesis:none;--cream:#fbf2dc;--cream2:#fff9eb;--brown:#58371f;--orange:#e87511;--orange2:#f59a23;--gold:#efba36;--olive:#778453;--sage:#aab383;--soft-green:#edf0dc;--peach:#f5c8a6;--line:#ead6ae;--paper:rgba(255,250,237,.94);--shadow:0 13px 34px rgba(105,70,31,.10)}
*{box-sizing:border-box}html{min-height:100%;background:var(--cream)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 9% 4%,rgba(239,186,54,.20),transparent 24rem),radial-gradient(circle at 95% 12%,rgba(245,200,166,.32),transparent 28rem),linear-gradient(180deg,#fffaf0 0%,#fbf2dc 58%,#fff8e8 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(circle at center,rgba(232,117,17,.22) 1px,transparent 1.1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,black,transparent 30%)}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.shell{max-width:1080px;margin:0 auto;padding:28px 18px 72px;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.brand h1,.auth-brand h1{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;letter-spacing:-.03em;color:var(--brown);margin:0;font-size:clamp(1.8rem,4vw,2.55rem)}.brand p,.auth-brand p{margin:6px 0 0;color:#7b644d}.member-brand{display:flex;align-items:center;gap:15px}.logo-main{display:block;width:min(330px,82vw);margin:0 auto 6px;border-radius:32px;mix-blend-mode:multiply}.logo-small{width:104px;border-radius:22px;mix-blend-mode:multiply}.auth-brand{text-align:center;margin-bottom:18px}.kicker{display:block;font-size:.72rem;font-weight:900;letter-spacing:.16em;color:var(--orange);margin-bottom:2px}
.card{position:relative;overflow:hidden;background:var(--paper);border:1px solid rgba(234,214,174,.96);border-radius:25px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.card:after{content:"❧";position:absolute;right:18px;top:10px;color:rgba(119,132,83,.20);font-size:2.2rem;pointer-events:none}.warm-card{background:linear-gradient(145deg,rgba(255,249,235,.98),rgba(255,239,218,.82))}.card h2{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;font-size:1.55rem;margin-top:0;color:var(--brown)}.card h2:after{content:"";display:block;width:42px;height:3px;border-radius:99px;margin-top:8px;background:linear-gradient(90deg,var(--orange),var(--gold))}.grid{display:grid;gap:15px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.block-grid{grid-template-columns:1.3fr 1fr 1fr 1.6fr auto;align-items:end}label{display:block;font-size:.88rem;font-weight:750;color:#6d5037}input,select{width:100%;min-height:46px;margin-top:7px;border:1px solid #e1cca5;border-radius:14px;padding:10px 13px;background:#fffdf7;color:var(--brown);outline:none;transition:.18s}input:focus,select:focus{border-color:#efa150;box-shadow:0 0 0 4px rgba(232,117,17,.11);background:#fff}.check{display:flex;align-items:center;gap:10px;min-height:46px}.check input{width:auto;min-height:auto;margin:0;accent-color:var(--orange)}.actions{display:flex;gap:10px;flex-wrap:wrap}.mt{margin-top:14px}.btn{min-height:44px;border:0;border-radius:14px;padding:10px 16px;font-weight:850;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 7px 17px rgba(232,117,17,.18);transition:.16s}.btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(232,117,17,.22)}.btn.secondary{background:#fff8e9;color:#725035;border:1px solid #e7c993;box-shadow:none}.btn.danger{background:#a95045;color:#fff;box-shadow:none}.muted{color:#826d59}.status{margin:11px 0 0;min-height:22px;color:#755b43}.helper{font-size:.82rem;color:#88715a;margin:9px 0 0}.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.room{border:1px solid #ead6ae;border-radius:20px;padding:16px;background:linear-gradient(145deg,#fffdf7 0%,#fbf0d7 100%)}.room:before{content:"🌿";float:right;opacity:.6}.room h3{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;font-size:1.3rem;margin:0 0 5px;color:var(--brown)}.room-title,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head{margin-bottom:16px}.section-head h2,.section-head h3,.section-head p{margin:0}.section-head h3{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--brown);font-size:1.3rem;font-weight:500}.section-head p{margin-top:5px}.section-head.compact{margin-bottom:10px}.editor{border:1px solid #e7cfa4;background:linear-gradient(145deg,rgba(255,252,242,.98),rgba(255,239,218,.86));border-radius:21px;padding:18px;margin-bottom:16px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:15px}.slot{text-align:left;min-height:85px;border:1px solid #ead8b8;background:#fffdf8;border-radius:17px;padding:12px;transition:.15s}.slot:not(:disabled):hover{transform:translateY(-2px);border-color:#e6a258;box-shadow:0 8px 18px rgba(130,82,32,.08)}.slot strong,.slot span{display:block}.slot strong{font-size:1.08rem;color:var(--brown)}.slot span{margin-top:4px;color:#88715c;font-size:.84rem}.slot.mine{border-color:#d78237;background:linear-gradient(145deg,#fff0db,#fff8e9)}.slot.mine strong{color:#a84e0c}.slot.full{background:#f1eee5;border-color:#ddd4c4}.slot.blocked{background:#fae9e1;border-color:#dfa999;border-style:dashed;opacity:.84}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:var(--soft-green);color:#65713f;font-size:.77rem;font-weight:850}.list{display:grid;gap:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:13px;border:1px solid #ead9ba;border-radius:16px;padding:13px 14px;background:rgba(255,253,247,.78)}.row p{margin:3px 0}.hidden{display:none!important}.notice{padding:14px 16px;border-radius:15px;background:#fff3c8;border:1px solid #e6c76b;color:#665131}.schedule-summary{line-height:1.58}.schedule-editor{margin-top:24px;border-top:1px solid #eadbc0;padding-top:20px}.schedule-day{padding:15px 0;border-bottom:1px solid #eee0c8}.schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.period-list{display:grid;gap:10px}.period-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.closed-label{margin:4px 0 0;color:#8f7b66}.day-copy-bar{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;align-items:end;padding:13px;border-radius:16px;background:#fff8e9;border:1px solid #ecd4a8;margin-bottom:14px}.day-copy-bar>span{align-self:center;padding-top:26px;color:var(--orange);font-size:1.2rem;font-weight:900}.copy-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.copy-panel{padding:17px;border:1px solid #ead2a4;border-radius:18px;background:rgba(255,253,246,.82)}.copy-panel h3{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.25rem;font-weight:500;margin:0 0 12px;color:var(--brown)}#login-form,#signup-form{padding:18px;border-radius:18px;border:1px solid #ead6ae;background:rgba(255,253,247,.78)}#login-form{box-shadow:inset 4px 0 0 rgba(119,132,83,.60)}#signup-form{box-shadow:inset 4px 0 0 rgba(232,117,17,.58)}#signup-form .btn.secondary{background:#fff0dc;border-color:#efc28e;color:#9c541c}::selection{background:#f8d6a1;color:#5b351d}
@media(max-width:760px){.block-grid{grid-template-columns:1fr 1fr}.block-grid .actions{grid-column:1/-1}.section-head{align-items:flex-start}.row{align-items:flex-start;flex-direction:column}.row .actions{width:100%}.copy-tools{grid-template-columns:1fr}}
@media(max-width:640px){.shell{padding:20px 13px 58px}.grid.two,.block-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.topbar>.actions{width:100%}.topbar>.actions .btn{flex:1}.block-grid .actions{grid-column:auto}.section-head{flex-direction:column}.section-head>.btn{width:100%}.room .actions .btn{flex:1}.card{padding:17px;border-radius:21px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-brand{align-items:flex-start}.logo-small{width:82px}.day-copy-bar{grid-template-columns:1fr 1fr}.day-copy-bar>span{display:none}.day-copy-bar .btn{grid-column:1/-1}}
@media(max-width:390px){.slot-grid{grid-template-columns:1fr 1fr}.btn{padding-inline:12px}.logo-small{width:70px}}
@media(max-width:700px){.period-row{grid-template-columns:1fr 1fr}.period-row .remove-period{grid-column:1/-1}}

.week-days{display:grid;gap:16px}.day-card{padding:17px;border:1px solid #ead9c2;border-radius:20px;background:rgba(255,252,245,.82)}.day-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.day-heading h3{margin:0;color:#5b3d2c;font-size:1.15rem}.closed-day{padding:8px 2px}.day-card .slot-grid{margin-top:10px}@media(max-width:640px){.day-card{padding:14px}.day-card .slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.temp-room-editor{background:rgba(244,232,211,.55);border:1px dashed #d9b886}
.temp-room-editor h3{margin:0;color:#5b3d2c}

.rooms-day-grid{display:grid;gap:14px}
.room-day-card{padding:14px;border-radius:16px;background:rgba(255,255,255,.45);border:1px solid #ead9c2}
.room-day-title{display:flex;gap:10px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}
.room-day-title strong{color:#6b4029;font-size:1.02rem}
@media(min-width:900px){.rooms-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.all-closed-day{padding:18px;border-radius:16px;background:rgba(244,232,211,.55);text-align:center;color:#6b4029}
.all-closed-day strong{display:block;font-size:1.08rem;margin-bottom:3px}
.all-closed-day span{font-size:.92rem;color:#826b5b}

.block-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.choice-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #e3caa8;border-radius:16px;background:rgba(255,252,245,.8);cursor:pointer}
.choice-card input{width:auto;margin-top:4px}
.choice-card span{display:grid;gap:3px}.choice-card small{color:#826b5b}
.hidden{display:none!important}
@media(max-width:640px){.block-mode{grid-template-columns:1fr}}

.week-nav{flex-wrap:wrap}
.week-nav .btn{white-space:nowrap}
@media(max-width:640px){.week-nav{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr}.week-nav .btn{padding-left:8px;padding-right:8px}}
