:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#111a31;padding:26px 16px;color:#fff;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:850;letter-spacing:-1px;color:#8b7cff;margin:8px 10px 32px}.sidebar nav{display:grid;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:#bfc7d8;text-decoration:none;font-weight:650}.nav-link:hover,.nav-link.active{background:#292f69;color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid #27314c;padding:18px 8px 0;display:flex;align-items:center;justify-content:space-between}.sidebar-user small{display:block;color:#8f9ab0;margin-top:3px}.sidebar-user button,.icon-btn{border:0;background:transparent;color:inherit;cursor:pointer}.content{padding:32px;min-width:0}.page-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.page-header h1{margin:0;font-size:34px;letter-spacing:-1px}.page-header p{margin:5px 0 0;color:#64748b}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn{border:1px solid transparent;border-radius:11px;padding:11px 15px;font-weight:750;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.btn.secondary{background:#fff;border-color:#dbe3ef;color:#334155}.wide{width:100%}.card,.room-panel{background:#fff;border:1px solid #e7edf5;border-radius:20px;box-shadow:0 12px 38px #0f172a0f;padding:20px}.search{width:260px;border:1px solid #dbe3ef;background:#fff;border-radius:11px;padding:11px 14px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:13px;border-bottom:1px solid #edf1f7}.data-table th{font-size:13px;color:#64748b}.muted-row{opacity:.55}.badge{display:inline-flex;padding:5px 9px;border-radius:99px;background:#f1f5f9;color:#64748b;font-size:12px}.badge.active{background:#dcfce7;color:#15803d}.link-btn{border:0;background:transparent;color:#4f46e5;font-weight:700;cursor:pointer;margin-right:9px}.link-btn.danger{color:#dc2626}.empty{text-align:center!important;color:#64748b;padding:28px!important}.color-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.color-dot.big{width:18px;height:18px}.overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:10000;padding:20px}.modal{width:min(760px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 100px #0f172a59}.modal-head{padding:23px 25px;border-bottom:1px solid #edf1f7;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:26px}.icon-btn{font-size:28px;color:#64748b}.modal-body{padding:24px}.modal-actions{padding:18px 24px;border-top:1px solid #edf1f7;display:flex;justify-content:flex-end;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.full-label,.login-card label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#334155}.form-grid input,.form-grid select,.full-label textarea,.login-card input{width:100%;border:1px solid #d9e1ec;background:#fff;border-radius:11px;padding:12px 13px;color:#0f172a}.full-label{margin-top:14px}.full-label textarea{min-height:100px;resize:vertical}.form-section{border:1px solid #e7e7fb;background:#fcfcff;border-radius:16px;padding:17px;margin-bottom:16px}.form-section h3{font-size:14px;color:#5b50df;margin:0 0 14px}.mode-switch,.segmented{display:inline-flex;background:#eef1f7;border-radius:11px;padding:3px;margin-bottom:16px}.mode-switch button,.segmented button{border:0;background:transparent;padding:8px 13px;border-radius:8px;cursor:pointer;font-weight:700;color:#64748b}.mode-switch button.active,.segmented button.active{background:#fff;color:#4f46e5;box-shadow:0 2px 9px #0f172a14}.error-box{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:11px 13px;margin-top:15px}.notice{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:12px 15px;margin-bottom:15px;display:flex;justify-content:space-between;cursor:pointer}.rooms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.room-panel{overflow:hidden}.room-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.room-title h2{margin:0;font-size:19px}.room-title small{color:#64748b}.fc{font-size:13px}.fc .fc-timegrid-slot{height:2.1em}.fc .fc-col-header-cell-cushion,.fc a{text-decoration:none;color:#334155}.fc .fc-event{border-radius:7px;padding:2px 4px;border-width:1px;cursor:pointer}.fc .fc-timegrid-now-indicator-line{border-color:#ef4444}.login-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(140deg,#f8fafc,#eef2ff)}.login-card{width:min(430px,94vw);background:#fff;border:1px solid #e3e8f0;border-radius:24px;padding:34px;box-shadow:0 24px 80px #0f172a1c}.login-card h1{margin:0 0 6px}.login-card p{margin:0 0 25px;color:#64748b}.login-card label{margin:13px 0}.login-brand{margin:0 0 28px}.fc-event-title{font-weight:700}@media(max-width:1100px){.rooms-grid{grid-template-columns:1fr}.shell{grid-template-columns:200px 1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-user{display:none}.content{padding:18px}.page-header{display:block}.header-actions{justify-content:flex-start;margin-top:15px}.form-grid,.form-grid.three,.rooms-grid{grid-template-columns:1fr}.search{width:100%}}.weekday-picker{display:flex;gap:8px;flex-wrap:wrap}.weekday-picker button{width:44px;height:40px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#475569;font-weight:800;cursor:pointer}.weekday-picker button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.recurring-gap{margin-top:16px;align-items:end}.series-hint{font-size:13px;color:#64748b;padding:12px 0}.calendar-legend{display:flex;gap:18px;align-items:center;margin:-8px 0 14px;color:#64748b;font-size:13px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.legend-series{background:#7c3aed}.legend-block{background:#64748b}
