:root{--primary-color: #4E657B;--primary-dark: #384D63;--primary-light: #C4D1DF;--bg-color: #F4F6F8;--panel-bg: #FFFFFF;--text-color: #2C3E50;--text-muted: #7F8C8D;--border-color: #D3DFEE;--accent-color: #E74C3C;--cat-epc-bg: #E8EAF6;--cat-epc-text: #1A237E;--cat-epc-border: #3F51B5;--cat-tusge-bg: #E0F2F1;--cat-tusge-text: #004D40;--cat-tusge-border: #009688;--cat-maestrias-bg: #FCE4EC;--cat-maestrias-text: #880E4F;--cat-maestrias-border: #E91E63;--cat-cursos-bg: #FFF3E0;--cat-cursos-text: #E65100;--cat-cursos-border: #FF9800;--cat-otros-bg: #FFFDE7;--cat-otros-text: #F57F17;--cat-otros-border: #FFEB3B;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);font-size:13px;line-height:1.4}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background-color:var(--primary-color);color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--primary-dark)}.header-title-section{display:flex;flex-direction:column}.header-title-section h1{font-size:15px;font-weight:700;letter-spacing:.5px}.header-title-section p{font-size:11px;opacity:.85}.header-controls{display:flex;align-items:center;gap:15px}.date-jump-form{display:flex;align-items:center;gap:5px;background:#ffffff1a;padding:3px 8px;border-radius:4px}.date-jump-form label{font-size:11px}.date-jump-form input{padding:2px 5px;border:1px solid var(--primary-light);border-radius:3px;font-size:11px;width:90px;outline:none}.date-jump-btn{background-color:#e2e8f0;color:var(--text-color);border:none;padding:2px 8px;border-radius:3px;font-size:11px;cursor:pointer;font-weight:600}.date-jump-btn:hover{background-color:#cbd5e1}.header-nav{display:flex;gap:5px}.nav-link{background:transparent;color:#fff;border:none;padding:6px 12px;cursor:pointer;font-size:12px;border-radius:4px;text-decoration:none;transition:background .2s}.nav-link:hover,.nav-link.active{background-color:#ffffff26;font-weight:500}.search-container{display:flex;align-items:center;gap:5px}.search-input{padding:3px 8px;border:1px solid var(--primary-light);border-radius:3px;font-size:11px;width:120px}.user-panel{display:flex;align-items:center;gap:10px;font-size:11px}.logout-btn{background-color:#d1d5db;color:#374151;border:none;padding:2px 8px;border-radius:3px;font-size:11px;cursor:pointer}.logout-btn:hover{background-color:#9ca3af;color:#fff}.main-workspace{display:flex;flex:1;overflow:hidden}.app-sidebar{width:260px;background-color:#e9eef4;border-right:1px solid var(--primary-light);padding:15px;display:flex;flex-direction:column;gap:15px;overflow-y:auto;flex-shrink:0}.sidebar-section h3{font-size:12px;text-transform:uppercase;color:var(--primary-dark);margin-bottom:8px;border-bottom:1px solid var(--primary-light);padding-bottom:4px;font-weight:700}.sidebar-menu-list{list-style:none;display:flex;flex-direction:column;gap:2px}.sidebar-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:6px 10px;font-size:12px;color:var(--text-color);cursor:pointer;border-radius:4px;text-decoration:none}.sidebar-menu-item:hover,.sidebar-menu-item.active{background-color:var(--primary-color);color:#fff}.calendar-widgets-container{display:flex;flex-direction:column;gap:15px}.mini-calendar{background:#fff;border:1px solid var(--primary-light);border-radius:6px;padding:8px;box-shadow:0 1px 3px #0000000d}.mini-calendar-header{text-align:center;font-weight:700;font-size:10px;color:var(--primary-dark);margin-bottom:5px;text-transform:capitalize}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.mini-calendar-day-header{font-size:8px;font-weight:700;color:var(--text-muted);padding-bottom:2px}.mini-calendar-day{font-size:9px;padding:3px 0;cursor:pointer;border-radius:3px;color:#374151}.mini-calendar-day:hover{background-color:#e2e8f0}.sidebar-search-result-item:hover{background-color:#f1f5f9}.mini-calendar-day.other-month{color:#d1d5db;cursor:default}.mini-calendar-day.other-month:hover{background:transparent}.mini-calendar-day.active-day{background-color:#f87171;color:#fff;font-weight:700}.mini-calendar-day.today{border:1px solid var(--primary-color);font-weight:700}.content-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#fff}.view-header{padding:12px 20px;border-bottom:1px solid var(--border-color);background-color:#f8fafc;display:flex;justify-content:space-between;align-items:center}.view-header-title h2{font-size:16px;font-weight:700;color:var(--primary-dark)}.view-header-subtitle{font-size:11px;color:var(--text-muted);margin-top:2px}.view-navigation-links{display:flex;gap:10px;font-size:11px}.view-nav-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-weight:600}.view-nav-btn:hover{text-decoration:underline}.current-day-label{font-weight:700;color:var(--text-color)}.schedule-scroll-wrapper{flex:1;overflow:auto;border-bottom:1px solid var(--border-color)}.schedule-table{border-collapse:collapse;width:100%;table-layout:fixed}.schedule-table th,.schedule-table td{border:1px solid var(--primary-light);padding:0;height:24px;font-size:11px;vertical-align:middle}.schedule-table th{background-color:var(--primary-color);color:#fff;font-weight:600;text-align:center;padding:6px;position:sticky;top:0;z-index:10;min-width:120px;box-shadow:0 1px #0000001a}.schedule-table th.corner-cell{position:sticky;top:0;left:0;z-index:12;background-color:var(--primary-dark);min-width:65px;width:65px}.schedule-table td.time-cell{background-color:var(--primary-color);color:#fff;font-weight:700;text-align:center;position:sticky;left:0;z-index:9;width:65px;min-width:65px;cursor:default}.schedule-table td.empty-grid-cell{cursor:pointer;background-color:#fff}.schedule-table td.empty-grid-cell:hover{background-color:#f1f5f9}.booking-block{height:100%;width:100%;padding:6px 8px;text-align:left;font-size:10px;font-weight:500;line-height:1.2;cursor:pointer;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-start;transition:transform .15s,box-shadow .15s;box-shadow:inset 0 -1px #0000000d}.booking-block:hover{transform:scale(1.01);box-shadow:0 2px 6px #0000001a;z-index:8}.booking-title{font-weight:700;font-size:10.5px;margin-bottom:2px;white-space:normal;word-break:break-word}.booking-meta{font-size:9px;opacity:.9;white-space:normal}.booking-close-icon{position:absolute;top:4px;right:4px;font-size:10px;opacity:.6;font-weight:700}.booking-close-icon:hover{opacity:1}.booking-epc{background-color:var(--cat-epc-bg);color:var(--cat-epc-text);border-left:4px solid var(--cat-epc-border)}.booking-tusge{background-color:var(--cat-tusge-bg);color:var(--cat-tusge-text);border-left:4px solid var(--cat-tusge-border)}.booking-maestrias{background-color:var(--cat-maestrias-bg);color:var(--cat-maestrias-text);border-left:4px solid var(--cat-maestrias-border)}.booking-cursos{background-color:var(--cat-cursos-bg);color:var(--cat-cursos-text);border-left:4px solid var(--cat-cursos-border)}.booking-otros{background-color:var(--cat-otros-bg);color:var(--cat-otros-text);border-left:4px solid var(--cat-otros-border)}.legend-panel{padding:10px 20px;background-color:#f8fafc;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:15px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:11px}.legend-color-box{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}.view-footer-nav{padding:10px 20px;background-color:#e2e8f0;border-top:1px solid var(--primary-light);display:flex;flex-direction:column;gap:4px;font-size:11px}.view-footer-nav-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.view-footer-nav-row span.label{font-weight:700;width:80px;color:var(--text-color)}.view-footer-link{color:#1e3a8a;text-decoration:none;cursor:pointer}.view-footer-link:hover{text-decoration:underline}.view-footer-link.active-link{font-weight:700;color:#dc2626}.form-view-container{padding:20px;overflow-y:auto;flex:1}.form-title{font-size:16px;font-weight:700;color:var(--primary-dark);border-bottom:2px solid var(--primary-color);padding-bottom:5px;margin-bottom:15px}.booking-form{max-width:700px;display:flex;flex-direction:column;gap:12px}.form-group{display:grid;grid-template-columns:160px 1fr;align-items:start;gap:10px}.form-group label{font-weight:600;font-size:12px;color:var(--text-color);padding-top:4px}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:5px 8px;border:1px solid #CBD5E1;border-radius:4px;font-family:var(--font-family);font-size:12px}.form-group textarea{height:80px;resize:vertical}.form-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.form-subgroup{display:flex;align-items:center;gap:5px}.form-subgroup input{padding:4px 6px;font-size:12px;border:1px solid #CBD5E1;border-radius:4px}.duration-indicator{font-size:11px;color:var(--text-muted);font-style:italic}.form-instruction{font-size:10.5px;color:var(--text-muted);margin-top:3px}.rooms-multiselect{border:1px solid #CBD5E1;border-radius:4px;height:140px;overflow-y:auto;padding:4px;background:#fff}.rooms-multiselect-option{display:flex;align-items:center;padding:3px 6px;font-size:12px;cursor:pointer;border-radius:3px}.rooms-multiselect-option:hover{background-color:#f1f5f9}.rooms-multiselect-option.selected{background-color:#cbd5e1;font-weight:600}.admin-sub-section{margin-top:25px}.admin-sub-section h3{font-size:14px;font-weight:700;color:var(--primary-dark);border-bottom:1px solid var(--primary-light);padding-bottom:4px;margin-bottom:10px}.admin-table-wrapper{overflow-x:auto;border:1px solid var(--primary-light);border-radius:4px;margin-bottom:15px}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th,.admin-table td{border:1px solid var(--primary-light);padding:6px 10px;text-align:left}.admin-table th{background-color:#f1f5f9;font-weight:700;color:var(--primary-dark)}.admin-table td{background-color:#fff}.admin-table tr:hover td{background-color:#f8fafc}.admin-action-btn{background:none;border:none;cursor:pointer;font-size:13px;margin-right:6px}.admin-action-btn:hover{transform:scale(1.15)}.btn-primary{background-color:var(--primary-color);color:#fff;border:1px solid var(--primary-dark);padding:6px 15px;font-size:12px;font-weight:600;border-radius:4px;cursor:pointer;width:fit-content}.btn-primary:hover{background-color:var(--primary-dark)}.btn-row{display:flex;gap:10px;margin-top:10px}.btn-secondary{background-color:#e2e8f0;color:var(--text-color);border:1px solid #CBD5E1;padding:6px 15px;font-size:12px;font-weight:600;border-radius:4px;cursor:pointer}.btn-secondary:hover{background-color:#cbd5e1}.alert-box{background-color:#fee2e2;border-left:4px solid #EF4444;color:#991b1b;padding:10px;border-radius:4px;font-size:12px;margin-bottom:12px}.grouping-bar{display:flex;align-items:center;gap:8px;margin-bottom:15px}.grouping-bar select{padding:4px 8px;font-size:12px;border:1px solid #CBD5E1;border-radius:4px;min-width:120px}.checkbox-list{display:flex;flex-wrap:wrap;gap:12px}.checkbox-item{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.form-row input[type=date]{width:140px;padding:5px 8px;font-size:12px;border:1px solid #CBD5E1;border-radius:4px;outline:none}.form-row select{width:auto;min-width:180px}.form-row .checkbox-item{margin-left:10px}.color-swatch-preview{display:flex;gap:5px;align-items:center}.swatch-box{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.15)}.admin-layout{display:flex;gap:30px;padding:20px;overflow-y:auto;flex:1}
