:root{font-family:"Inter","PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#1d3040;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8acfc5;outline-offset:2px}.hidden{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:none;background:#10283b;color:#f7fafb;display:flex;flex-direction:column;padding:28px 16px 19px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 11px 46px}.brand strong{display:block;font-size:18px;letter-spacing:.5px}.brand small{display:block;color:#8ca4b4;font-size:9px;letter-spacing:1.6px;margin-top:5px;font-weight:700}.brand-mark{width:34px;height:34px;background:#2c776f;border-radius:10px;display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:3px;place-content:center;transform:rotate(-9deg)}.brand-mark span{border-radius:2px;background:#d9f6ec}.brand-mark span:nth-child(2){background:#91d1bf}.brand-mark span:nth-child(3){background:#95d0c5}.sidebar-section-label{color:#66889c;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.7px;padding:0 15px 12px}.nav-list{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#aac0cd;text-align:left;padding:12px 14px;border-radius:10px;display:flex;align-items:center;gap:13px;font-size:14px;font-weight:600}.nav-item:hover{background:#1a3a4d;color:white}.nav-item.active{background:#236b69;color:#fff;box-shadow:inset 3px 0 #a2dace}.nav-icon{width:21px;text-align:center;font-size:20px;line-height:1}.sidebar-spacer{flex:1}.sidebar-note{background:#1a3a4a;border:1px solid #325465;border-radius:12px;padding:15px 14px;color:#dce8ed;font-size:12px;line-height:1.7}.sidebar-note strong{font-size:12px}.sidebar-note p{margin:7px 0 0;color:#a8c0ca}.note-dot{display:inline-block;width:7px;height:7px;background:#66cbb2;border-radius:50%;margin-right:7px}.sidebar-footer{padding:19px 7px 0;color:#7896a6;font-size:10px;letter-spacing:.3px}.main-content{min-width:0;flex:1}.topbar{height:58px;background:white;border-bottom:1px solid #e6ecee;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#8b9aa3;font-size:12px}.topbar-breadcrumb span{margin:0 7px;color:#bcc8cf}.topbar-breadcrumb strong{color:#4d626d;font-weight:650}.topbar-right{display:flex;align-items:center;gap:22px}.prototype-badge{border:1px solid #cfe6df;background:#f2fbf8;color:#277d6c;padding:5px 9px;border-radius:100px;font-size:11px;font-weight:700}.prototype-badge span{display:inline-block;width:6px;height:6px;background:#3ba784;border-radius:50%;vertical-align:middle;margin-right:3px}.page{padding:35px 38px 48px;max-width:1900px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow,.section-kicker{font-weight:800;font-size:10px;letter-spacing:1.8px;color:#298d7e}.page-heading h1{font-size:29px;letter-spacing:-.8px;margin:7px 0 8px;color:#193247}.page-heading p{font-size:13px;color:#7b8c96;margin:0}.button{border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;white-space:nowrap;font-size:13px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s}.button:active,.icon-button:active{transform:translateY(1px)}.button.primary{background:#1b7d70;color:#fff;box-shadow:0 5px 14px rgba(24,112,104,.14)}.button.primary:hover{background:#15685e}.button.secondary{background:#ebf7f2;color:#1a7667;border-color:#c5e5da}.button.secondary:hover{background:#d8efe6}.button.subtle{background:white;border-color:#dce5e9;color:#58707e}.button.subtle:hover{background:#f6fafb}.heading-action{min-width:124px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.stat-card{background:white;border:1px solid #e4ebee;border-radius:13px;padding:17px 20px;display:flex;align-items:center;gap:15px;min-height:90px;box-shadow:0 5px 22px rgba(31,71,84,.025)}.stat-icon{width:44px;height:44px;border-radius:12px;background:#eaf5f1;color:#247e70;display:grid;place-items:center;font-size:21px;font-weight:700;flex:none}.stat-card:nth-child(2) .stat-icon{background:#eaf2f8;color:#4c86a9}.stat-card:nth-child(3) .stat-icon{background:#f7f2e7;color:#ae8540}.stat-card:nth-child(4) .stat-icon{background:#f3eefd;color:#8a69ab}.stat-label{font-size:11px;color:#8a9ba5;font-weight:650}.stat-value{font-size:24px;font-weight:800;line-height:1.2;margin-top:5px;color:#1e3445}.stat-value small{font-size:12px;color:#97a6af;font-weight:500;margin-left:3px}.schedule-panel{background:#fff;border:1px solid #e2e9ed;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(28,60,75,.035)}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;gap:12px}.period-controls,.toolbar-actions{display:flex;align-items:center;gap:9px}.period-controls h2{font-size:17px;margin:0 9px 0 4px;min-width:160px;color:#263b49;letter-spacing:-.3px}.icon-button{width:31px;height:31px;border:1px solid #dce5e9;background:white;color:#5d737e;border-radius:8px;font-size:24px;line-height:24px;display:grid;place-items:center;padding:0 0 3px}.icon-button:hover{background:#f2f7f8}.today-button{padding:7px 12px;font-size:12px}.view-switch{display:flex;background:#eef3f4;padding:3px;border-radius:9px}.view-switch button{border:0;background:transparent;color:#7c919c;font-weight:700;font-size:12px;padding:7px 14px;border-radius:7px}.view-switch button.active{background:#fff;color:#1f776c;box-shadow:0 2px 7px rgba(20,55,66,.12)}.filter-bar{display:flex;align-items:end;gap:10px;padding:12px 19px 15px;border-top:1px solid #eef2f4;border-bottom:1px solid #e8eef0;background:#fbfcfd}.filter-bar label{font-size:10px;color:#8a9ba3;display:grid;gap:5px;font-weight:700}.filter-bar select{min-width:135px;max-width:210px;border:1px solid #dce6e8;border-radius:7px;padding:8px 28px 8px 10px;background:#fff;color:#536d79;font-size:12px;outline:0}.filter-bar select:focus{border-color:#68b1a2}.text-button{border:0;background:transparent;color:#258778;font-weight:700;font-size:12px;padding:8px 3px}.text-button:hover{text-decoration:underline}.filter-hint{margin-left:auto;font-size:11px;color:#a1adb4;align-self:center}.calendar-desktop{overflow:auto}.calendar-inner{min-width:970px}.week-block+.week-block{border-top:4px solid #f0f4f5}.calendar-grid{display:grid;grid-template-columns:132px repeat(7,minmax(0,1fr))}.day-head{background:#f7fafb;border-bottom:1px solid #e6edef;border-right:1px solid #ebf0f2;padding:11px 10px;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:4px;color:#748b97;font-size:11px;font-weight:650}.day-head:last-child{border-right:0}.day-head.today .day-number{background:#1c8074;color:white}.day-head.outside{color:#b9c4c9}.day-number{width:25px;height:25px;border-radius:7px;display:inline-grid;place-items:center;color:#344e5d;font-weight:800;font-size:12px}.day-head.outside .day-number{color:#b9c4c9}.day-head .weekday{white-space:nowrap}.corner-head{font-size:11px;color:#859ba5;font-weight:700}.room-label{padding:14px 13px;border-right:1px solid #e8eef0;border-bottom:1px solid #e8eef0;background:#fcfdfd;display:flex;flex-direction:column;justify-content:flex-start;gap:6px}.room-name{font-size:11px;font-weight:800;color:#425f6c;line-height:1.4}.room-location{font-size:10px;color:#a3b2b9}.room-label .room-indicator{width:6px;height:6px;background:#69b6a8;border-radius:2px;display:inline-block;margin-right:5px;vertical-align:1px}.room-label.room-hz .room-indicator{background:#518faf}.room-label.room-lv .room-indicator{background:#aa91c1}.calendar-cell{border-right:1px solid #e8eef0;border-bottom:1px solid #e8eef0;padding:6px;min-height:106px;display:flex;flex-direction:column;gap:4px;position:relative;background:#fff}.calendar-cell:last-child{border-right:0}.calendar-cell.outside{background:#fafcfc}.calendar-cell.today{background:#f7fcfa}.calendar-cell:hover{background:#f9fcfb}.calendar-cell.week-cell{min-height:182px}.calendar-cell.empty{justify-content:center;align-items:center}.cell-add{display:none;border:1px dashed #c6dcd8;color:#5c9a8f;background:#f8fcfa;font-size:16px;border-radius:7px;width:27px;height:27px;line-height:1}.calendar-cell:hover .cell-add,.calendar-cell:focus-within .cell-add{display:block}.empty .cell-add{display:block;opacity:.6}.empty .cell-add:hover{opacity:1}.event-chip{display:block;width:100%;border:1px solid #d7eae4;border-left:3px solid #43a693;background:#edf8f3;text-align:left;border-radius:6px;padding:5px 6px;color:#2b665a;overflow:hidden;min-height:38px}.event-chip:hover{background:#dff2e9}.event-chip.hold{background:#edf4f8;border-color:#d7e6ee;border-left-color:#69a3c3;color:#446e82}.event-chip.cancelled{background:#f4f5f6;border-color:#e4e8ea;border-left-color:#adb8bd;color:#9ba9af;text-decoration:line-through}.event-time{font-size:9px;opacity:.78;font-weight:800;white-space:nowrap}.event-title{font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.event-meta{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8;margin-top:2px}.more-events{background:transparent;border:0;color:#388c7c;font-size:10px;font-weight:800;padding:2px 3px;text-align:left}.more-events:hover{text-decoration:underline}.calendar-footer{display:flex;justify-content:space-between;gap:10px;padding:14px 2px;color:#9aabb2;font-size:11px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin:0 4px 0 12px}.legend-dot:first-child{margin-left:0}.legend-course{background:#50ab97}.legend-hold{background:#70a7c6}.legend-cancelled{background:#bbc4c8}.calendar-mobile{display:none}.entry-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.9fr);align-items:start;gap:20px}.entry-side{display:grid;gap:18px}.form-card{background:#fff;border:1px solid #e3ebee;border-radius:14px;padding:24px 26px;box-shadow:0 8px 28px rgba(28,60,75,.035)}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.card-heading h2{font-size:19px;margin:5px 0 0;color:#213d4c}.required-hint{font-size:11px;color:#a2adb2}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f1f5f6;border-radius:9px;padding:5px;margin-bottom:23px}.type-toggle button{border:0;background:transparent;padding:10px;color:#718692;font-weight:750;font-size:13px;border-radius:7px}.type-toggle button.active{background:white;color:#1f7d6d;box-shadow:0 2px 8px rgba(35,78,91,.1)}.field{display:grid;gap:7px;margin-bottom:18px;min-width:0}.field label,.room-fieldset legend{color:#425e6b;font-size:12px;font-weight:750}.field em,.room-fieldset em{font-style:normal;color:#e17b66}.field input,.field select,.field textarea{width:100%;border:1px solid #dce6e9;border-radius:8px;background:#fff;color:#254150;padding:11px 12px;outline:0;font-size:13px;min-height:42px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#75baa9;box-shadow:0 0 0 3px #e8f6f1}.field input::placeholder,.field textarea::placeholder{color:#b5c0c6}.field textarea{resize:vertical;min-height:80px;line-height:1.6}.field small,.room-fieldset small{font-size:11px;color:#9cabb3;line-height:1.4}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.room-fieldset{border:0;padding:0;margin:0 0 19px}.room-fieldset legend{margin-bottom:9px}.room-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:7px}.room-choice{border:1px solid #dce7e9;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 9px;min-height:48px;color:#607781;font-size:11px;font-weight:650;line-height:1.3}.room-choice:has(input:checked){border-color:#78bba9;background:#f0faf5;color:#217a69}.room-choice input{accent-color:#228578;margin:0;flex:none}.form-message{border-radius:9px;background:#fff2ec;border:1px solid #f4cabb;color:#9d4938;padding:11px 13px;font-size:12px;line-height:1.6;margin-bottom:15px}.form-message.warning{background:#fff8e8;border-color:#efd9a4;color:#89661b}.form-actions{display:flex;justify-content:space-between;border-top:1px solid #edf1f2;padding-top:20px;margin-top:4px}.camp-card .card-heading{margin-bottom:19px}.count-pill{background:#ecf5f2;color:#27826f;padding:4px 8px;border-radius:50px;font-size:11px;font-weight:750}.camp-form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:-3px}.camp-list-heading{margin-top:24px;padding-top:18px;border-top:1px solid #ebf0f1;color:#8598a1;font-size:11px;font-weight:800;letter-spacing:.6px}.camp-list{display:grid;gap:8px;margin-top:10px}.camp-item{border:1px solid #e8eef0;border-radius:9px;padding:12px 13px;display:flex;justify-content:space-between;gap:8px;background:#fcfdfd}.camp-item strong{display:block;color:#324d5a;font-size:12px;line-height:1.45}.camp-item small{display:block;color:#98a9b1;font-size:10px;margin-top:5px}.camp-item button{border:0;background:transparent;color:#378f7f;font-size:11px;font-weight:700;padding:2px;align-self:flex-start}.camp-item button:hover{text-decoration:underline}.info-card{display:flex;gap:12px;background:#eaf5f2;border:1px solid #d3e9e2;border-radius:12px;padding:16px;color:#346a60}.info-card strong{font-size:12px}.info-card p{font-size:11px;line-height:1.7;margin:5px 0 0;color:#5a8e81}.info-icon{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#4ba28d;color:#fff;font-size:12px;font-weight:800;flex:none}.overlay{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end}.overlay-backdrop{position:absolute;inset:0;background:rgba(9,26,37,.42)}.detail-drawer{width:min(480px,100vw);height:100%;background:#fff;position:relative;z-index:1;box-shadow:-12px 0 35px rgba(18,45,59,.15);overflow:auto;padding:30px}.drawer-close{position:absolute;right:24px;top:20px;width:32px;height:32px;border-radius:8px;background:#f0f4f5;border:0;color:#667c85;font-size:25px;line-height:1}.detail-eyebrow{font-size:11px;color:#278878;font-weight:800;letter-spacing:1.3px;margin-top:16px}.detail-drawer h2{font-size:24px;margin:13px 0 13px;color:#20394a;line-height:1.35;padding-right:32px}.detail-status{display:inline-block;padding:5px 9px;background:#eaf7ef;color:#338365;border-radius:40px;font-weight:800;font-size:11px}.detail-status.cancelled{background:#f0f2f3;color:#9ba8af}.detail-status.hold{background:#eaf3f7;color:#5e90a8}.detail-camp{margin-top:25px;background:#f5f9f9;border:1px solid #e6eeee;border-radius:10px;padding:15px}.detail-camp small{display:block;color:#9aaeb5;font-size:10px;font-weight:700}.detail-camp strong{display:block;color:#345466;font-size:14px;margin-top:5px}.detail-camp p{margin:6px 0 0;color:#7e969f;font-size:11px}.detail-section{border-bottom:1px solid #edf1f2;padding:19px 0;display:grid;gap:13px}.detail-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6}.detail-row span:first-child{color:#8da0a9;flex:none}.detail-row strong{font-weight:700;color:#36515f;text-align:right}.detail-description{white-space:pre-wrap;line-height:1.7;color:#516d78;font-size:12px}.detail-actions{display:flex;gap:9px;margin-top:25px;flex-wrap:wrap}.detail-empty{color:#9babb1;font-size:12px}.list-entry{width:100%;border:1px solid #e2eded;background:#f9fcfb;border-radius:9px;padding:12px;text-align:left;color:#355866;display:grid;gap:5px;margin-top:9px}.list-entry strong{font-size:12px}.list-entry small{color:#8198a2;font-size:11px}.modal-overlay{justify-content:center;align-items:center}.warning-modal{z-index:1;position:relative;background:white;width:min(420px,calc(100vw - 30px));border-radius:15px;padding:28px;box-shadow:0 20px 60px rgba(10,36,49,.2)}.warning-symbol{width:36px;height:36px;border-radius:50%;background:#fff2d7;color:#b67d0d;font-size:21px;font-weight:800;display:grid;place-items:center}.warning-modal h2{font-size:19px;color:#294654;margin:17px 0 10px}.warning-modal p{font-size:12px;color:#6c8792;line-height:1.8}.warning-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translateX(-50%);background:#163b45;color:#fff;border-radius:9px;padding:11px 17px;font-size:12px;box-shadow:0 10px 27px rgba(17,57,69,.24);max-width:min(90vw,500px);text-align:center}.mobile-day{border-bottom:1px solid #e7eef0;padding:13px 17px}.mobile-day-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.mobile-day-head strong{color:#405b68;font-size:12px}.mobile-day-head.today strong{color:#1c806f}.mobile-add{border:0;background:transparent;color:#2c8a7c;font-size:11px;font-weight:750}.mobile-empty{color:#abb9bf;font-size:11px;padding:8px 0}.mobile-event{width:100%;text-align:left;background:#f1f9f5;border:1px solid #dceee5;border-left:3px solid #4ba991;border-radius:7px;padding:9px 11px;margin:4px 0;display:grid;gap:4px;color:#34675b}.mobile-event.hold{background:#f0f6f9;border-color:#dbe9f0;border-left-color:#6ca5c0;color:#4a768a}.mobile-event.cancelled{background:#f6f7f7;border-color:#e5e9eb;border-left-color:#adb9be;color:#9aabb2}.mobile-event strong{font-size:11px}.mobile-event span{font-size:10px;opacity:.85}.mobile-more{border:0;background:transparent;color:#298875;font-size:11px;font-weight:750;padding:8px}.mobile-room-label{font-size:10px;color:#8da1aa;font-weight:750;margin-top:8px}.empty-state{padding:24px;text-align:center;color:#9fb0b7;font-size:12px}
@media(max-width:1180px){.sidebar{width:210px}.page{padding:30px 24px}.topbar{padding:0 24px}.summary-grid{gap:9px}.stat-card{padding:14px}.stat-icon{width:38px;height:38px}}
@media(max-width:880px){.app-shell{display:block}.sidebar{height:auto;width:100%;position:static;padding:12px 17px;display:flex;flex-direction:row;align-items:center;gap:18px}.brand{padding:0;min-width:175px}.brand strong{font-size:14px}.brand small{font-size:7px}.brand-mark{width:29px;height:29px}.sidebar-section-label,.sidebar-note,.sidebar-footer,.sidebar-spacer{display:none}.nav-list{display:flex;gap:4px}.nav-item{padding:8px 11px;font-size:11px;gap:6px}.nav-icon{font-size:15px;width:16px}.topbar{height:43px}.page{padding:25px 20px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-layout{grid-template-columns:1fr}.calendar-desktop{display:none}.calendar-mobile{display:block}.filter-hint{display:none}}

.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 18%,#d6ece9 0,transparent 35%),radial-gradient(circle at 84% 80%,#dce8f2 0,transparent 36%),#f3f6f8}
.login-card{width:min(100%,410px);padding:36px;background:#fff;border:1px solid #e1e9ed;border-radius:22px;box-shadow:0 24px 70px rgba(16,40,59,.12)}
.login-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#10283b;color:#fff;font-size:27px;margin-bottom:25px}
.login-card h1{font-size:26px;color:#10283b;margin:9px 0 8px}
.login-card p{font-size:13px;color:#6c8290;line-height:1.7;margin:0 0 26px}
.login-card label{display:block;font-size:12px;font-weight:700;color:#344e5d;margin-bottom:9px}
.login-card input{width:100%;height:50px;padding:0 16px;border:1px solid #c9d8dd;border-radius:10px;font-size:20px;letter-spacing:.35em;text-align:center}
.login-card .button{width:100%;justify-content:center;margin-top:12px}
.login-message{min-height:23px;margin-top:9px;color:#ae3d43;font-size:12px}
.topbar-logout{border:0;background:transparent;color:#617786;font-size:12px;padding:6px 2px}
.topbar-logout:hover{color:#1d766e}
@media(max-width:600px){.topbar-right{gap:9px}.topbar-right #topbarToday,.topbar-right .prototype-badge{display:none}.login-card{padding:30px 24px}}
@media(max-width:620px){.sidebar{gap:9px;padding:11px 12px}.brand{min-width:auto;gap:7px}.brand small{display:none}.brand strong{font-size:12px}.brand-mark{width:25px;height:25px;border-radius:7px;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:2px}.nav-item{font-size:10px;padding:8px 7px}.topbar{padding:0 16px}.topbar-right{gap:0}.topbar-right #topbarToday{display:none}.page{padding:22px 14px 32px}.page-heading{align-items:start;margin-bottom:19px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px;line-height:1.55}.eyebrow{font-size:9px}.heading-action{min-width:0;padding:9px 10px;font-size:11px}.summary-grid{gap:7px;margin-bottom:15px}.stat-card{min-height:72px;padding:10px;gap:8px;border-radius:9px}.stat-icon{width:31px;height:31px;font-size:15px;border-radius:8px}.stat-label{font-size:9px}.stat-value{font-size:19px}.stat-value small{font-size:9px}.schedule-toolbar{padding:13px;flex-wrap:wrap}.period-controls h2{font-size:14px;min-width:0;margin:0 3px}.icon-button{width:28px;height:28px}.view-switch button{font-size:11px;padding:6px 12px}.filter-bar{padding:10px 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.filter-bar label{min-width:0;font-size:9px}.filter-bar select{min-width:0;width:100%;font-size:10px;padding:7px 17px 7px 5px}.filter-bar .text-button{grid-column:1/-1;justify-self:start;font-size:10px;padding:2px}.calendar-footer{font-size:10px;display:block;line-height:1.8}.calendar-footer>span{display:block}.form-card{padding:20px 16px}.field-row{gap:9px}.room-choices{grid-template-columns:1fr}.room-choice{min-height:39px}.detail-drawer{padding:24px}.form-actions{gap:8px}.form-actions .button{padding:9px 11px;font-size:11px}}
.heading-actions{display:flex;align-items:center;gap:8px}
@media(max-width:620px){.heading-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:116px}.heading-actions .button{font-size:9px;padding:7px 5px}.heading-actions .heading-action{grid-column:1/-1}}
.room-label.room-ci .room-indicator{background:#d88e67}
.room-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.calendar-cell{min-height:158px}
.calendar-cell.week-cell{min-height:188px}
.event-chip{min-height:65px;background:hsl(var(--camp-hue,166) 63% 95%);border-color:hsl(var(--camp-hue,166) 45% 84%);border-left-color:hsl(var(--camp-hue,166) 56% 48%);color:hsl(var(--camp-hue,166) 47% 27%);padding:6px 7px}
.event-chip:hover{background:hsl(var(--camp-hue,166) 65% 90%)}
.event-chip.hold,.event-chip.hold:hover{background:#edf4f8;border-color:#d7e6ee;border-left-color:#69a3c3;color:#446e82}
.event-chip.cancelled{background:hsl(var(--camp-hue,166) 25% 96%);border-color:hsl(var(--camp-hue,166) 22% 85%);border-left-color:hsl(var(--camp-hue,166) 36% 67%);color:hsl(var(--camp-hue,166) 19% 56%);text-decoration:none;opacity:.63}
.event-chip.cancelled .event-title{text-decoration:line-through}
.event-meta,.event-client{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;margin-top:2px}
.event-client{opacity:.82}
.mobile-event{background:hsl(var(--camp-hue,166) 63% 95%);border-color:hsl(var(--camp-hue,166) 45% 84%);border-left-color:hsl(var(--camp-hue,166) 56% 48%);color:hsl(var(--camp-hue,166) 47% 27%)}
.mobile-event.hold{background:#f0f6f9;border-color:#dbe9f0;border-left-color:#6ca5c0;color:#4a768a}
.mobile-event.cancelled{background:hsl(var(--camp-hue,166) 25% 96%);border-color:hsl(var(--camp-hue,166) 22% 85%);border-left-color:hsl(var(--camp-hue,166) 36% 67%);color:hsl(var(--camp-hue,166) 19% 56%);opacity:.65}
.camp-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;margin-top:11px;color:#6c828e;font-size:11px}
.legend-label{font-size:10px;color:#98aab2;font-weight:800;margin-right:2px}
.camp-legend-item{display:inline-flex;align-items:center;gap:6px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camp-swatch{width:10px;height:10px;border-radius:3px;flex:none;background:hsl(var(--camp-hue,166) 56% 48%)}
.mentor-label{background:#f7faf9}
.mentor-cell{cursor:default}
.mentor-empty{color:#c3cfd3;font-size:13px;align-self:center;margin:auto}
.mentor-filter-bar select{min-width:180px}
@media(max-width:620px){.room-choices{grid-template-columns:1fr}.sidebar{flex-wrap:wrap}.nav-list{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nav-item{justify-content:center}.mentor-filter-bar{grid-template-columns:1fr 1fr}.mentor-filter-bar select{min-width:0}.camp-legend{font-size:10px}}
