@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap";
:root{--mono-font:"JetBrains Mono","SF Mono","Monaco","Inconsolata","Fira Code",monospace;--weeks:20;--col-width:90px;--emp-col:140px;--r-4:4px;--r-6:6px;--r-8:8px;--grad-accent:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan))}:root[data-theme=dark],:root:not([data-theme]){--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--bg-card:#141414;--bg-hover:#1f1f1f;--text-primary:#e4e4e4;--text-secondary:#b8b8b8;--text-muted:#8a8a8a;--border-color:#2a2a2a;--border-light:#333;--accent-blue:#4a9eff;--accent-green:#52d67a;--accent-orange:#ff9b4a;--accent-red:#ff5252;--accent-purple:#b57dff;--accent-yellow:#ffcc4a;--accent-cyan:#4affff;--button-text:#0a0a0a;--toast-success-bg:#52d67a1a;--toast-success-border:#52d67a;--toast-success-text:#52d67a;--toast-error-bg:#ff52521a;--toast-error-border:#ff5252;--toast-error-text:#ff5252;--toast-info-bg:#4a9eff1a;--toast-info-border:#4a9eff;--toast-info-text:#4a9eff;--shadow-sm:0 2px 4px #0006;--shadow-md:0 4px 8px #00000080;--shadow-lg:0 8px 16px #0009;--shadow-glow:0 0 20px #4a9eff26;--row-even:#ffffff08;--row-odd:#00000026;--unavail-a:#ff00000f;--unavail-b:#ff00001f}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#f0f2f5;--bg-card:#fff;--bg-hover:#e9ecef;--text-primary:#1a1a1a;--text-secondary:#495057;--text-muted:#6c757d;--border-color:#dee2e6;--border-light:#ced4da;--accent-blue:#06c;--accent-green:#28a745;--accent-orange:#fd7e14;--accent-red:#dc3545;--accent-purple:#6f42c1;--accent-yellow:#ffc107;--accent-cyan:#17a2b8;--button-text:#fff;--toast-success-bg:#28a7451a;--toast-success-border:#28a745;--toast-success-text:#28a745;--toast-error-bg:#dc35451a;--toast-error-border:#dc3545;--toast-error-text:#dc3545;--toast-info-bg:#0066cc1a;--toast-info-border:#06c;--toast-info-text:#06c;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-glow:0 0 20px #0066cc26;--row-even:#fff;--row-odd:#00000005;--unavail-a:#dc143c1a;--unavail-b:#dc143c2e}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--mono-font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.app-container{background:linear-gradient(180deg,var(--bg-primary)0%,var(--bg-secondary)100%);flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100;padding:0;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;padding:.5rem 2rem;display:flex}.header-right{align-items:center;gap:1rem;display:flex}.header-left,.logo-section{align-items:center;gap:2rem;display:flex}.logo-section{gap:1rem}.logo{letter-spacing:-.02em;background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.logo-subtitle{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:400}.nav-tabs{gap:0;display:flex;overflow:hidden}.nav-tab{white-space:nowrap;cursor:pointer;color:var(--text-muted);font:400 .75rem var(--mono-font);opacity:.7;background:0 0;border:none;align-items:center;gap:.3rem;padding:.4rem .8rem;transition:all .2s;display:flex;position:relative}.nav-tab:hover{color:var(--text-secondary);opacity:1}.nav-tab.active{color:var(--text-primary);opacity:1;font-weight:500}.nav-tab.active:after{content:"";background:var(--accent-blue);height:1px;animation:.3s slideIn;position:absolute;bottom:-8px;left:0;right:0}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.app-content{flex:1;max-width:100%;padding:2rem;overflow-x:hidden}.schedule-layout{grid-template-columns:1fr 420px;gap:2rem;height:calc(100vh - 160px);display:grid}.schedule-layout.consultant-schedule-layout{grid-template-columns:1fr}.schedule-calendar{flex-direction:column;min-height:0;display:flex;overflow:hidden}.calendar-controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-6)var(--r-6)0 0;border-bottom:none;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.controls-left{align-items:center;gap:1rem;display:flex}.date-range-display,.date-range-text{align-items:center;gap:.5rem;display:flex}.date-range-display{color:var(--text-secondary);font-size:.75rem}.date-range-text{font:500 .8rem var(--mono-font)}.start-date,.end-date{color:var(--text-primary);font-size:.8rem;font-weight:600}.date-separator{color:var(--text-muted);font-size:.7rem;font-weight:400}.control-buttons{gap:0;display:flex}.nav-button{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;font:500 .65rem var(--mono-font);background:0 0;align-items:center;gap:.25rem;padding:.25rem .5rem;transition:all .2s;display:flex}.nav-button:first-child{border-radius:var(--r-4)0 0 var(--r-4)}.nav-button:last-child{border-radius:0 var(--r-4)var(--r-4)0}.nav-button:not(:first-child){border-left:none}.nav-button:hover{background:var(--bg-hover);color:var(--text-primary)}.today-button{color:var(--text-primary);background:var(--bg-tertiary);font-weight:600}.today-button:hover{background:var(--accent-blue);color:#fff}.view-controls{gap:0;display:flex}.btn-compact-toggle,.btn-striping-toggle,.btn-orientation-toggle{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;font:500 .7rem var(--mono-font);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:.375rem;padding:.375rem .625rem;transition:all .2s;display:flex}.btn-compact-toggle{border-radius:var(--r-4)0 0 var(--r-4)}.btn-striping-toggle{border-left:none;border-radius:0}.btn-orientation-toggle{border-radius:0 var(--r-4)var(--r-4)0;border-left:none}.btn-compact-toggle:hover,.btn-striping-toggle:hover,.btn-orientation-toggle:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-1px)}.btn-compact-toggle:active,.btn-striping-toggle:active,.btn-orientation-toggle:active{transform:translateY(0)}.color-legend{align-items:center;display:flex}.legend-items{align-items:center;gap:1.5rem;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.legend-color{border-radius:2px;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 1px #ffffff1a}.legend-item span{color:var(--text-secondary);font-size:.8rem;font-weight:500}.calendar-table-wrapper{background:var(--bg-secondary);border-radius:0;flex:1;min-height:0;font-size:.75rem;position:relative;overflow:auto}.calendar-table{border-collapse:collapse;table-layout:fixed;border-radius:0 0 var(--r-6)var(--r-6);width:100%;overflow:visible!important}.calendar-table thead{background:var(--bg-tertiary);z-index:10!important;position:sticky!important;top:0!important}.calendar-header-row{border-bottom:2px solid var(--border-color)}.employee-header-cell,.week-header-cell{background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-right:1px solid var(--border-color);border-bottom:2px solid var(--border-color);padding:.5rem;font-size:.7rem;font-weight:600}.employee-header-cell{text-align:left;width:var(--emp-col);min-width:var(--emp-col);z-index:11;background:var(--bg-tertiary);position:sticky;top:0;left:0}.week-header-cell{width:var(--col-width);min-width:var(--col-width);text-align:center}.week-header-cell:last-child{border-right:none}.week-header-content{flex-direction:column;align-items:center;gap:.25rem;display:flex}.compact-mode .week-header-content{flex-direction:row;justify-content:center;gap:.5rem}.week-label{color:var(--text-muted);margin-top:.25rem;font-size:.65rem;font-weight:400}.compact-mode .week-label{margin-top:0}.calendar-table tbody tr{transition:background .2s}.calendar-table tbody tr:hover{background:#4a9eff0d!important}.employee-row.inactive-row{opacity:.4;background:#0003!important}.employee-row.system-employee-row,.calendar-table.striped .employee-row.system-employee-row{background:linear-gradient(90deg,#ffc83226 0%,#ffc8320d 100%)!important;border-top:2px solid #ffc83280!important;border-bottom:2px solid #ffc83280!important}.employee-header-cell-vertical.system-employee-header{background:linear-gradient(#ffc83226 0%,#ffc8320d 100%)!important;border-left:2px solid #ffc83280!important;border-right:2px solid #ffc83280!important}.employee-row.system-employee-row .employee-cell{background:#ffc83214!important}.week-cell.system-employee-cell,.calendar-table.striped .week-cell.system-employee-cell{border-left:2px solid #ffc8324d;border-right:2px solid #ffc8324d;background:#ffc83214!important}.calendar-table.striped .row-even{background:var(--row-even)}.calendar-table.striped .row-odd{background:var(--row-odd)}.employee-cell{z-index:5;border-right:2px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:0;position:sticky;left:0;background:var(--bg-tertiary)!important}.calendar-table.striped .row-even .employee-cell{background:linear-gradient(var(--row-even),var(--row-even)),var(--bg-tertiary)!important}.calendar-table.striped .row-odd .employee-cell{background:linear-gradient(var(--row-odd),var(--row-odd)),var(--bg-tertiary)!important}.calendar-table.striped .row-even .week-cell{background:var(--row-even)}.calendar-table.striped .row-odd .week-cell{background:var(--row-odd)}.calendar-table.striped .row-even .week-cell:hover,.calendar-table.striped .row-odd .week-cell:hover{background:var(--bg-hover)}.employee-info{flex-direction:column;justify-content:center;height:100%;padding:.75rem;display:flex}.employee-info.compact-info{padding:.375rem .75rem}.employee-name{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.8rem;font-weight:600;display:flex}.compact-info .employee-name{margin-bottom:0}.status-icon{font-size:.9rem}.employee-status{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.week-cell{background:var(--bg-card);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);vertical-align:top;min-height:50px;padding:.25rem;transition:background .2s;position:relative}.week-cell:hover{background:var(--bg-hover)}.week-cell.compact-cell{min-height:35px;padding:.125rem}.week-cell:last-child{border-right:none}.week-cell.company-pto-background,.calendar-table.striped .week-cell.company-pto-background{background:linear-gradient(135deg,#e74c3c26 0%,#e74c3c33 100%)!important}.week-cell.company-pto-background:hover,.calendar-table.striped .week-cell.company-pto-background:hover{background:linear-gradient(135deg,#e74c3c33 0%,#e74c3c40 100%)!important}.week-cell-content{flex-flow:wrap;align-items:flex-start;gap:.25rem;height:100%;display:flex}.week-cell-content>*{flex:calc(50% - .125rem);min-width:0;max-width:calc(50% - .125rem)}.week-cell-content>:first-child:last-child{flex:100%;max-width:100%}.compact-cell .week-cell-content{gap:.125rem}.compact-cell .week-cell-content>*{flex:calc(50% - .0625rem);max-width:calc(50% - .0625rem)}.compact-cell .week-cell-content>:first-child:last-child{flex:100%;max-width:100%}.vertical-view .week-cell{min-height:40px}.vertical-view .week-cell-content{flex-flow:row;align-items:center;gap:.125rem;height:auto}.vertical-view .project-block,.vertical-view .pto-block{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:40px;max-width:150px;padding:.2rem .4rem;font-size:.6rem;overflow:hidden}.week-cell.week-unavailable,.calendar-table.striped .week-cell.week-unavailable,.week-cell.week-unavailable.current-week-cell,.calendar-table.striped .week-cell.week-unavailable.current-week-cell{opacity:.7;background:repeating-linear-gradient(45deg,var(--unavail-a),var(--unavail-a)10px,var(--unavail-b)10px,var(--unavail-b)20px)!important;cursor:not-allowed!important}.week-header-cell-vertical{z-index:11;background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-right:2px solid var(--border-color);border-bottom:2px solid var(--border-color);text-align:left;width:var(--emp-col);min-width:var(--emp-col);padding:.5rem;font-size:.7rem;font-weight:600;position:sticky;top:0;left:0}.employee-header-cell-vertical{z-index:10;background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-right:1px solid var(--border-color);border-bottom:2px solid var(--border-color);width:var(--col-width);min-width:var(--col-width);text-align:center;vertical-align:middle;padding:.5rem;font-size:.7rem;font-weight:600;position:sticky;top:0}.employee-header-cell-vertical:last-child{border-right:none}.employee-info-vertical{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex}.employee-info-vertical.compact-info{gap:.125rem}.employee-name-vertical{color:var(--text-primary);writing-mode:horizontal-tb;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:flex}.employee-name-vertical span{white-space:nowrap;text-overflow:ellipsis;max-width:80px;font-size:.7rem;overflow:hidden}.week-label-cell{z-index:5;border-right:2px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:.5rem .75rem;position:sticky;left:0;background:var(--bg-tertiary)!important}.calendar-table.vertical-view.striped .row-even .week-label-cell{background:linear-gradient(var(--row-even),var(--row-even)),var(--bg-tertiary)!important}.calendar-table.vertical-view.striped .row-odd .week-label-cell{background:linear-gradient(var(--row-odd),var(--row-odd)),var(--bg-tertiary)!important}.week-label-content{flex-direction:column;gap:.25rem;display:flex}.week-row{transition:background .2s}.week-row:hover{background:#4a9eff0d!important}.week-cell.inactive-cell{opacity:.4;background:#0000001a!important}.employee-row.highlighted-row{outline:2px solid var(--accent-blue);outline-offset:-2px;background:#4a9eff26!important}.employee-row.highlighted-row .employee-cell{background:#4a9eff33!important}.employee-row.highlighted-row .week-cell{background:#4a9eff1f!important}.employee-header-cell-vertical.highlighted-column{outline:2px solid var(--accent-blue);outline-offset:-2px;background:#4a9eff4d!important}.week-cell.highlighted-cell{background:#4a9eff1f!important}@keyframes popIn{0%{opacity:0;transform:scale(.8)translateY(10px)}60%{opacity:.8;transform:scale(1.05)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-block,.pto-block{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;cursor:move;color:var(--button-text);border:1px solid #0003;border-radius:3px;padding:.25rem .5rem;font-size:.65rem;font-weight:500;transition:all .2s;position:relative;overflow:visible}.project-block>span,.pto-block>span{text-overflow:ellipsis;display:block;overflow:hidden}.project-block:hover,.pto-block:hover{box-shadow:var(--shadow-sm);z-index:100;overflow:visible;transform:translateY(-1px)}.radix-tooltip-content{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--r-6);z-index:10000;white-space:normal;text-transform:none;letter-spacing:0;min-width:250px;max-width:400px;padding:.75rem;font-size:.85rem;animation-duration:.2s;animation-timing-function:ease;box-shadow:0 4px 20px #00000080}.radix-tooltip-content[data-state=delayed-open]{animation-name:fadeIn}.radix-tooltip-arrow{fill:var(--border-light)}.week-cell,.week-cell-content{overflow:visible!important}.tooltip-title{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.tooltip-section{margin-bottom:.5rem}.tooltip-section:last-child{margin-bottom:0}.tooltip-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem}.tooltip-value{color:var(--text-secondary);white-space:pre-wrap;font-size:.85rem;line-height:1.5}.tooltip-consultants{flex-wrap:wrap;gap:.25rem;display:flex}.tooltip-consultant{background:var(--bg-tertiary);border-radius:var(--r-4);color:var(--text-primary);padding:.25rem .5rem;font-size:.75rem;display:inline-block}.project-block.highlighted,.pto-block.highlighted{border:2px solid var(--accent-yellow);z-index:10;animation:2s ease-in-out calendarHighlightPulse;transform:scale(1.05);box-shadow:0 0 15px #ffcc4a99}.project-dev{background:#4a90e2}.project-research{background:#ff7f00}.project-audit{background:#27ae60}.project-unconfirmed{background:#b8860b80}.project-locked{background:#b8860b}.project-shadow{background:#7f8c8d}.pto-block{background:#e74c3c}.unavailable-block{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;color:var(--button-text);background:#e74c3c;border:1px solid #0003;border-radius:3px;padding:.25rem .5rem;font-size:.65rem;font-weight:500;transition:all .2s;position:relative;overflow:visible}.unavailable-block>span{text-overflow:ellipsis;display:block;overflow:hidden}.vertical-view .unavailable-block{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:40px;max-width:150px;padding:.2rem .4rem;font-size:.6rem;overflow:hidden}.project-sidebar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--r-8);box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.sidebar-search-section{z-index:10;background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:1.5rem 1.5rem 1rem;position:sticky;top:0}.sidebar-content{flex:1;padding:1rem 1.5rem 1.5rem;overflow-y:auto}.sidebar-section{margin-bottom:2rem}.sidebar-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border-color);border-radius:var(--r-4);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.sidebar-section h3:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.project-list{flex-direction:column;gap:.75rem;display:flex}.sidebar-project{cursor:pointer;background:var(--bg-tertiary);border-radius:var(--r-6);border:1px solid var(--border-color);padding:1rem;transition:all .2s;position:relative;overflow:hidden}.sidebar-project.highlighted{border-color:var(--accent-yellow);animation:2s ease-in-out highlightPulse;box-shadow:0 0 20px #ffcc4a66}@keyframes highlightPulse{0%{border-color:var(--accent-yellow);transform:scale(1.02);box-shadow:0 0 20px #ffcc4a99}50%{border-color:var(--accent-yellow);transform:scale(1.03);box-shadow:0 0 30px #ffcc4acc}}@keyframes calendarHighlightPulse{0%{border-color:var(--accent-yellow);transform:scale(1.05);box-shadow:0 0 15px #ffcc4a99}50%{border-color:var(--accent-yellow);transform:scale(1.08);box-shadow:0 0 25px #ffcc4acc}to{border-color:var(--accent-yellow);transform:scale(1.02);box-shadow:0 0 10px #ffcc4a66}to{border-color:var(--accent-yellow);transform:scale(1);box-shadow:0 0 20px #ffcc4a66}}.sidebar-project:before{content:"";width:3px;position:absolute;inset:0 auto 0 0}.sidebar-project.project-dev:before{background:#4a90e2}.sidebar-project.project-research:before{background:#ff7f00}.sidebar-project.project-audit:before{background:#27ae60}.sidebar-project.project-unconfirmed:before{background:#b8860b80}.sidebar-project.project-locked:before{background:#b8860b}.sidebar-project.project-shadow:before{background:#7f8c8d}.sidebar-project:hover{background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:translate(2px)}.project-name{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.project-dates{font:400 .75rem var(--mono-font);color:var(--text-muted);margin-bottom:.5rem}.project-team{color:var(--accent-blue);flex-wrap:wrap;gap:.5rem;font-size:.75rem;display:flex}.team-member{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;padding:.125rem .5rem}.pto-modal{max-width:650px;max-height:90vh;position:relative;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.modal-header h2{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:1.375rem;font-weight:700}.modal-close{background:var(--bg-tertiary);cursor:pointer;width:40px;height:40px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000001a}.modal-close:hover{color:#fff;background:#ef4444;transform:scale(1.1);box-shadow:0 4px 12px #ef44444d}.modal-close:active{transform:scale(.95)}.pto-mode-selector{background:var(--bg-tertiary);border-radius:var(--r-6);border:1px solid var(--border-color);grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:2rem;padding:1rem;display:grid}.mode-button{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:var(--r-4);cursor:pointer;color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.mode-button:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.mode-button.active{background:var(--accent-blue);color:var(--button-text);border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff4d}.mode-button.active:after{content:"";background:#ffffff80;height:2px;position:absolute;bottom:0;left:0;right:0}.pto-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-primary);letter-spacing:.025em;font-size:.875rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);border-radius:var(--r-4);background:var(--bg-secondary);color:var(--text-primary);padding:.875rem;font-size:.875rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-blue);background:var(--bg-primary);outline:none;box-shadow:0 0 0 3px #4a9eff1a}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.employee-checklist{border:1px solid var(--border-color);border-radius:var(--r-6);background:var(--bg-secondary);flex-direction:column;gap:.5rem;max-height:240px;padding:.75rem;display:flex;overflow-y:auto}.employee-checkbox{border-radius:var(--r-4);cursor:pointer;background:var(--bg-primary);border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem;font-size:.875rem;transition:all .2s;display:flex}.employee-checkbox:hover{background:var(--bg-hover);border-color:var(--accent-blue);transform:translate(4px)}.employee-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer;margin:0}.form-help{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--r-4);border-left:3px solid var(--accent-blue);margin:0;padding:1rem;font-size:.875rem;font-style:italic}.eligible-employees{margin-top:.5rem}.employee-list{background:var(--bg-tertiary);border-radius:var(--r-4);border:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem;max-height:200px;padding:.75rem;display:flex;overflow-y:auto}.employee-table-container{flex:1;min-height:0;overflow:auto}.utilization-metrics{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.utilization-item{align-items:center;gap:.25rem;display:flex}.utilization-label{color:var(--text-secondary);font-weight:500}.utilization-value{border-radius:3px;padding:.125rem .375rem;font-weight:600}.utilization-value.high{color:#22c55e;background:#4ade8033}.utilization-value.medium{color:#f59e0b;background:#fbbf2433}.utilization-value.low{color:#ef4444;background:#ef444433}.employee-tag{background:var(--accent-blue);color:#fff;border-radius:var(--r-4);white-space:nowrap;align-items:center;padding:.375rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.employee-tag:hover{background:color-mix(in srgb,var(--accent-blue)85%,black);transform:translateY(-1px);box-shadow:0 2px 4px #4a9eff4d}.modal-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1.5rem;display:flex}.delete-confirm-overlay{border-radius:var(--r-8);background:#000c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.delete-confirm{background:var(--bg-card);border-radius:var(--r-8);border:1px solid var(--border-color);text-align:center;max-width:400px;padding:1.5rem}.delete-confirm h3{color:var(--text-primary);margin:0 0 1rem}.delete-confirm p{color:var(--text-secondary);margin:0 0 1.5rem}.delete-confirm-actions{justify-content:center;gap:.5rem;display:flex}.employee-manager,.project-manager,.pto-manager{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--r-8);box-shadow:var(--shadow-md);padding:2rem}.manager-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.manager-header h2{color:var(--text-primary);letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.header-actions{gap:1rem;display:flex}button{border-radius:var(--r-4);cursor:pointer;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-light);font:500 .85rem var(--mono-font);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;transition:all .2s}button:hover{background:var(--accent-blue);border-color:var(--accent-blue);box-shadow:var(--shadow-md);transform:translateY(-1px)}button:active{transform:translateY(0)}.add-btn{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.add-btn:hover{background:color-mix(in srgb,var(--accent-green)80%,black);border-color:color-mix(in srgb,var(--accent-green)80%,black)}.add-employee-form,.add-project-form,.add-pto-form{background:var(--bg-tertiary);border-radius:var(--r-6);border:1px solid var(--border-color);flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}input[type=text],input[type=date],select,textarea,.modal input{border-radius:var(--r-4);background:var(--bg-secondary);min-width:200px;color:var(--text-primary);border:1px solid var(--border-color);font:400 .9rem var(--mono-font);padding:.75rem;transition:all .2s}input[type=date]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{background:var(--text-secondary);cursor:pointer;opacity:.7;border-radius:2px;transition:opacity .2s}input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1;background:var(--accent-blue)}input[type=text]::placeholder{color:var(--text-muted)}:where(input[type=text],input[type=date],select,textarea,.modal input):focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #4a9eff1a}table{border-collapse:separate;border-spacing:0;border:1px solid var(--border-color);border-radius:var(--r-6);width:100%;overflow:hidden}table th{background:var(--bg-tertiary);text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color);padding:1rem;font-size:.8rem;font-weight:600}table td{background:var(--bg-secondary);color:var(--text-primary);border-bottom:1px solid var(--border-color);padding:1rem}table tr:hover td{background:var(--bg-hover)}table tr:last-child td{border-bottom:none}.status-badge{border-radius:var(--r-4);text-transform:uppercase;letter-spacing:.05em;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-inactive{--status-color:var(--text-muted)}.status-founder{--status-color:var(--accent-purple)}.status-senior{--status-color:var(--accent-blue)}.status-junior{--status-color:var(--accent-green)}.status-intern{--status-color:var(--accent-orange)}.status-inactive,.status-founder,.status-senior,.status-junior,.status-intern{background:color-mix(in srgb,var(--status-color)20%,transparent);color:var(--status-color);border:1px solid var(--status-color)}.project-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--r-6);margin-bottom:1rem;padding:1.5rem;transition:all .2s}.project-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.project-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.project-header h3{color:var(--text-primary);font-size:1rem;font-weight:600}.project-actions{gap:.5rem;display:flex}.project-actions button{padding:.375rem .75rem;font-size:.75rem}.project-details{flex-direction:column;gap:1rem;display:flex}.date-range{color:var(--text-secondary);font:400 .85rem var(--mono-font)}.assigned-employees strong{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.85rem;display:block}.assignment-checkboxes{flex-wrap:wrap;gap:1rem;display:flex}.assignment-checkboxes label{color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.assignment-checkboxes input[type=checkbox]{cursor:pointer;width:16px;height:16px}.assigned-list{flex-wrap:wrap;gap:.5rem;display:flex}.assigned-badge{background:var(--accent-blue);color:#fff;border-radius:var(--r-4);padding:.25rem .75rem;font-size:.8rem;font-weight:500}.employee-manager .header-controls{align-items:center;gap:1rem;display:flex}.employee-manager .utilization-filter-group{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--r-4);gap:0;display:flex;overflow:hidden}.employee-manager .filter-btn{border:none;border-right:1px solid var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:0;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.employee-manager .filter-btn:last-child{border-right:none}.employee-manager .filter-btn:hover{background:var(--bg-hover);color:var(--text-primary);box-shadow:none;transform:none}.employee-manager .filter-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.employee-manager .filter-btn.active:hover{background:color-mix(in srgb,var(--accent-blue)80%,black)}.employee-manager .compact-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.employee-manager .compact-toggle:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.employee-manager.compact-mode table th,.employee-manager.compact-mode table td{padding:.5rem .75rem;font-size:.85rem}.employee-manager.compact-mode .utilization-metrics{gap:.25rem}.employee-manager.compact-mode .utilization-item{font-size:.75rem}.employee-manager.compact-mode .status-badge{padding:.15rem .5rem;font-size:.7rem}.employee-manager.compact-mode button{padding:.35rem .75rem;font-size:.8rem}.employee-manager.compact-mode .calendar-controls button{padding:.25rem .5rem}.employee-manager.compact-mode input[type=text],.employee-manager.compact-mode input[type=date],.employee-manager.compact-mode select{padding:.35rem .5rem;font-size:.85rem}.employee-manager .employee-section{margin-bottom:2.5rem}.employee-manager .employee-section:last-child{margin-bottom:0}.employee-manager .section-title{color:var(--text-primary);border-bottom:2px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600;display:flex}.employee-manager .section-title:before{content:"";background:var(--accent-blue);border-radius:2px;width:4px;height:20px}.employee-manager .employee-section:nth-child(3) .section-title:before{background:var(--accent-orange)}.employee-manager .employee-section:nth-child(4) .section-title:before{background:var(--text-muted)}.employee-manager.compact-mode .section-title{margin-bottom:.75rem;padding-bottom:.35rem;font-size:1rem}.pto-statistics{background:var(--bg-tertiary);border-radius:var(--r-6);border:1px solid var(--border-color);margin-bottom:2rem;padding:1.5rem}.pto-statistics h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1rem;font-weight:600}.stats-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-secondary);border-radius:var(--r-6);border:1px solid var(--border-color);padding:1.25rem}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;display:block}.stat-value{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700}.kanban-board{gap:1.5rem;min-height:60vh;padding:.5rem;display:flex;overflow-x:auto}.kanban-column{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-8);flex-direction:column;min-width:320px;max-width:380px;display:flex}.kanban-column-header{border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--r-8)var(--r-8)0 0;z-index:10;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.kanban-column-header h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.9rem;font-weight:600}.kanban-count{background:var(--bg-primary);color:var(--text-muted);border-radius:var(--r-4);border:1px solid var(--border-color);padding:.25rem .5rem;font-size:.75rem;font-weight:600}.kanban-column-body{flex-direction:column;flex:1;gap:1rem;min-height:200px;padding:1rem;display:flex;overflow-y:auto}.kanban-empty{text-align:center;color:var(--text-muted);border:2px dashed var(--border-color);border-radius:var(--r-6);background:var(--bg-tertiary);padding:2rem;font-size:.875rem;font-style:italic}.kanban-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--r-6);cursor:grab;padding:1rem;transition:all .2s;position:relative}.kanban-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kanban-card:active{cursor:grabbing}.kanban-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.kanban-card-header h4{color:var(--text-primary);flex:1;margin:0;font-size:.9rem;font-weight:600;line-height:1.3}.kanban-card-actions{opacity:0;gap:.25rem;transition:opacity .2s;display:flex}.kanban-card:hover .kanban-card-actions{opacity:1}.btn-icon{border-radius:var(--r-4);background:var(--bg-hover);border:1px solid var(--border-color);width:28px;min-width:auto;height:28px;color:var(--text-secondary);text-transform:none;letter-spacing:0;justify-content:center;align-items:center;padding:.25rem;font-size:0;transition:all .2s;display:flex}.btn-icon:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);transform:translateY(-1px)}.btn-icon.btn-save:hover{background:var(--accent-green);border-color:var(--accent-green)}.btn-icon.btn-delete:hover{background:var(--accent-red);border-color:var(--accent-red)}.kanban-card-body{flex-direction:column;gap:.5rem;display:flex}.kanban-card-badges{flex-wrap:wrap;gap:.5rem;display:flex}.badge{border-radius:var(--r-4);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.65rem;font-weight:600;display:flex}.kanban-card-date{color:var(--text-secondary);font-size:.75rem;font-family:var(--mono-font);align-items:center;gap:.375rem;display:flex}.kanban-card-team{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.kanban-card-edit{flex-direction:column;gap:.75rem;display:flex}.kanban-card-edit input,.kanban-card-edit select{border-radius:var(--r-4);background:var(--bg-secondary);border:1px solid var(--border-color);min-width:auto;color:var(--text-primary);padding:.5rem;font-size:.8rem}.kanban-card-edit .assignment-checkboxes{background:var(--bg-secondary);border-radius:var(--r-4);border:1px solid var(--border-color);flex-direction:column;gap:.5rem;max-height:120px;padding:.5rem;display:flex;overflow-y:auto}.kanban-card-edit .assignment-checkboxes label{color:var(--text-primary);gap:.5rem;font-size:.75rem}.add-project-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--r-8);margin-bottom:1.5rem;padding:1.5rem}.add-project-form h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:1rem;font-weight:600}.form-grid{grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-grid input,.form-grid select{min-width:auto}.checkbox-grid{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--r-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;max-height:120px;padding:.75rem;display:grid;overflow-y:auto}.checkbox-grid label{color:var(--text-primary);border-radius:var(--r-4);align-items:center;gap:.5rem;padding:.25rem;font-size:.8rem;transition:background .2s;display:flex}.checkbox-grid label:hover{background:var(--bg-hover)}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.btn-primary{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.btn-primary:hover{background:color-mix(in srgb,var(--accent-green)85%,black);border-color:color-mix(in srgb,var(--accent-green)85%,black)}.btn-secondary{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-light);color:var(--text-primary)}@media (max-width:1400px){.schedule-layout{grid-template-columns:1fr}.project-sidebar{display:none}}@media (max-width:768px){.kanban-board{flex-direction:column;gap:1rem}.kanban-column{min-width:auto;max-width:none}.form-grid,.checkbox-grid{grid-template-columns:1fr}}.btn-primary:hover{background:color-mix(in srgb,var(--accent-blue)85%,black);border-color:color-mix(in srgb,var(--accent-blue)85%,black);transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff4d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--r-4);cursor:pointer;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{color:#fff;border-radius:var(--r-4);cursor:pointer;background:#ef4444;border:1px solid #ef4444;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-danger:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-danger:active{transform:translateY(0)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--r-8);border:1px solid var(--border-color);min-width:450px;box-shadow:var(--shadow-lg);padding:2rem;animation:.3s slideUp}.modal h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.modal p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.modal input{width:100%;margin-bottom:1.5rem}.modal-actions{justify-content:flex-end;gap:1rem;display:flex}.modal-actions button{padding:.625rem 1.25rem}.modal-actions button:first-child{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.modal-actions button:first-child:hover{background:color-mix(in srgb,var(--accent-blue)80%,black);border-color:color-mix(in srgb,var(--accent-blue)80%,black)}.modal-actions button:first-child:disabled{background:var(--text-muted);border-color:var(--text-muted);cursor:not-allowed;opacity:.5}.modal-actions button:last-child{border-color:var(--border-light);color:var(--text-secondary);background:0 0}.modal-actions button:last-child:hover{background:var(--bg-hover);color:var(--text-primary)}.loading-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading{font:500 1.25rem var(--mono-font);color:var(--accent-blue);letter-spacing:.05em;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--r-4)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.text-muted{color:var(--text-muted)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.mt-1,.mt-2,.mt-3,.mt-4{margin-top:calc(var(--spacing,1)*.5rem)}.mt-2{--spacing:2}.mt-3{--spacing:3}.mt-4{--spacing:4}.mb-1,.mb-2,.mb-3,.mb-4{margin-bottom:calc(var(--spacing,1)*.5rem)}.mb-2{--spacing:2}.mb-3{--spacing:3}.mb-4{--spacing:4}.gap-1,.gap-2,.gap-3,.gap-4{gap:calc(var(--spacing,1)*.5rem)}.gap-2{--spacing:2}.gap-3{--spacing:3}.gap-4{--spacing:4}.toast-container{z-index:2147483647;pointer-events:none;isolation:isolate;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{border-radius:var(--r-8);background:var(--bg-card);box-shadow:var(--shadow-lg);pointer-events:auto;z-index:1;border:1px solid;align-items:center;gap:10px;min-width:300px;max-width:500px;padding:12px 16px;animation:.3s slideIn;display:flex;position:relative}.toast-success{background:var(--toast-success-bg);border-color:var(--toast-success-border);color:var(--toast-success-text)}.toast-error{background:var(--toast-error-bg);border-color:var(--toast-error-border);color:var(--toast-error-text)}.toast-info{background:var(--toast-info-bg);border-color:var(--toast-info-border);color:var(--toast-info-text)}.toast-icon{justify-content:center;align-items:center;display:flex}.toast-message{flex:1;font-size:14px;font-weight:500}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:opacity .2s;display:flex}.toast-close:hover{opacity:1}.error-boundary-fallback{text-align:center;color:var(--text-primary);padding:40px}.error-boundary-fallback h2{color:var(--accent-red);margin-bottom:20px}.error-boundary-fallback details{background:var(--bg-secondary);border-radius:var(--r-8);text-align:left;font-family:var(--mono-font);color:var(--text-muted);margin-top:20px;padding:20px;font-size:12px}.error-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.error{text-align:center;color:var(--text-primary)}.error h2{color:var(--accent-red);margin-bottom:10px}.error p{color:var(--text-secondary)}.consultant-edit-row,.consultant-edit-section{background:var(--bg-secondary);border-radius:var(--r-6);flex-direction:column;gap:.5rem;margin-bottom:.5rem;padding:.75rem;display:flex}.consultant-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.consultant-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.consultant-dates{align-items:center;gap:.5rem;margin-left:1.5rem;display:flex}.consultant-actions{gap:.5rem;margin-top:.25rem;margin-left:1.5rem;display:flex}.button-small{align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.875rem;display:flex}.consultant-gcal-controls{border-radius:var(--r-4);background:#ffffff0d;align-items:center;gap:.5rem;min-height:30px;margin-top:.5rem;padding:.25rem;display:flex!important}.gcal-linked-controls,.gcal-broken-controls{align-items:center;gap:.5rem;display:flex}.gcal-status{align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.gcal-status.gcal-linked{color:var(--accent-green)}.gcal-status.gcal-broken{color:var(--accent-orange)}.button-gcal{border-radius:var(--r-4);cursor:pointer;align-items:center;gap:.25rem;font-weight:500;transition:all .2s;background:var(--accent-blue)!important;color:var(--button-text)!important;border:none!important;min-height:auto!important;padding:.25rem .5rem!important;font-size:.7rem!important;display:flex!important}.button-gcal:hover{background:var(--accent-cyan);transform:translateY(-1px)}.button-gcal-danger{background:var(--accent-red);color:var(--button-text);border-radius:var(--r-4);cursor:pointer;border:none;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:500;transition:all .2s;display:flex}.button-gcal-danger:hover{background:#ff6b6b;transform:translateY(-1px)}.button-small{padding:.2rem .4rem;font-size:.65rem}.button-small svg{width:10px;height:10px}.header-auth{align-items:center;gap:.75rem;display:flex}.google-auth-button{border-radius:var(--r-6);cursor:pointer;border:none;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.google-auth-button.connect{background:var(--accent-blue);color:var(--button-text)}.google-auth-button.connect:hover{background:var(--accent-cyan);transform:translateY(-1px)}.google-auth-button.disconnect{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.google-auth-button.disconnect:hover{background:var(--accent-red);color:var(--button-text);border-color:var(--accent-red)}.google-auth-container{align-items:center;gap:.5rem;display:flex}.google-auth-info{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.auth-email{font-family:var(--mono-font);color:var(--text-muted)}.google-auth-loading{color:var(--text-muted);align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.calendar-controls{align-items:center;gap:.5rem;display:flex}.calendar-toggle{border-radius:var(--r-4);cursor:pointer;border:none;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:500;transition:all .2s;display:flex}.calendar-toggle.enabled{background:var(--accent-green);color:var(--button-text)}.calendar-toggle.enabled:hover{background:#10b981;transform:translateY(-1px)}.calendar-toggle.disabled{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.calendar-toggle.disabled:hover{background:var(--accent-blue);color:var(--button-text);border-color:var(--accent-blue)}.calendar-toggle:disabled{opacity:.5;cursor:not-allowed}.calendar-links{align-items:center;gap:.25rem;display:flex}.copy-button,.view-button{border-radius:var(--r-3);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.25rem;text-decoration:none;transition:all .2s;display:flex}.copy-button:hover,.view-button:hover{background:var(--accent-blue);color:var(--button-text);transform:translateY(-1px)}.current-week-header{position:relative;background:var(--accent-blue)!important;color:#fff!important}.current-week-header:before{content:"";background:linear-gradient(135deg,var(--accent-blue)0%,#4a9effcc 100%);z-index:1;position:absolute;inset:0}.current-week-header>*{z-index:2;position:relative}.current-week-cell{border-left:3px solid var(--accent-blue);border-right:3px solid var(--accent-blue);background:#4a9eff14!important}.current-week-row{background:#4a9eff0d!important}.current-week-row .current-week-cell{border-top:3px solid var(--accent-blue);border-bottom:3px solid var(--accent-blue);border-left:none;border-right:none;background:#4a9eff1f!important}.calendar-table.striped .current-week-cell{background:#4a9eff1f!important}
