@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-base:#0a0a0f;--bg-surface:#12121a;--bg-elevated:#1a1a26;--bg-hover:#22223a;--bg-glass:#ffffff0a;--bg-glass-hover:#ffffff12;--border:#ffffff14;--border-hover:#ffffff26;--border-focus:#6366f199;--text-primary:#f0f0f8;--text-secondary:#a0a0c8;--text-muted:#6868a0;--accent:#6366f1;--accent-glow:#6366f14d;--accent-dim:#6366f126;--success:#10b981;--success-dim:#10b98126;--warning:#f59e0b;--warning-dim:#f59e0b26;--danger:#ef4444;--danger-dim:#ef444426;--fel-color:#6366f1;--sam-color:#f59e0b;--lau-color:#10b981;--mar-color:#ef4444;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--ease:cubic-bezier(.4, 0, .2, 1);--fast:.15s;--mid:.25s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:14px}body{background:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}button{cursor:pointer;font:inherit;background:0 0;border:none}input{font:inherit}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;gap:12px;padding:16px 20px 20px;display:flex;overflow:auto}.app-header{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:50;flex-shrink:0;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;height:54px;padding:0 20px;display:flex}.header-tabs-bar{border-top:1px solid var(--border);align-items:stretch;gap:2px;height:36px;padding:0 20px;display:flex}.logo{align-items:center;gap:8px;display:flex}.logo-icon{filter:drop-shadow(0 0 8px var(--accent-glow));font-size:20px}.logo-text{letter-spacing:-.3px;background:linear-gradient(135deg,#a5b4fc,#6366f1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}.header-center{align-items:center;gap:8px;display:flex}.nav-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-secondary);transition:background var(--fast) var(--ease), color var(--fast) var(--ease);justify-content:center;align-items:center;display:flex}.nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.week-label-wrapper{align-items:center;gap:8px;display:flex}.week-label{color:var(--text-primary);white-space:nowrap;text-align:center;min-width:220px;font-size:13px;font-weight:500}.current-week-badge{text-transform:uppercase;letter-spacing:.6px;color:var(--accent);background:var(--accent-dim);border:1px solid #6366f140;border-radius:99px;padding:2px 7px;font-size:10px;font-weight:600}.today-btn{color:var(--accent);background:var(--accent-dim);border-radius:var(--r-sm);transition:background var(--fast) var(--ease);border:1px solid #6366f133;padding:4px 10px;font-size:12px;font-weight:500}.today-btn:hover{background:#6366f140}.header-right{align-items:center;display:flex}.user-selector{align-items:center;gap:10px;display:flex}.user-selector-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.user-pills{gap:8px;display:flex}.user-pill{border-radius:var(--r-sm);letter-spacing:.3px;height:32px;color:var(--text-secondary);background:var(--bg-glass);border:1px solid var(--border);transition:all var(--fast) var(--ease);padding:6px 14px;font-size:12px;font-weight:600}.user-pill:hover{background:var(--bg-glass-hover);color:var(--text-primary);border-color:var(--border-hover)}.user-pill.active{background:color-mix(in srgb, var(--user-color) 20%, transparent);border-color:color-mix(in srgb, var(--user-color) 50%, transparent);color:var(--user-color);box-shadow:0 0 8px color-mix(in srgb, var(--user-color) 30%, transparent)}.week-view{flex:1;grid-template-columns:repeat(7,1fr);gap:16px;min-height:0;display:grid}.week-loading{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.day-column{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--mid) var(--ease);flex-direction:column;gap:12px;padding:16px 12px;display:flex}.day-column.day-today{background:#6366f10a;border-color:#6366f159}.day-column.day-past{opacity:.55}.day-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;padding:4px 0 8px;display:flex}.day-name{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:10px;font-weight:600}.day-number{color:var(--text-secondary);width:36px;height:36px;transition:background var(--fast) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;line-height:1.1;display:flex}.day-number-today{background:var(--accent);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.day-footer{justify-content:center;align-items:center;gap:5px;height:20px;display:flex}.day-month{color:var(--text-muted);font-size:10px}.day-blocks{flex-direction:column;flex:1;gap:5px;display:flex}.session-block{border-radius:var(--r-md);text-align:left;border:1px solid var(--border);background:var(--bg-glass);min-height:95px;transition:all var(--fast) var(--ease);cursor:pointer;flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;position:relative;overflow:hidden}.session-block:not(:disabled):hover{background:var(--bg-glass-hover);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 4px 16px #0000004d}.session-block:disabled{cursor:default;opacity:.4}.block-free{background:var(--bg-glass)}.block-past{background:0 0}.block-half{background:color-mix(in srgb, var(--warning) 8%, transparent);border-color:color-mix(in srgb, var(--warning) 25%, transparent)}.block-full-100{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.block-full-50{background:color-mix(in srgb, var(--success) 10%, transparent);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.block-open{background:#ffffff05;border-style:dashed}.block-weekend .block-label{color:var(--text-muted)}.block-header{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.block-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.block-label-open{text-transform:none;letter-spacing:0;font-style:italic}.block-time{color:var(--text-muted);white-space:nowrap;font-size:9px}.block-content{flex-direction:column;flex:1;gap:3px;display:flex}.block-badges{flex-direction:column;gap:3px;display:flex}.badge{border-radius:var(--r-sm);white-space:nowrap;align-items:center;gap:6px;width:fit-content;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.badge-fallback{color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a}.badge-small{opacity:.7;padding:2px 5px;font-size:10px}.badge-open{color:var(--text-muted);font-size:10px;font-style:italic}.badge-abbrev{font-size:11px;font-weight:700}.badge-note{opacity:.7;font-size:9px}.badge-reserved{border:1px solid color-mix(in srgb, var(--badge-color) 35%, transparent);background:color-mix(in srgb, var(--badge-color) 15%, transparent);color:color-mix(in srgb, var(--badge-color) 90%, white)}.badge-dot{background:var(--badge-color);border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-pct{opacity:.8;margin-left:2px;font-size:10px}.capacity-bar{border-radius:1px;height:2px;margin-top:auto}.capacity-full{background:linear-gradient(90deg, var(--accent), #818cf8)}.capacity-half{background:linear-gradient(90deg, var(--warning), #fbbf24);width:50%}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fadeIn var(--mid) var(--ease);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:var(--r-xl);width:100%;max-width:460px;max-height:90vh;animation:slideUp var(--mid) var(--ease);overflow-y:auto;box-shadow:0 24px 60px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-primary);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.modal-session{color:var(--text-muted);background:var(--bg-glass);border:1px solid var(--border);border-radius:99px;padding:2px 7px;font-size:11px;font-weight:500}.modal-subtitle{color:var(--text-muted);margin-top:4px;font-size:12px}.modal-close{color:var(--text-muted);border-radius:var(--r-sm);transition:all var(--fast) var(--ease);padding:4px;font-size:16px;line-height:1}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-section{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.modal-section:first-of-type{margin-top:0}.modal-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-size:11px;font-weight:600}.reservation-list{flex-direction:column;gap:6px;display:flex}.reservation-item{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:8px;padding:8px 10px;display:flex}.reservation-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.reservation-name{flex:1;font-size:13px;font-weight:500}.reservation-pct{color:var(--text-muted);background:var(--bg-hover);border-radius:var(--r-sm);padding:2px 6px;font-size:11px}.reservation-source{color:var(--warning);background:var(--warning-dim);border-radius:var(--r-sm);padding:2px 6px;font-size:10px}.btn-cancel-reservation{color:var(--danger);background:var(--danger-dim);border-radius:var(--r-sm);transition:all var(--fast) var(--ease);border:1px solid #ef444433;padding:3px 8px;font-size:11px}.btn-cancel-reservation:hover{background:#ef444440}.modal-priority-info{background:var(--accent-dim);border-radius:var(--r-md);color:var(--text-secondary);border:1px solid #6366f133;align-items:center;gap:10px;margin:0 24px 12px;padding:12px 16px;font-size:13px;display:flex}.priority-icon{font-size:14px}.priority-badge{color:var(--accent);background:#6366f126;border-radius:99px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.modal-warning{background:var(--warning-dim);border-radius:var(--r-md);color:var(--warning);border:1px solid #f59e0b40;margin:0 24px 12px;padding:12px 16px;font-size:13px;line-height:1.4}.usage-options{flex-direction:column;gap:10px;display:flex}.usage-option{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;transition:all var(--fast) var(--ease);flex-direction:column;gap:4px;padding:12px 16px;display:flex}.usage-option:hover:not(.disabled){background:var(--bg-glass-hover);border-color:var(--border-hover)}.usage-option.active{background:var(--accent-dim);border-color:#6366f166}.usage-option.disabled{opacity:.35;cursor:not-allowed}.usage-pct{color:var(--text-primary);font-size:15px;font-weight:700}.usage-desc{color:var(--text-muted);font-size:11px}.form-group{flex-direction:column;gap:5px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.form-input{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);transition:border-color var(--fast) var(--ease);outline:none;padding:9px 12px;font-size:13px}.form-input:focus{border-color:var(--border-focus)}.form-input::placeholder{color:var(--text-muted)}select.form-input,.form-select{background-color:var(--bg-elevated);cursor:pointer}select.form-input option,.form-select option{background-color:var(--bg-elevated);color:var(--text-primary)}.theme-light select.form-input,.theme-light .form-select{background-color:#fff}.theme-light select.form-input option,.theme-light .form-select option{color:#111214;background-color:#fff}.modal-error{background:var(--danger-dim);border-radius:var(--r-md);color:var(--danger);border:1px solid #ef444440;padding:8px 12px;font-size:12px}.modal-full-notice{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);text-align:center;margin:0 20px 16px;padding:10px 12px;font-size:12px}.btn-primary{background:linear-gradient(135deg, var(--accent), #818cf8);color:#fff;border-radius:var(--r-md);width:100%;transition:all var(--fast) var(--ease);box-shadow:0 4px 14px var(--accent-glow);padding:11px 16px;font-size:13px;font-weight:600}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.login-screen{background:var(--bg-base);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-bg-glow{filter:blur(120px);opacity:.15;z-index:0;pointer-events:none;border-radius:50%;width:300px;height:300px;position:absolute}.login-bg-glow-1{background:var(--accent);top:20%;left:20%}.login-bg-glow-2{background:var(--success);bottom:20%;right:20%}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-xl);text-align:center;z-index:10;width:100%;max-width:400px;animation:slideUp var(--mid) var(--ease);padding:40px 32px;position:relative;box-shadow:0 20px 40px #00000080}.login-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:12px;display:flex}.login-logo-icon{filter:drop-shadow(0 0 10px var(--accent-glow));font-size:32px}.login-logo-text{letter-spacing:-.5px;background:linear-gradient(135deg,#a5b4fc,#6366f1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.login-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:13px}.login-divider{background:var(--border);height:1px;margin:24px 0}.login-loader{color:var(--text-secondary);flex-direction:column;align-items:center;gap:16px;display:flex}.google-btn{color:#1f2937;border-radius:var(--r-md);width:100%;transition:all var(--fast) var(--ease);background:#fff;border:1px solid #e5e7eb;justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.google-btn:hover:not(:disabled){background:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 12px #ffffff1a}.google-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{flex-shrink:0}.login-error{background:var(--danger-dim);border-radius:var(--r-md);color:var(--danger);text-align:left;border:1px solid #ef444433;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:12px;display:flex}.login-error-icon{font-size:14px}.login-note{color:var(--text-muted);margin-top:24px;font-size:11px}.user-info{background:var(--bg-glass);border:1px solid var(--border);border-radius:99px;align-items:center;gap:10px;height:38px;padding:4px 8px;display:flex}.user-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:26px;height:26px}.user-avatar-fallback{background:var(--user-color,var(--accent));color:#fff;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-display-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:12px;font-weight:600;overflow:hidden}.logout-btn{width:24px;height:24px;color:var(--text-secondary);transition:all var(--fast) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex}.logout-btn:hover{background:var(--bg-hover);color:var(--danger)}.logged-user-badge{background:color-mix(in srgb, var(--user-color) 12%, transparent);border:1px solid color-mix(in srgb, var(--user-color) 30%, transparent);border-radius:var(--r-md);align-items:center;gap:8px;width:fit-content;margin-top:4px;padding:8px 12px;display:inline-flex}.logged-user-dot{background:var(--user-color);border-radius:50%;width:8px;height:8px}.logged-user-name{color:color-mix(in srgb, var(--user-color) 90%, white);font-size:13px;font-weight:600}.toast-container{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--r-md);animation:toastIn .3s var(--ease);align-items:center;gap:8px;max-width:340px;padding:10px 16px;font-size:13px;font-weight:500;display:flex;box-shadow:0 8px 24px #0006}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-success{background:var(--bg-elevated);color:var(--success);border:1px solid #10b9814d}.toast-error{background:var(--bg-elevated);color:var(--danger);border:1px solid #ef44444d}.toast-icon{font-size:14px;font-weight:700}.error-banner{background:var(--danger-dim);border-radius:var(--r-md);color:var(--danger);border:1px solid #ef444440;padding:10px 14px;font-size:12px}.theme-light{--bg-base:#f0f2f5;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#e4e6ea;--bg-glass:#00000006;--bg-glass-hover:#0000000d;--border:#00000021;--border-hover:#0000003d;--border-focus:#1a73e88c;--text-primary:#111214;--text-secondary:#3c4043;--text-muted:#5f6368;--accent:#1a73e8;--accent-glow:#1a73e840;--accent-dim:#1a73e81a;--success:#1a7a3c;--success-dim:#1a7a3c1a;--warning:#b85000;--warning-dim:#b850001a;--danger:#c5221f;--danger-dim:#c5221f1a}.theme-light body,.theme-light .app{background:var(--bg-base);color:var(--text-primary)}.theme-light .session-block{background:#fff;box-shadow:0 1px 3px #00000012}.theme-light .session-block:not(:disabled):hover{background:#fafbfc;transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.header-tab{color:var(--text-muted);transition:color var(--fast) var(--ease), border-color var(--fast) var(--ease);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 14px;font-size:12px;font-weight:500;display:flex}.header-tab:hover{color:var(--text-primary)}.header-tab-active,.theme-light .header-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.avail-legend{flex-wrap:wrap;gap:12px;padding:8px 0 12px;display:flex}.avail-legend-item{align-items:center;gap:6px;display:flex}.avail-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.avail-legend-label{color:var(--text-secondary);font-size:12px}.avail-view{flex-direction:column;height:100%;display:flex}.avail-grid-container{flex:1;grid-template-columns:repeat(7,1fr);gap:6px;min-height:0;display:grid}.avail-day-column{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;min-height:480px;display:flex;overflow:hidden}.avail-day-today{border-color:#6366f166}.avail-day-weekend{background:var(--bg-elevated)}.avail-day-header{border-bottom:1px solid var(--border);transition:background var(--fast) var(--ease);flex-direction:column;flex-shrink:0;align-items:center;padding:8px 4px 6px;display:flex}.avail-day-header-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;height:20px;display:flex}.avail-day-holiday{background:color-mix(in srgb, var(--warning) 4%, var(--bg-surface));border-color:color-mix(in srgb, var(--warning) 20%, transparent)}.avail-grid{cursor:crosshair;-webkit-user-select:none;user-select:none;flex:1;position:relative}.avail-grid-dragging{cursor:ns-resize}.avail-hour-line{background:#ffffff17;height:1px;position:absolute;left:0;right:0}.avail-hour-line-major{background:#fff3}.avail-hour-label{color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.82;font-size:9px;line-height:1;position:absolute;top:2px;left:4px}.avail-hour-label-major{opacity:1;color:var(--text-primary);font-size:10px;font-weight:700}.avail-drag-preview{pointer-events:none;z-index:5;background:#6366f138;border:1.5px solid #6366f199;border-radius:4px;position:absolute;left:0;right:0}.avail-entry{cursor:pointer;background:color-mix(in srgb, var(--entry-color) 14%, transparent);border:1.5px solid color-mix(in srgb, var(--entry-color) 55%, transparent);min-height:6px;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);border-radius:4px;position:absolute;left:3px;right:3px;overflow:hidden}.avail-entry:hover{background:color-mix(in srgb, var(--entry-color) 26%, transparent);border-color:color-mix(in srgb, var(--entry-color) 80%, transparent)}.avail-entry-other{opacity:.65;z-index:1;left:2px;right:2px}.avail-entry-mine{z-index:2}.avail-entry-label{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;padding:2px 5px;font-size:9px;font-weight:700;display:block;overflow:hidden}.avail-entry-note{opacity:.75;font-weight:400}.avail-entry-removing{color:var(--text-muted);padding:2px 5px;font-size:10px;display:block}.avail-day-past{opacity:.48}.avail-grid-past{cursor:default}.avail-modal{max-width:420px}.avail-time-row{align-items:flex-end;gap:12px;display:flex}.avail-time-sep{color:var(--text-muted);padding-bottom:9px;font-size:13px}.avail-status-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px;display:grid}.avail-status-btn{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);text-align:left;transition:all var(--fast) var(--ease);align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:500;display:flex}.avail-status-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.avail-status-btn.active{background:color-mix(in srgb, var(--status-color) 15%, transparent);border-color:color-mix(in srgb, var(--status-color) 50%, transparent);color:var(--text-primary)}.avail-status-dot{background:var(--status-color);border-radius:50%;flex-shrink:0;width:10px;height:10px}.avail-day-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.avail-day-header-clickable:hover{background:var(--bg-glass-hover)}.avail-day-header-selected{border-bottom:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)!important}.avail-entry-modal{max-width:380px}.avail-entry-modal-title{align-items:center;gap:12px;display:flex}.avail-entry-modal-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.avail-entry-info{gap:10px}.avail-entry-info-row{align-items:baseline;gap:10px;font-size:13px;display:flex}.avail-entry-info-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);flex-shrink:0;min-width:80px;font-size:11px;font-weight:600}.avail-entry-info-value{color:var(--text-primary)}.btn-danger{background:var(--danger-dim);width:100%;color:var(--danger);border-radius:var(--r-md);transition:all var(--fast) var(--ease);border:1px solid #ef444440;padding:10px 16px;font-size:13px;font-weight:600}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444466}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.avail-setup-notice{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-primary);align-items:flex-start;gap:16px;max-width:560px;margin-top:16px;padding:24px 28px;font-size:13px;line-height:1.6;display:flex}.avail-setup-icon{flex-shrink:0;margin-top:2px;font-size:28px}.avail-setup-notice strong{margin-bottom:4px;font-size:14px;display:block}.avail-setup-notice p{color:var(--text-secondary);margin-bottom:8px}.avail-setup-code{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--accent);padding:2px 8px;font-family:monospace;font-size:11px;display:inline-block}.theme-light .avail-day-column{background:#fff;box-shadow:0 1px 3px #00000012}.theme-light .avail-day-weekend{background:#f8f9fb}.theme-light .avail-day-holiday{background:#fffbf0;border-color:#b8500040}.theme-light .avail-day-header-clickable:hover{background:#0000000a}.theme-light .avail-hour-line-major{background:#0000001f}.theme-light .avail-status-btn{color:#555;background:#f5f6fa;border-color:#e2e4ea}.theme-light .avail-status-btn:hover{color:#222;background:#ededf3}.theme-light .day-column{background:#fff;box-shadow:0 1px 4px #0000000f}.theme-light .block-half{background:#fff8f0;border-color:#b8500047}.theme-light .block-full-100{background:#f0f5ff;border-color:#1a73e84d}.theme-light .block-full-50{background:#f0faf4;border-color:#1a7a3c47}.theme-light .block-pending{background:#fffbf0;border-color:#b8500038}.theme-light .badge-reserved{background:color-mix(in srgb, var(--badge-color) 14%, #fff);border:1px solid color-mix(in srgb, var(--badge-color) 38%, transparent);color:color-mix(in srgb, var(--badge-color) 72%, #111214)}.theme-light .badge-fallback{color:var(--text-secondary);background:#f0f2f5;border:1px solid #00000021}.theme-light .badge-pending{color:#b85000;background:#fff3e0;border:1px dashed #b8500059}.theme-light .capacity-full{background:linear-gradient(90deg,#1a73e8,#6b9ff5)}.theme-light .capacity-half{background:linear-gradient(90deg,#b85000,#e07a2f)}.theme-light ::-webkit-scrollbar-thumb{background:#0000002e}.theme-light ::-webkit-scrollbar-thumb:hover{background:#00000047}.theme-toggle{border-radius:var(--r-sm);width:32px;height:32px;transition:background var(--fast) var(--ease);justify-content:center;align-items:center;margin-right:8px;font-size:16px;display:flex}.theme-toggle:hover{background:var(--bg-hover)}.block-pending{background:color-mix(in srgb, var(--warning) 6%, transparent);border-color:color-mix(in srgb, var(--warning) 20%, transparent);border-style:dashed}.badge-pending{color:var(--warning);background:var(--warning-dim);border:1px dashed color-mix(in srgb, var(--warning) 40%, transparent)}.capacity-pending{background:linear-gradient(90deg, var(--warning), #fbbf24);opacity:.6;width:30%}.reservation-item-pending{opacity:.85;border-style:dashed}.reservation-pending-icon{flex-shrink:0;font-size:13px}.modal-pending-notice{background:var(--warning-dim);border-radius:var(--r-md);color:var(--warning);border:1px dashed #f59e0b66;padding:10px 14px;font-size:12px;line-height:1.5}.modal-section-note{color:var(--text-muted);margin-top:-8px;font-size:11px}.day-holiday-col{background:color-mix(in srgb, var(--warning) 4%, var(--bg-surface))}.day-holiday-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--warning);background:var(--warning-dim);border:1px solid #f59e0b40;border-radius:99px;padding:2px 6px;font-size:9px;font-weight:700}.block-holiday{border-color:color-mix(in srgb, var(--warning) 20%, transparent)!important}.modal-warning-holiday{background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger);border-color:#ef444440}.header-right{gap:4px}.header-avail-legend{flex-shrink:1;align-items:center;gap:12px;margin-left:auto;padding:0 16px;display:flex;overflow-x:auto}.header-avail-legend-item{color:var(--text-muted);white-space:nowrap;cursor:default;transition:color var(--fast) var(--ease);align-items:center;gap:5px;font-size:10.5px;font-weight:500;display:flex}.header-avail-legend-item:hover{color:var(--text-secondary)}.header-avail-legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.webhook-test-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-muted);transition:all var(--fast) var(--ease);justify-content:center;align-items:center;display:flex}.webhook-test-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.webhook-test-btn:disabled{cursor:wait}.webhook-test-ok{color:var(--success)!important}.webhook-test-error{color:var(--danger)!important}.webhook-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}.block-current{background:color-mix(in srgb, var(--accent) 12%, transparent);border-style:solid;border-color:#6366f180}.block-current-glow{box-shadow:0 0 0 2px #6366f140,0 4px 16px #6366f126}.theme-light .block-current{background:#eef2ff;border-color:#1a73e873}.block-time{color:var(--text-secondary);font-weight:600;font-size:11px!important}.capacity-partial{background:linear-gradient(90deg, var(--warning), #fbbf24);border-radius:1px;height:2px}.badge-implicit{opacity:.65;border-style:dashed!important}.badge-edited{opacity:.75;font-size:9px}.badge-notes-dot{cursor:default;font-size:9px}.badge-source-tag{background:var(--warning-dim);color:var(--warning);border-radius:4px;padding:1px 4px;font-size:9px}.badge-released{color:var(--success);background:var(--success-dim);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);font-size:10px}.badge-abdicated{color:var(--accent);background:var(--accent-dim);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);font-size:10px}.badge-livre{color:var(--success);background:color-mix(in srgb, var(--success) 8%, transparent);border:1px dashed color-mix(in srgb, var(--success) 40%, transparent);opacity:.85;font-size:10px}.modal-admin-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--warning);background:var(--warning-dim);border:1px solid #f59e0b4d;border-radius:99px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:700}.modal-warning-released{background:var(--success-dim);border-color:color-mix(in srgb, var(--success) 30%, transparent);color:var(--success);justify-content:space-between;align-items:center;gap:10px;display:flex}.btn-undo-release{border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--success) 40%, transparent);color:var(--success);cursor:pointer;opacity:.85;transition:opacity var(--fast);background:0 0;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.btn-undo-release:hover{opacity:1}.btn-undo-release:disabled{opacity:.4;cursor:default}.modal-release-section{flex-direction:column;gap:6px;padding:0 24px 16px;display:flex}.btn-release{background:var(--success-dim);color:var(--success);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);text-align:left;transition:all var(--fast) var(--ease);padding:9px 14px;font-size:12px;font-weight:600}.btn-release:hover:not(:disabled){background:color-mix(in srgb, var(--success) 20%, transparent)}.btn-release:disabled{opacity:.5;cursor:not-allowed}.release-note{color:var(--text-muted);font-size:11px}.reservation-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.reservation-notes{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.reservation-edited{color:var(--text-muted);background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-sm);white-space:nowrap;padding:1px 5px;font-size:9px}.reservation-actions{align-items:center;gap:4px;display:flex}.source-clickup{color:var(--warning);background:var(--warning-dim)}.source-admin{color:var(--danger);background:var(--danger-dim)}.source-released{color:var(--success);background:var(--success-dim)}.source-abdicated{color:var(--accent);background:var(--accent-dim)}.btn-edit-reservation{color:var(--accent);background:var(--accent-dim);border-radius:var(--r-sm);transition:all var(--fast) var(--ease);border:1px solid #6366f133;padding:3px 7px;font-size:11px}.btn-edit-reservation:hover{background:#6366f133}.reservation-edit-form{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:8px;width:100%;margin-top:6px;padding:10px;display:flex}.edit-pct-row{flex-wrap:wrap;gap:6px;display:flex}.edit-pct-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);transition:all var(--fast) var(--ease);padding:4px 10px;font-size:12px;font-weight:600}.edit-pct-btn.active{background:var(--accent-dim);color:var(--accent);border-color:#6366f166}.edit-pct-btn:hover:not(.active){background:var(--bg-glass-hover)}.edit-deadline-note{color:var(--warning);background:var(--warning-dim);border-radius:var(--r-sm);padding:5px 8px;font-size:10px}.edit-actions{gap:8px;display:flex}.usage-grid{flex-wrap:wrap;gap:8px;display:flex}.usage-chip{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);transition:all var(--fast) var(--ease);padding:8px 14px;font-size:14px;font-weight:700}.usage-chip:hover:not(.disabled){background:var(--bg-glass-hover);border-color:var(--border-hover);color:var(--text-primary)}.usage-chip.active{background:var(--accent-dim);color:var(--accent);border-color:#6366f166}.usage-chip.disabled{opacity:.3;cursor:not-allowed}.usage-hint{color:var(--text-muted);margin-top:2px;font-size:11px}.btn-small{width:auto;padding:6px 12px;font-size:12px}.btn-secondary{background:var(--bg-glass);color:var(--text-secondary);border-radius:var(--r-md);border:1px solid var(--border);transition:all var(--fast) var(--ease);padding:6px 12px;font-size:12px;font-weight:500}.btn-secondary:hover{background:var(--bg-glass-hover);color:var(--text-primary)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (width<=900px){.week-view{grid-template-columns:repeat(4,1fr)}}@media (width<=640px){.app-header{flex-wrap:wrap;gap:10px;height:auto;padding:10px 14px}.week-view{grid-template-columns:repeat(2,1fr)}.week-label{min-width:160px;font-size:12px}.user-selector-label{display:none}}.reservation-tag{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:8px;font-weight:700;line-height:1.5}.reservation-item-default{opacity:.78}.reservation-dot-hollow{border:2px solid var(--dot-color,var(--text-muted));box-sizing:border-box;background:0 0!important}.badge-tag-agendada{color:var(--accent);background:var(--accent-dim)}.badge-tag-por-padrao{color:var(--text-muted);background:var(--bg-glass);border:1px solid var(--border)}.badge-tag-edit-admin{color:var(--danger);background:var(--danger-dim)}.badge-resolved{opacity:.85;color:var(--success)!important;background:var(--success-dim)!important;border:1px dashed color-mix(in srgb, var(--success) 40%, transparent)!important}.reservation-item-resolved{opacity:.7}.btn-accept-reservation{color:var(--success);background:var(--success-dim);border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--success) 30%, transparent);transition:all var(--fast) var(--ease);padding:3px 8px;font-size:11px}.btn-accept-reservation:hover{background:color-mix(in srgb, var(--success) 25%, transparent)}.btn-accept-reservation:disabled{opacity:.5;cursor:default}.modal-admin-override-note{color:var(--warning);background:var(--warning-dim);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);border-radius:var(--r-sm);margin-bottom:10px;padding:8px 10px;font-size:12px}.edit-admin-note{color:var(--warning);margin-top:4px;font-size:11px}.admin-toggle{border-radius:var(--r-sm);height:32px;color:var(--text-muted);background:var(--bg-glass);border:1px solid var(--border);transition:all var(--fast) var(--ease);white-space:nowrap;align-items:center;gap:5px;margin-right:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.admin-toggle:hover{background:var(--bg-hover)}.admin-toggle-icon{filter:grayscale();opacity:.6;font-size:14px}.admin-toggle-on{color:var(--warning);background:var(--warning-dim);border-color:color-mix(in srgb, var(--warning) 40%, transparent)}.admin-toggle-on .admin-toggle-icon{filter:none;opacity:1}@media (width<=640px){.admin-toggle-label{display:none}.admin-toggle{padding:0 8px}}
