.login-split-page{background-color:var(--color-bg-surface);width:100vw;min-height:100vh;display:flex;overflow:hidden}.login-sidebar{background:linear-gradient(135deg, var(--color-text-primary) 0%, var(--color-brand-primary) 100%);color:#fff;flex-direction:column;flex:1.2;padding:4rem;display:flex;position:relative;overflow:hidden}.bg-grid-overlay{z-index:1;background-image:radial-gradient(#ffffff1a 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0}.blob{filter:blur(60px);z-index:0;opacity:.6;border-radius:50%;animation:10s ease-in-out infinite alternate float;position:absolute}.blob-1{background:var(--color-brand-primary);width:400px;height:400px;top:-100px;right:-50px}.blob-2{background:var(--color-bg-elevated);width:300px;height:300px;animation-delay:-2s;bottom:-50px;left:-50px}.blob-3{opacity:.15;background:#fff;width:250px;height:250px;animation-delay:-5s;top:40%;left:20%}@keyframes float{0%{transform:translate(0)scale(1)}to{transform:translate(30px,40px)scale(1.1)}}.sidebar-inner{z-index:10;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.sidebar-header{align-items:center;gap:1rem;display:flex}.sidebar-logo-img{filter:drop-shadow(0 4px 6px #0000001a);width:auto;height:45px}.sidebar-brand-name{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.sidebar-brand-name small{opacity:.8;font-weight:300}.sidebar-content h1{color:#fff;letter-spacing:-.04em;margin-bottom:2rem;font-size:4rem;font-weight:800;line-height:1}.text-highlight{background:linear-gradient(90deg,#fff,#fff6);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.sidebar-content p{opacity:.9;max-width:460px;font-size:1.25rem;font-weight:400;line-height:1.6}.animate-slide-up{animation:.8s cubic-bezier(.16,1,.3,1) forwards slideUp}.delay-1{opacity:0;animation-delay:.2s}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-main{background-color:var(--color-bg-base);flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.login-form-card{width:100%;max-width:460px}.login-header h2{color:var(--color-text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}.login-header p{color:var(--color-text-secondary);margin-bottom:2.5rem;font-size:1rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-field{flex-direction:column;gap:.5rem;display:flex}.input-wrapper{align-items:center;display:flex;position:relative}.field-icon{color:var(--color-text-secondary);transition:color var(--transition-fast);pointer-events:none;position:absolute;left:1rem}.form-input{background:var(--color-bg-base)!important;border:1px solid var(--color-bg-elevated)!important;width:100%!important;height:3.5rem!important;color:var(--color-text-primary)!important;transition:all var(--transition-fast)!important;border-radius:0!important;padding:0 1rem 0 3rem!important;font-size:1rem!important}.form-input:focus{background:var(--color-bg-surface)!important;border-color:var(--color-brand-primary)!important;box-shadow:0 0 0 4px #2854cc1a!important}.input-wrapper:focus-within .field-icon{color:var(--color-brand-primary)}.password-toggle{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;right:1rem}.password-toggle:hover{color:var(--color-brand-primary)}.form-secondary-actions{justify-content:flex-end;margin-top:-.5rem;display:flex}.text-link{color:var(--color-brand-primary);font-size:.875rem;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.login-submit-btn{color:#fff;width:100%;font-weight:600;font-family:var(--font-family-sans);border:none;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;display:flex;position:relative;overflow:hidden;background-color:var(--color-brand-primary)!important;height:3.5rem!important;transition:all var(--transition-normal) cubic-bezier(.4, 0, .2, 1)!important;border-radius:0!important;font-size:1rem!important}.login-submit-btn:hover{cursor:pointer;transform:translateY(-2px);background-color:var(--color-brand-primary-hover)!important;box-shadow:0 10px 20px -5px #2854cc66,0 0 15px #2854cc33!important}.login-submit-btn svg{transition:transform var(--transition-fast) ease-in-out}.login-submit-btn:hover svg{transform:translate(4px)}.login-submit-btn:active{transform:translateY(0)scale(.98);box-shadow:var(--shadow-sm)!important}.login-submit-btn:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%}.login-submit-btn:hover:after{left:100%}.global-error-banner{color:var(--color-accent-danger);border-left:4px solid var(--color-accent-danger);background-color:#fef2f2;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;font-weight:500;border-radius:0!important}.login-footer-text{text-align:center;color:var(--color-text-secondary);margin-top:2.5rem;font-size:.875rem}@media (width<=1024px){.login-sidebar{display:none}.login-main{background-color:var(--color-bg-surface)}}.sidebar{z-index:50;flex-direction:column;flex-shrink:0;width:260px;height:100vh;margin:0;padding:0;display:flex;position:fixed;top:0;left:0;overflow:hidden;background:#1e062d!important;border-right:1px solid #ffffff0d!important;box-shadow:4px 0 24px #0003!important}.sidebar-header{border-bottom:1px solid #ffffff0d;align-items:center;gap:.75rem;height:70px;padding:0 1.5rem;display:flex}.sidebar-logo{object-fit:contain;width:32px;height:32px}.sidebar-brand{color:#fff;letter-spacing:.04em;text-transform:uppercase;font-family:Josefin Sans,sans-serif;font-size:1.125rem;font-weight:700}.sidebar-scrollable{flex:1;padding:1.25rem .75rem;overflow-y:auto}.sidebar-scrollable::-webkit-scrollbar{width:4px}.sidebar-scrollable::-webkit-scrollbar-track{background:0 0}.sidebar-scrollable::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.sidebar-scrollable::-webkit-scrollbar-thumb:hover{background:#fff3}.sidebar-section{margin-bottom:1.75rem}.sidebar-section-title{text-transform:uppercase;color:#fff6;letter-spacing:.05em;margin-bottom:.75rem;padding:0 1rem;font-size:.7rem;font-weight:700}.sidebar-section ul{flex-direction:column;gap:.125rem;list-style:none;display:flex}.nav-link{color:#fff9;transition:all var(--transition-normal) cubic-bezier(.4, 0, .2, 1);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-link-content{align-items:center;gap:.875rem;display:flex}.chevron-icon{opacity:0;transition:all .2s;transform:translate(-4px)}.nav-link:hover{color:#fff;background:#ffffff1a;transform:translateY(-2px);box-shadow:0 8px 16px -4px #00000080,0 0 12px #8013b64d}.nav-link:active{box-shadow:none;transform:translateY(0)scale(.98)}.nav-link:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;position:absolute;top:0;left:-100%}.nav-link:hover:after{transition:all .5s;left:100%}.nav-link:hover .chevron-icon{opacity:.4;transform:translate(0)}.nav-link.active{color:#fff;background:#ffffff1a;font-weight:600;position:relative}.nav-link.active:before{content:"";background:var(--color-brand-primary);border-top-right-radius:4px;border-bottom-right-radius:4px;width:3px;position:absolute;top:20%;bottom:20%;left:0}.nav-link.active .chevron-icon{opacity:1;color:var(--color-brand-primary);transform:translate(0)}.sidebar-footer{background:#0000001a;border-top:1px solid #ffffff0d;flex-direction:column;gap:.25rem;padding:1rem .75rem;display:flex}.logout-btn:hover{color:#ef4444;background:#ef44441a}.topbar{border-bottom:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);box-shadow:none;z-index:99;border-radius:0;justify-content:space-between;align-items:center;margin:0;padding:1rem 2rem;display:flex;position:fixed;top:0;left:260px;right:0}.search-trigger{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);cursor:pointer;width:300px;transition:all var(--transition-fast);color:var(--color-text-secondary);outline:none;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;display:flex}.search-trigger:hover{background:var(--color-bg-surface);border-color:var(--color-brand-primary)}.search-trigger:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.search-trigger-left{align-items:center;gap:.75rem;display:flex}.shortcut-key{background:var(--color-bg-elevated);border:1px solid #0000000d;padding:.125rem .375rem;font-size:.75rem;font-weight:600}.topbar-actions{align-items:center;gap:1.5rem;display:flex}.icon-btn{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;padding:.5rem;position:relative}.icon-btn:hover{background:var(--color-bg-base);color:var(--color-text-primary)}.search-modal .icon-btn{border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.delete-staged-btn{transition:all var(--transition-fast)}.delete-staged-btn:hover{background:#dc35451a!important}.badge{background:var(--color-accent-danger);color:#fff;border:2px solid var(--color-bg-surface);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.search-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:#0006;justify-content:center;padding-top:8vh;display:flex;position:fixed;inset:0}.search-modal{background:var(--color-bg-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-bg-elevated);outline:none;flex-direction:column;width:90%;max-width:600px;height:fit-content;max-height:85vh;display:flex;overflow:hidden}.search-dialog{outline:none;flex-direction:column;display:flex}.search-dialog-header{border-bottom:1px solid var(--color-bg-elevated);align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.search-input-large{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1.125rem}.search-input-large::placeholder{color:var(--color-text-muted)}.esc-key{background:var(--color-bg-base);color:var(--color-text-secondary);cursor:pointer;border:1px solid var(--color-bg-elevated);border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.search-results{background:var(--color-bg-base);padding:2rem}.empty-results{text-align:center;color:var(--color-text-secondary);font-size:.875rem}.search-results-list{flex-direction:column;gap:.5rem;display:flex}.search-result-item{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.search-result-item:hover{border-color:var(--color-brand-primary);background:var(--color-bg-base)}.search-result-content{flex-direction:column;display:flex}.search-result-title{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.search-result-subtitle{color:var(--color-text-secondary);font-size:.75rem}.search-result-type{background:rgb(from var(--color-brand-primary) r g b / .1);color:var(--color-brand-primary);border-radius:4px;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.user-profile{cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:1rem;padding:.25rem .5rem;display:flex}.user-profile:hover{background:var(--color-bg-base)}.avatar{background:var(--color-brand-primary);color:var(--color-text-inverse);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.user-menu-trigger{text-align:left;background:0 0;border:none;outline:none;padding:0;font-family:inherit}.user-menu-trigger:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:4px}.menu-popover{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-xl);z-index:1000;outline:none;min-width:240px;margin-top:12px;overflow:hidden}.user-menu{outline:none;flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.menu-item{color:var(--color-text-primary);cursor:pointer;border-radius:6px;outline:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex;justify-content:flex-start!important}.menu-item svg{color:var(--color-text-secondary);flex-shrink:0;transition:color .15s}.menu-item[data-focused]{background:var(--color-bg-base);color:var(--color-brand-primary)}.menu-item[data-focused] svg{color:var(--color-brand-primary)}.menu-item.danger{color:var(--color-accent-danger);border-top:1px solid var(--color-bg-elevated);border-radius:0 0 6px 6px;margin-top:.25rem;padding-top:.75rem}.menu-item.danger[data-focused]{color:var(--color-accent-danger);background:#ef44440d}.menu-item.danger svg{color:var(--color-accent-danger)}.dashboard-home{background-color:var(--color-bg-base);flex-direction:column;gap:2rem;min-height:100%;padding:2rem;display:flex}.dashboard-header{border-bottom:1px solid var(--color-bg-elevated);justify-content:space-between;align-items:center;padding-bottom:1.5rem;display:flex}.dashboard-header h2{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.dashboard-header p{color:var(--color-text-secondary);font-size:1rem}.quick-actions{gap:1rem;display:flex}.metric-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md,8px);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.metric-header h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:0;font-size:.875rem;font-weight:600}.subtitle{color:var(--color-text-secondary);opacity:.8;margin-top:.125rem;font-size:.75rem}.metric-trend{color:var(--color-text-secondary);align-items:center;gap:.25rem;font-size:.875rem;display:flex}.metric-trend.positive{color:var(--color-accent-success)}.metric-trend.negative{color:var(--color-accent-danger)}.metric-icon{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);border-radius:12px;padding:.75rem}.metric-icon.text-brand{color:var(--color-brand-primary)}.metric-icon.text-info{color:var(--color-accent-info)}.metric-icon.text-warning{color:var(--color-accent-warning)}.metric-icon.text-danger{color:var(--color-accent-danger)}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;display:grid}.chart-card,.content-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md,8px);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.card-heading.header-with-actions{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.chart-select{border:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;border-radius:6px;outline:none;padding:.375rem .75rem;font-size:.875rem;transition:border-color .2s}.chart-select:focus{border-color:var(--color-brand-primary)}.card-heading h3{color:var(--color-text-primary);margin-bottom:0;font-size:1.125rem;font-weight:600}.dashboard-content-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.personnel-leaderboard{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.leaderboard-item{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background .2s;display:flex}.leaderboard-item:hover{background:var(--color-bg-elevated)}.item-left{align-items:center;gap:1rem;display:flex}.rank{background:var(--color-brand-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.name-box{flex-direction:column;display:flex}.person-name{color:var(--color-text-primary);font-size:.95rem;font-weight:600}.hours-badge,.profit-badge{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);border-radius:8px;padding:.375rem .75rem;font-size:.875rem;font-weight:600}.profit-badge.positive{color:var(--color-accent-success)}.profit-badge.negative{color:var(--color-accent-danger)}.neon-border.profit{border-left:4px solid var(--color-accent-success)}.dashboard-loading{min-height:400px;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:4px solid var(--color-bg-elevated);border-top:4px solid var(--color-brand-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:400px;display:flex}@media (width<=768px){.charts-grid{grid-template-columns:1fr}}.dashboard-toolbar{background:var(--color-bg-surface);border-radius:var(--border-radius-md,8px);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);margin-bottom:.5rem;padding:1.25rem 1.5rem}.toolbar-filters{flex-wrap:wrap;gap:1.5rem;display:flex}.filter-item{flex-direction:column;flex:1;gap:.5rem;min-width:160px;display:flex}.filter-item label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.charts-grid-single,.chart-card.full-width{width:100%}.users-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.user-card{transition:transform var(--transition-normal);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.user-card:hover{border-color:var(--color-brand-primary);transform:translateY(-2px)}.user-card-header{align-items:center;gap:1rem;display:flex}.avatar.large{width:50px;height:50px;font-size:1.25rem}.user-card-title{flex-direction:column;gap:.25rem;display:flex}.user-card-title h3{color:var(--color-text-primary);margin:0;font-size:1.125rem}.role-badge{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:4px;width:fit-content;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.user-card-details{border-top:1px dashed var(--color-bg-elevated);flex-direction:column;gap:.75rem;padding-top:1.25rem;display:flex}.detail-row{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.user-details-page{flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.details-header{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.back-btn{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;padding:.625rem;display:flex}.back-btn:hover{background:var(--color-bg-elevated);transform:translate(-2px)}.profile-banner{border-radius:var(--border-radius-lg);background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-md);background-image:radial-gradient(at 100% 0,#2854cc0d 0,#0000 50%);align-items:center;gap:1.5rem;padding:2rem;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--color-brand-primary) 0%, #4f46e5 100%);color:#fff;width:80px;height:80px;box-shadow:var(--shadow-glow);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.profile-info h2{letter-spacing:-.03em;margin-bottom:.25rem;font-size:1.75rem}.profile-subtext{color:var(--color-text-secondary);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.profile-badge{color:var(--color-brand-primary);background:#2854cc1a;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}@media (width<=900px){.details-grid{grid-template-columns:1fr}}.details-card{background:var(--color-bg-surface);border-radius:var(--border-radius-lg);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.details-card h3{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.doc-item-card{background:var(--color-bg-base);border-radius:var(--border-radius-md);border:1px solid #0000;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:transform .15s,background .15s;display:flex}.doc-item-card:hover{background:var(--color-bg-elevated);transform:translateY(-1px)}.doc-info{align-items:center;gap:.75rem;display:flex}.doc-icon-frame{background:var(--color-bg-surface);color:var(--color-brand-primary);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:flex}.doc-meta h4{margin-bottom:.15rem;font-size:.8125rem;font-weight:600}.expiry-badge{border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:600}.doc-actions{gap:.25rem;display:flex}.action-icon-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:background .12s;display:flex}.action-icon-btn:hover{color:var(--color-text-primary);background:#0000000d}.action-icon-btn.danger:hover{color:var(--color-accent-danger);background:#ef44441a}.add-doc-panel{background:var(--color-bg-base);border-radius:var(--border-radius-md);border:1px dashed var(--color-bg-elevated);flex-direction:column;gap:1rem;padding:1rem;display:flex}.hotels-page{flex-direction:column;display:flex}.hotels-content{flex-direction:column;gap:2rem;display:flex}.group-section{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;display:flex}.group-header{border-bottom:1px solid var(--color-bg-elevated);justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.group-title-container{align-items:center;gap:1rem;display:flex}.group-title h3{color:var(--color-text-primary);margin:0;font-size:1.25rem}.group-subtitle{color:var(--color-text-secondary);font-size:.875rem}.hotels-grid{grid-template-columns:repeat(auto-fill,320px);gap:1.5rem;padding-top:.5rem;display:grid}.hotel-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-lg);cursor:pointer;align-items:flex-start;gap:1rem;padding:1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 3px #0000000a}.hotel-card:hover{border-color:var(--color-brand-primary);transform:translateY(-5px);box-shadow:0 12px 20px -5px #00000014}.hotel-card-icon{background:rgb(from var(--color-brand-primary) r g b / .1);color:var(--color-brand-primary);border-radius:12px;justify-content:center;align-items:center;padding:.75rem;display:flex}.hotel-card-body{flex-direction:column;flex:1;gap:.5rem;display:flex}.edit-icon{color:var(--color-text-muted);opacity:0;transition:opacity .2s}.hotel-card:hover .edit-icon{opacity:.8}.hotel-card h4{color:var(--color-text-primary);margin:0;font-size:1.125rem}.hotel-city{color:var(--color-text-secondary);align-items:center;gap:.375rem;font-size:.875rem;display:flex}.empty-state.small{border:1px dashed var(--color-bg-elevated);background:0 0;padding:1.5rem;font-size:.875rem}.products-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.products-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:600}.page-subtitle{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.875rem}.products-filters{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.search-input-wrapper{flex:1;max-width:400px;position:relative}.search-input{border:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);width:100%;color:var(--color-text-primary);transition:var(--transition-fast);border-radius:6px;outline:none;padding:.625rem .625rem .625rem 2.5rem;font-size:.875rem}.search-input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px rgb(from var(--color-brand-primary) r g b / .1)}.products-grid{grid-template-columns:repeat(auto-fill,260px);gap:1.5rem;display:grid}.product-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);cursor:pointer;transition:all var(--transition-fast);border-radius:12px;flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-image-container{background:var(--color-bg-base);border-bottom:1px solid var(--color-bg-elevated);justify-content:center;align-items:center;height:160px;display:flex;position:relative}.product-image{object-fit:contain;width:100%;height:100%;padding:.5rem}.product-body{flex:1;justify-content:space-between;align-items:flex-start;padding:1.25rem;display:flex}.product-info{flex-direction:column;flex:1;gap:.4rem;display:flex}.product-category{text-transform:uppercase;letter-spacing:.05em;color:var(--color-brand-primary);font-size:.75rem;font-weight:600}.product-name{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:600;line-height:1.4}.product-details{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.product-details b{color:var(--color-text-primary)}.dot{background:var(--color-text-muted);opacity:.4;border-radius:50%;width:4px;height:4px}.product-barcode{color:var(--color-text-secondary);background:var(--color-bg-base);border-radius:4px;width:fit-content;margin-top:.25rem;padding:.2rem .4rem;font-family:monospace;font-size:.75rem}.product-edit-trigger{color:var(--color-text-muted);cursor:pointer;opacity:0;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:.4rem}.product-card:hover .product-edit-trigger{opacity:1}.product-edit-trigger:hover{background:var(--color-bg-base);color:var(--color-brand-primary)}.inventory-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.inventory-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.hotel-selector{min-width:220px}.selector-trigger{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);cursor:pointer;width:100%;color:var(--color-text-primary);transition:var(--transition-fast);border-radius:8px;justify-content:space-between;align-items:center;padding:.625rem 1rem;font-size:.875rem;display:flex}.selector-trigger:hover{border-color:var(--color-brand-primary)}.inventory-filters{margin-bottom:1.5rem}.inventory-table-wrapper{border-radius:12px;overflow-x:auto}.inventory-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.inventory-table th{background:var(--color-bg-base);color:var(--color-text-secondary);border-bottom:1px solid var(--color-bg-elevated);padding:1rem 1.5rem;font-weight:500}.inventory-table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-bg-elevated);vertical-align:middle;padding:1rem 1.5rem}.inventory-table tr:hover td{background:#ffffff05}.product-table-cell{align-items:center;gap:.75rem;display:flex}.product-tiny-img{background:var(--color-bg-base);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.product-tiny-img img{object-fit:contain;width:100%;height:100%}.product-name-bold{font-weight:500}.product-barcode-small{color:var(--color-text-muted);font-size:.75rem}.inventory-badge{border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.inventory-badge.category{background:color-mix(in srgb, var(--color-brand-primary) 10%, transparent);color:var(--color-brand-primary)}.qty-trigger-wrapper{cursor:pointer;transition:var(--transition-fast);border-radius:4px;align-items:center;gap:.5rem;width:fit-content;padding:.3rem .5rem;display:flex}.qty-trigger-wrapper:hover{background:var(--color-bg-base)}.qty-value{font-size:1rem;font-weight:600}.qty-value.danger{color:var(--color-accent-danger)}.cell-edit-icon{opacity:0;color:var(--color-text-muted);transition:var(--transition-fast)}.qty-trigger-wrapper:hover .cell-edit-icon{opacity:1}.edit-stock-input{border:1px solid var(--color-brand-primary);background:var(--color-bg-surface);width:60px;color:var(--color-text-primary);border-radius:4px;outline:none;padding:.25rem .5rem;font-size:.875rem;font-weight:600}.save-cell-btn{background:var(--color-brand-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.status-badge.success{color:#10b981;background:#10b9811a}.status-badge.error{color:var(--color-accent-danger);background:#ef44441a}.history-sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0003;justify-content:flex-end;display:flex;position:fixed;inset:0}.history-sidebar{border-left:1px solid var(--color-bg-elevated);border-radius:0;flex-direction:column;width:400px;height:100%;animation:.3s ease-out slideInRight;display:flex}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.history-sidebar-header{border-bottom:1px solid var(--color-bg-elevated);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.history-sidebar-header h3{color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:700}.close-sidebar-btn{color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:50%;align-items:center;padding:.5rem;display:flex}.close-sidebar-btn:hover{background:var(--color-bg-base);color:var(--color-text-primary)}.history-sidebar-content{flex:1;padding:1.5rem;overflow-y:auto}.history-loading,.history-empty{text-align:center;color:var(--color-text-secondary);padding:2rem;font-size:.875rem}.history-list{flex-direction:column;gap:1rem;display:flex}.history-item{border-bottom:1px solid var(--color-bg-elevated);flex-direction:column;gap:.25rem;padding-bottom:1rem;display:flex}.history-item:last-child{border-bottom:none}.history-item-main{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.history-item-product{color:var(--color-text-primary);font-size:.9375rem;font-weight:600}.history-item-qty{border-radius:12px;padding:.125rem .5rem;font-size:.875rem;font-weight:700}.history-item-qty.ADD{color:#166534;background:#dcfce7}.history-item-qty.REMOVE{color:#991b1b;background:#fee2e2}.history-item-qty.SET{color:#1e40af;background:#dbeafe}.history-item-meta{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.history-item-meta .dot{background:var(--color-text-muted);border-radius:50%;width:3px;height:3px}.history-actors{align-items:center;gap:.5rem;display:flex}.actor-main{font-weight:600}.actor-recipient{background:var(--color-bg-base);color:var(--color-text-secondary);border-radius:4px;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:700;display:flex}.history-time{color:var(--color-text-muted)}.my-planning-page{flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.page-subtitle{color:var(--color-text-secondary);font-size:.875rem}.shifts-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.shift-card{transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:12px;gap:1rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.shift-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.shift-date-badge{background:var(--color-brand-primary);color:#fff;text-transform:uppercase;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:60px;height:60px;padding:.75rem;font-weight:700;display:flex}.shift-day{font-size:1.25rem}.shift-month{opacity:.8;font-size:.75rem}.shift-card-content{flex-direction:column;flex:1;gap:.75rem;display:flex}.shift-card-header{justify-content:space-between;align-items:flex-start;display:flex}.hotel-name{color:var(--color-text-primary);align-items:center;gap:.4rem;font-size:1rem;font-weight:600;display:flex}.status-badge.validated{color:#28a745;background:#28a7451a}.status-badge.disputed{color:#dc3545;background:#dc35451a}.status-badge.pending{color:#ffc107;background:#ffc1071a}.shift-details{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.detail-item{flex-direction:column;gap:.2rem;display:flex}.detail-label{color:var(--color-text-secondary);font-size:.75rem}.detail-value{color:var(--color-text-primary);align-items:center;gap:.3rem;font-size:.875rem;font-weight:500;display:flex}.shift-note{background:var(--color-bg-base);color:var(--color-text-secondary);border-left:3px solid var(--color-brand-primary);border-radius:6px;margin-top:.5rem;padding:.5rem;font-size:.75rem}.settings-page{background-color:var(--color-bg-base);flex-direction:column;gap:2rem;min-height:100%;padding:2rem;display:flex}.settings-header{border-bottom:1px solid var(--color-bg-elevated);padding-bottom:1.5rem}.settings-header-eyebrow{color:var(--color-brand-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:500}.settings-header-title{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.settings-header-sub{color:var(--color-text-secondary);font-size:1rem}.settings-tabs{flex-direction:column;gap:1.5rem;display:flex}.settings-tab-list{border-bottom:1px solid var(--color-bg-elevated);gap:1rem;display:flex}.settings-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.settings-tab:hover{color:var(--color-text-primary)}.settings-tab[data-selected]{color:var(--color-brand-primary);border-bottom-color:var(--color-brand-primary)}.settings-panel{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md,8px);box-shadow:var(--shadow-sm);padding:2rem}.profile-hero{border-bottom:1px solid var(--color-bg-elevated);align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.profile-avatar{background:var(--color-brand-primary);color:#fff;width:64px;height:64px;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.profile-hero-info{flex-direction:column;gap:.25rem;display:flex}.profile-name{color:var(--color-text-primary);margin:0;font-size:1.25rem;font-weight:700}.profile-role-badge{background:var(--color-bg-base);color:var(--color-text-secondary);border:1px solid var(--color-bg-elevated);border-radius:4px;align-self:flex-start;padding:.25rem .5rem;font-size:.8125rem;font-weight:500}.info-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.info-cell{flex-direction:column;gap:.375rem;display:flex}.info-cell-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600}.info-cell-value{color:var(--color-text-primary);font-size:1rem;font-weight:500}.panel-section-title{color:var(--color-text-primary);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.125rem;font-weight:600;display:flex}.password-form{flex-direction:column;gap:1.5rem;max-width:500px;display:flex}.form-row{gap:1rem;display:flex}@media (width<=600px){.form-row{flex-direction:column}.info-grid{grid-template-columns:1fr}}.rac-field{flex-direction:column;gap:.5rem;width:100%;display:flex}.rac-label{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.rac-input{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);color:var(--color-text-primary);border-radius:8px;padding:.75rem;font-size:.95rem;transition:border-color .2s}.rac-input:focus{border-color:var(--color-brand-primary);outline:none}.rac-error{color:var(--color-accent-danger);font-size:.75rem}.primary-btn{background:var(--color-brand-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;align-self:flex-start;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.primary-btn:hover{background:var(--color-brand-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.primary-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.pref-block{margin-bottom:2rem}.pref-block:last-child{margin-bottom:0}.theme-radio-group{gap:1rem;display:flex}.theme-radio-card{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.theme-radio-card:hover{border-color:var(--color-brand-primary)}.theme-radio-card[data-selected]{border-color:var(--color-brand-primary);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.theme-card-preview{border:1px solid var(--color-bg-elevated);border-radius:6px;flex-direction:column;gap:.5rem;height:80px;padding:.5rem;display:flex}.theme-card-light .theme-card-preview{background:#f9fafb}.theme-card-dark .theme-card-preview{background:#1e293b}.preview-bar{border-radius:3px;width:70%;height:12px}.theme-card-light .preview-bar{background:#e5e7eb}.theme-card-dark .preview-bar{background:#334155}.preview-lines{flex-direction:column;gap:.375rem;display:flex}.preview-lines div{border-radius:2px;height:8px}.theme-card-light .preview-lines div{background:#e5e7eb}.theme-card-dark .preview-lines div{background:#334155}.preview-lines div:first-child{width:100%}.preview-lines div:nth-child(2){width:80%}.preview-lines div:nth-child(3){width:60%}.theme-card-label{color:var(--color-text-primary);justify-content:center;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;display:flex}.rac-select{flex-direction:column;gap:.5rem;display:flex}.rac-select-btn{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);color:var(--color-text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;width:200px;padding:.75rem;font-size:.95rem;transition:border-color .2s;display:flex}.rac-select-btn:hover{border-color:var(--color-brand-primary)}.rac-popover{box-shadow:var(--shadow-lg);border-radius:8px;width:200px;background:var(--color-bg-surface)!important;border:1px solid var(--color-bg-elevated)!important}.rac-listbox{flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.rac-listbox-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;font-size:.95rem;transition:all .2s;display:flex}.rac-listbox-item:hover,.rac-listbox-item[data-focused]{background:var(--color-bg-base);outline:none}.rac-listbox-item[data-selected]{background:var(--color-brand-primary);color:#fff}.soon-badge{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.switch-list{flex-direction:column;gap:1rem;display:flex}.rac-switch{cursor:pointer;align-items:center;gap:1rem;display:flex}.switch-track{background:var(--color-bg-elevated);border-radius:12px;width:40px;height:24px;transition:background .2s;position:relative}.rac-switch[data-selected] .switch-track{background:var(--color-brand-primary)}.switch-thumb{width:20px;height:20px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;transition:transform .2s;position:absolute;top:2px;left:2px}.rac-switch[data-selected] .switch-thumb{transform:translate(16px)}.switch-content{flex-direction:column;display:flex}.switch-label{color:var(--color-text-primary);font-size:.95rem;font-weight:500}.switch-desc{color:var(--color-text-secondary);font-size:.8125rem}.icon-input-group{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);box-sizing:border-box;border-radius:6px;justify-content:space-between;align-items:center;height:38px;padding:0 .625rem;transition:border-color .2s,box-shadow .2s;display:flex}.icon-input-btn{color:var(--color-text-secondary)!important;cursor:pointer!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;transition:opacity .2s,background .2s!important;display:flex!important}.icon-input-btn:hover{color:var(--color-text-primary)!important;background:#0000000d!important}.icon-input-btn svg{display:block}.number-stepper{border-left:1px solid var(--color-bg-elevated);flex-direction:column;justify-content:center;height:100%;margin-left:.5rem;padding-left:.25rem;display:flex}.stepper-btn{width:20px!important;height:14px!important;padding:2px!important;font-size:.6rem!important;line-height:1!important}.date-segments-container{color:var(--color-text-primary);gap:1px;font-size:.875rem;display:flex}.date-segment[data-placeholder]{color:var(--color-text-muted)}.shifts-page{background-color:var(--color-bg-base);flex-direction:column;gap:2rem;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 3rem;display:flex}.header-actions{align-items:center;gap:1.5rem;display:flex}.segmented-control{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);display:flex;overflow:hidden;border-radius:0!important}.control-btn{text-transform:uppercase;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.75rem;font-weight:800;transition:all .2s;display:flex;border-radius:0!important}.control-btn:hover{background:var(--color-bg-base);color:var(--color-text-primary)}.control-btn.active{background:var(--color-brand-primary);color:#fff}.react-aria-Button{cursor:pointer;border:none;background:var(--color-brand-primary)!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-radius:0!important;padding:.75rem 1.5rem!important;font-size:.8125rem!important;font-weight:800!important}.clear-link:hover{cursor:pointer;color:var(--color-brand-primary)!important;text-transform:uppercase!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important;font-size:.7rem!important;font-weight:800!important;text-decoration:underline!important}.styled-select-container{flex-direction:column;gap:.5rem;display:flex}.select-label{text-transform:uppercase;color:var(--color-text-secondary);opacity:.8;font-size:.65rem;font-weight:800}.select-button{background:var(--color-bg-base)!important;border:1px solid var(--color-bg-elevated)!important;height:42px!important;color:var(--color-text-primary)!important;border-radius:0!important;justify-content:space-between!important;align-items:center!important;padding:0 1rem!important;font-size:.875rem!important;font-weight:600!important;display:flex!important}.filter-chips{border-top:1px solid var(--color-bg-elevated);flex-wrap:wrap;gap:.5rem;padding-top:1rem;display:flex}.chip{background:var(--color-brand-primary);color:#fff;border-radius:0;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.7rem;font-weight:700;display:flex}.chip button{color:#fff;cursor:pointer;background:#fff3;border:none;padding:2px;display:flex}.vertical-timeline{flex-direction:column;gap:3rem;display:flex}.timeline-group{flex-direction:column;gap:1rem;display:flex}.items-container{flex-direction:column;gap:.75rem;display:flex}.shift-item-row{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);cursor:pointer;align-items:center;min-height:90px;padding:0;transition:all .2s;display:flex;border-radius:0!important}.shift-item-row:hover{border-color:var(--color-brand-primary);box-shadow:var(--shadow-md);transform:translate(4px)}.shift-time-info{background:var(--color-bg-base);border-right:1px solid var(--color-bg-elevated);flex-direction:column;justify-content:center;align-items:center;min-width:140px;padding:1.5rem;display:flex}.time-display{flex-direction:column;align-items:center;gap:.15rem;display:flex}.hour{color:var(--color-text-primary);font-size:1.125rem;font-weight:800}.separator{color:var(--color-text-secondary);opacity:.5;font-size:.7rem;font-weight:900}.duration-tag{background:var(--color-brand-primary);color:#fff;margin-top:.5rem;padding:1px 6px;font-size:.65rem;font-weight:800}.shift-main-content{flex:1;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.meta-info{gap:1.5rem;display:flex}.price-box{text-align:right}.total-price{color:var(--color-brand-primary);font-size:1.25rem;font-weight:800;display:block}.unit-price{color:var(--color-text-secondary);font-size:.7rem;font-weight:600}.pill-published{color:var(--color-text-secondary)}.pill-in_progress{color:var(--color-accent-info);border-color:var(--color-accent-info);background:#3b82f60d}.pill-to_validate{color:var(--color-accent-warning);border-color:var(--color-accent-warning);background:#f59e0b0d}.pill-validated{color:var(--color-accent-success);border-color:var(--color-accent-success);background:#10b9810d}.pill-disputed{color:var(--color-accent-danger);border-color:var(--color-accent-danger);background:#ef44440d}.status-container{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.validation-indicators{gap:4px;display:flex}.val-dot{border:1px solid var(--color-bg-elevated);border-radius:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:.6rem;font-weight:900;transition:all .2s;display:flex}.val-dot.empty{color:var(--color-text-secondary);opacity:.3;background:0 0}.val-dot.solid{color:#fff;background:#10b981;border-color:#10b981;box-shadow:0 0 8px #10b9814d}.quick-actions-bar{gap:.5rem;padding:1.5rem;display:flex}.row-chevron{color:var(--color-bg-elevated);padding-right:1.5rem}.calendar-view{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);padding:2.5rem}.fc{--fc-border-color:var(--color-bg-elevated);--fc-today-bg-color:#2854cc08;--fc-event-border-color:transparent;--fc-neutral-bg-color:var(--color-bg-base);--fc-list-event-hover-bg-color:var(--color-bg-base);font-family:inherit!important}.fc .fc-toolbar{margin-bottom:2rem!important}.fc .fc-toolbar-title{text-transform:uppercase!important;letter-spacing:-.02em!important;color:var(--color-text-primary)!important;font-size:1.5rem!important;font-weight:800!important}.fc .fc-button-primary{background-color:var(--color-bg-surface)!important;border:1px solid var(--color-bg-elevated)!important;color:var(--color-text-primary)!important;text-transform:uppercase!important;letter-spacing:.05em!important;box-shadow:none!important;border-radius:0!important;padding:.6rem 1.2rem!important;font-size:.65rem!important;font-weight:800!important;transition:all .2s!important}.fc .fc-button-primary:hover{background-color:var(--color-bg-base)!important;border-color:var(--color-text-secondary)!important}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--color-brand-primary)!important;color:#fff!important;border-color:var(--color-brand-primary)!important}.fc .fc-button-primary:focus{box-shadow:none!important}.fc .fc-button-group,.fc .fc-button-group>.fc-button,.fc-button-wrapper{border-radius:0!important}.fc .fc-col-header-cell{background:var(--color-bg-base)!important;border-color:var(--color-bg-elevated)!important;padding:1rem 0!important}.fc .fc-col-header-cell-cushion{text-transform:uppercase!important;color:var(--color-text-secondary)!important;font-size:.75rem!important;font-weight:800!important;text-decoration:none!important}.fc-event{cursor:pointer!important;border:none!important;border-radius:0!important;padding:0!important}.fc-event-button-wrapper{width:100%;height:100%;text-align:left!important;color:inherit!important;cursor:pointer!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;display:block!important}.fc-event-main-inner{flex-direction:column;gap:2px;padding:4px 6px;display:flex}.fc-event-time{opacity:.9!important;text-transform:uppercase!important;font-size:.65rem!important;font-weight:900!important}.fc-event-title{white-space:normal!important;font-size:.75rem!important;font-weight:700!important}.fc .fc-timegrid-slot{border-color:var(--color-bg-elevated)!important;background:var(--color-bg-surface)!important}.fc .fc-timegrid-slot-label{background:var(--color-bg-base)!important;border-color:var(--color-bg-elevated)!important}.fc .fc-timegrid-slot-label-cushion{color:var(--color-text-secondary)!important;text-transform:uppercase!important;font-size:.7rem!important;font-weight:700!important}.fc .fc-timegrid-axis{background:var(--color-bg-base)!important;border-color:var(--color-bg-elevated)!important}.fc-theme-standard .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:var(--color-bg-elevated)!important}.shift-tooltip{background:var(--color-bg-surface)!important;color:var(--color-text-primary)!important;box-shadow:var(--shadow-xl)!important;z-index:2000!important;border:1px solid var(--color-bg-elevated)!important;border-radius:0!important;outline:none!important;min-width:260px!important;padding:1.25rem!important}.tooltip-arrow svg{fill:var(--color-bg-surface)!important;stroke:var(--color-bg-elevated)!important}.tooltip-header{border-bottom:1px solid var(--color-bg-elevated);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.tooltip-header span{text-transform:uppercase;letter-spacing:.05em;color:var(--color-brand-primary);font-size:.75rem;font-weight:800}.tooltip-body{flex-direction:column;gap:.75rem;display:flex}.tooltip-row{color:var(--color-text-secondary);align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.tooltip-row strong{color:var(--color-text-primary);font-weight:600}.tooltip-row svg{color:var(--color-brand-primary);flex-shrink:0}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-published{background:#9ca3af}.dot-in_progress{background:#3b82f6}.dot-to_validate{background:#f59e0b}.dot-validated{background:#10b981}.dot-disputed{background:#ef4444}.menu-popover{background:var(--color-bg-surface)!important;border:1px solid var(--color-bg-elevated)!important;box-shadow:var(--shadow-lg)!important;z-index:1000!important;min-width:220px!important}.select-listbox{background:0 0!important;outline:none!important;max-height:300px!important;padding:.5rem 0!important;list-style:none!important;overflow-y:auto!important}.menu-item{cursor:pointer!important;color:var(--color-text-primary)!important;outline:none!important;justify-content:space-between!important;align-items:center!important;padding:.75rem 1rem!important;font-size:.875rem!important;transition:background .1s!important;display:flex!important}.menu-item[data-focused]{background:var(--color-bg-base)!important}.menu-item[data-selected]{color:var(--color-brand-primary)!important;background:#2854cc0d!important;font-weight:700!important}.empty-icon-box{background:var(--color-bg-base);width:100px;height:100px;color:var(--color-brand-primary);opacity:.6;border-radius:0;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}@media (width<=1000px){.shift-main-content{flex-direction:column;align-items:flex-start;gap:1rem}.content-right{justify-content:space-between;width:100%}}.jobs-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.jobs-header{justify-content:space-between;align-items:center;display:flex}.jobs-header h2{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:700}.jobs-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.job-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md);flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.job-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.job-card-header{align-items:center;gap:.75rem;display:flex}.job-icon-wrapper{background:var(--color-bg-base);color:var(--color-brand-primary);border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:flex}.job-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.job-description{color:var(--color-text-secondary);flex:1;font-size:.875rem;line-height:1.4}.job-card-footer{border-top:1px solid var(--color-bg-elevated);justify-content:flex-end;gap:.5rem;padding-top:.75rem;display:flex}.job-action-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;transition:background .15s,color .15s;display:flex}.job-action-btn:hover{background:var(--color-bg-base);color:var(--color-text-primary)}.job-action-btn.delete:hover{color:var(--color-accent-danger);background:#ef44441a}.shift-details-container{flex-direction:column;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem;display:flex}.breadcrumb{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.back-link-refined{color:var(--color-text-secondary);align-items:center;gap:.25rem;transition:color .2s;display:flex}.back-link-refined:hover{color:var(--color-brand-primary)}.breadcrumb .separator{opacity:.5}.breadcrumb .current{color:var(--color-text-primary);font-weight:500}.status-indicator-dot{border-radius:50%;width:10px;height:10px}.metric-value-small{color:var(--color-text-primary);margin:.5rem 0;font-size:1.5rem;font-weight:700}.shift-details-layout{grid-template-columns:1fr 350px;align-items:start;gap:2rem;display:grid}.layout-main{flex-direction:column;gap:2rem;display:flex}.layout-sidebar{flex-direction:column;gap:2rem;display:flex;position:sticky;top:2rem}.execution-summary{align-items:center;gap:2rem;padding:1rem 0;display:flex}.exec-block{flex-direction:column;display:flex}.exec-block .label{text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.exec-block .time{color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.exec-block .date{color:var(--color-text-secondary);font-size:.8rem}.exec-divider{background:var(--color-bg-elevated);width:1px;height:40px}.instructions-body{background:var(--color-bg-base);border-left:4px solid var(--color-brand-primary);padding:1rem}.text-content{color:var(--color-text-primary);white-space:pre-wrap;line-height:1.6}.italic{font-style:italic}.gallery-container{flex-direction:column;gap:2rem;display:flex}.gallery-section h4{text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:1rem;font-size:.8rem;font-weight:700}.photo-grid-refined{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;display:grid}.photo-item{aspect-ratio:1;cursor:pointer;border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);border-radius:0;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.photo-item:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.photo-item img{object-fit:cover;width:100%;height:100%}.hover-view{opacity:0;color:#fff;background:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.photo-item:hover .hover-view{opacity:1}.empty-photo-slot{background:var(--color-bg-base);border:1px dashed var(--color-bg-elevated);height:120px;color:var(--color-text-secondary);border-radius:0;justify-content:center;align-items:center;font-size:.8rem;font-style:italic;display:flex}.assignee-profile{flex-direction:column;gap:1.5rem;display:flex}.profile-header{align-items:center;gap:1rem;display:flex}.avatar-circle{background:var(--color-brand-primary);color:#fff;width:64px;height:64px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.profile-names{flex-direction:column;display:flex}.full-name{color:var(--color-text-primary);font-size:1.1rem;font-weight:700}.user-role{color:var(--color-text-secondary);font-size:.8rem}.profile-actions{gap:.75rem;display:flex}.react-aria-Button.small{padding:.5rem 1rem;font-size:.8rem}.unassigned-block{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.empty-state-icon{background:var(--color-bg-base);width:64px;height:64px;color:var(--color-text-secondary);opacity:.5;border-radius:50%;justify-content:center;align-items:center;display:flex}.context-item{color:var(--color-text-primary);align-items:center;gap:.75rem;padding:.75rem 0;font-weight:600;display:flex}.context-item.sub{margin-top:-.5rem;padding-top:0;padding-left:2.25rem;font-size:.9rem;font-weight:400}.photo-viewer-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ae6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-viewer-modal{outline:none}.photo-viewer-dialog{cursor:zoom-out;outline:none;justify-content:center;align-items:center;display:flex}.viewer-frame{max-width:90vw;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleIn;position:relative}.viewer-frame img{object-fit:contain;border:1px solid var(--color-bg-elevated);border-radius:0;max-width:100%;max-height:90vh;box-shadow:0 25px 50px -12px #00000080}.close-btn-round{color:#000;cursor:pointer;z-index:10001;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s;display:flex;position:absolute;top:-20px;right:-20px;box-shadow:0 4px 12px #0003}.close-btn-round:hover{transform:scale(1.1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-surface);box-shadow:var(--shadow-xl);border:1px solid var(--color-bg-elevated);width:480px;color:var(--color-text-primary);border-radius:8px;outline:none;padding:2.5rem}.modal-content h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1rem;font-size:1.25rem;font-weight:800}.search-field{margin:1.5rem 0}.search-field input{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);width:100%;color:var(--color-text-primary);border-radius:6px;outline:none;padding:.75rem 1rem;font-family:inherit;transition:border-color .2s}.search-field input:focus{border-color:var(--color-brand-primary)}.user-selection-list{flex-direction:column;gap:.5rem;max-height:350px;margin-bottom:1.5rem;padding-right:.5rem;display:flex;overflow-y:auto}.user-select-item{cursor:pointer;background:var(--color-bg-base);border:1px solid #0000;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.user-select-item:hover{background:var(--color-bg-surface);border-color:var(--color-brand-primary);transform:translate(4px)}.mini-avatar{background:var(--color-brand-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;font-weight:800;display:flex}.user-info{flex-direction:column;gap:.15rem;display:flex}.user-info .name{color:var(--color-text-primary);font-size:1rem;font-weight:700}.user-info .email{color:var(--color-text-secondary);font-size:.75rem}@media (width<=1100px){.shift-details-layout{grid-template-columns:1fr}.layout-sidebar{position:static}}.validation-tracking{flex-direction:column;gap:1.5rem;padding:.5rem .5rem .5rem 0;display:flex}.validation-step{gap:1.25rem;display:flex;position:relative}.validation-step:not(:last-child):after{content:"";background:var(--color-bg-elevated);width:2px;position:absolute;top:24px;bottom:-12px;left:8px}.validation-step.completed:not(:last-child):after{background:var(--color-accent-success)}.step-icon{z-index:1;background:var(--color-bg-surface);justify-content:center;align-items:center;width:18px;height:18px;display:flex}.step-icon .dot{background:var(--color-bg-elevated);border-radius:50%;width:8px;height:8px}.validation-step.completed .step-icon{color:var(--color-accent-success)}.step-content{flex-direction:column;gap:.25rem;display:flex}.step-role{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.75rem;font-weight:800}.step-details{flex-direction:column;display:flex}.validator{color:var(--color-text-primary);font-weight:600}.step-details .date{color:var(--color-text-secondary);font-size:.75rem}.step-status{color:var(--color-text-secondary);opacity:.6;font-size:.8125rem;font-style:italic}.housekeeping-form-container{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.room-row{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);border-radius:8px;grid-template-columns:80px 1fr 40px;align-items:flex-end;gap:.75rem;padding:.75rem;transition:all .2s;display:grid}.room-row:hover{border-color:var(--color-brand-primary-light);box-shadow:0 4px 12px #0000000d}.icon-input-group{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);box-sizing:border-box;border-radius:6px;align-items:center;height:38px;padding:0 .75rem;transition:border-color .2s,box-shadow .2s;display:flex}.icon-input-group:focus-within{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #6c3fff1a}.react-aria-Input{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);color:var(--color-text-primary);box-sizing:border-box;border-radius:6px;outline:none;width:100%;height:38px;padding:.5rem .75rem;font-size:.875rem;transition:all .2s}.react-aria-Input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #6c3fff1a}.date-segments-container{gap:1px;font-size:.875rem;display:flex}.date-segment{border-radius:2px;outline:none;padding:0 2px}.date-segment:focus{background:var(--color-brand-primary);color:#fff}.modal-footer{border-top:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);border-bottom-right-radius:12px;border-bottom-left-radius:12px;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.rooms-scroll-area{max-height:400px;padding-right:.5rem;overflow-y:auto}.rooms-scroll-area::-webkit-scrollbar{width:6px}.rooms-scroll-area::-webkit-scrollbar-track{background:0 0}.rooms-scroll-area::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:10px}.room-type-form{border:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);border-radius:8px}.room-types-list table th{text-transform:uppercase;letter-spacing:.025em;font-weight:600}.room-types-list table td{color:var(--color-text-primary)}.icon-btn.danger:hover{color:var(--color-accent-danger);background:#ef44441a}*,:before,:after{border-radius:0!important}.modal-content{flex-direction:column!important;max-height:90vh!important;display:flex!important;overflow:hidden!important}.modal-dialog{max-height:inherit;outline:none;flex-direction:column!important;height:100%!important;display:flex!important}.room-details-body{min-height:200px;flex:1!important;padding:1.5rem 2rem!important;overflow-y:auto!important}.details-grid{grid-template-columns:320px 1fr;gap:2rem;display:grid}.detail-card{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-brand-primary);margin-bottom:1.5rem;padding:1.25rem}.section-header{color:var(--color-text-primary);align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-header h3{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.8rem;font-weight:700}.icon-accent{color:var(--color-brand-primary)}.icon-success{color:var(--color-accent-success)}.icon-warning{color:var(--color-accent-warning)}.comment-area{color:var(--color-text-primary);font-size:.95rem;line-height:1.6}.no-data-text{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.status-card{border-left-color:rgba(var(--color-brand-primary-rgb), .4);background:rgba(var(--color-brand-primary-rgb), .02)}.status-pill{border-left:3px solid;align-items:center;gap:.5rem;width:fit-content;padding:.55rem .9rem;font-size:.82rem;font-weight:600;display:flex}.status-pill.validated{background:rgba(var(--color-accent-success-rgb), .08);color:var(--color-accent-success);border-left-color:var(--color-accent-success)}.status-pill.error{color:var(--color-accent-danger);border-left-color:var(--color-accent-danger);background:#ef444414}.status-pill.pending{background:rgba(var(--color-accent-warning-rgb), .08);color:var(--color-accent-warning);border-left-color:var(--color-accent-warning)}.tripartite-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-top:.5rem;display:grid}.v-badge-item{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);opacity:.6;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.v-badge-item.active{opacity:1;border-color:var(--color-accent-success);background:rgba(var(--color-accent-success-rgb), .04)}.v-badge-circle{background:var(--color-bg-elevated);width:24px;height:24px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.v-badge-item.active .v-badge-circle{background:var(--color-accent-success);color:#fff}.v-badge-info{flex-direction:column;display:flex}.v-badge-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.7rem;font-weight:800}.v-badge-item.active .v-badge-label{color:var(--color-accent-success)}.v-badge-date{color:var(--color-text-muted);font-size:.65rem;font-weight:500}.conflict-box{background:rgba(var(--color-accent-danger-rgb), .05);border:1px solid rgba(var(--color-accent-danger-rgb), .1);color:var(--color-accent-danger);align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:.85rem;display:flex}.conflict-box p{margin:0;font-size:.8rem;line-height:1.4}.photo-sections{flex-direction:column;gap:1.5rem;display:flex}.photo-category{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);padding:1.25rem}.cat-label{color:var(--color-text-secondary);letter-spacing:.1em;margin-bottom:1rem;font-size:.7rem;font-weight:800;display:block}.photo-list{flex-wrap:wrap;gap:.75rem;display:flex}.photo-wrapper{cursor:zoom-in;border:2px solid #0000;width:110px;height:110px;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.photo-wrapper:hover{border-color:var(--color-brand-primary);box-shadow:var(--shadow-lg);transform:scale(1.04)}.photo-wrapper img{object-fit:cover;width:100%;height:100%}.photo-overlay{color:#fff;opacity:0;background:#00000059;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.photo-wrapper:hover .photo-overlay{opacity:1}.empty-slot{color:var(--color-text-muted);border:2px dashed var(--color-bg-elevated);text-align:center;width:100%;padding:1rem;font-size:.8rem}.modal-header{border-bottom:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.header-info{flex-direction:column;gap:.25rem;display:flex}.header-main{flex-direction:column;display:flex}.modal-title{margin:0;font-size:1.25rem;font-weight:800}.close-btn-round{background:var(--color-bg-elevated);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.close-btn-round:hover{background:var(--color-accent-danger);color:#fff}.modal-footer.footer-fixed{border-top:1px solid var(--color-bg-elevated);background:0 0;flex-shrink:0;justify-content:flex-end;padding:2rem;display:flex}.footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:1rem;width:100%;display:flex}.footer-btn{text-transform:uppercase;letter-spacing:.05em;min-width:140px;padding:.75rem 1.75rem!important;font-size:.85rem!important}.react-aria-Button.ghost{color:var(--color-brand-primary)!important;border:1px solid var(--color-brand-primary)!important;box-shadow:none!important;background:0 0!important}.react-aria-Button.ghost:hover{transform:translateY(-1px);background:rgba(var(--color-brand-primary-rgb), .05)!important}.react-aria-Button.ghost.danger{color:var(--color-accent-danger)!important;border-color:var(--color-accent-danger)!important}.react-aria-Button.ghost.danger:hover{background:#ef44440d!important}.react-aria-Button.primary.gradient{background:linear-gradient(135deg, var(--color-brand-primary), #a855f7)!important;border:none!important}.report-overlay{z-index:100000!important}.report-modal{background:var(--color-bg-surface,#1a1a1a);border:1px solid var(--color-bg-elevated);border-top:3px solid var(--color-accent-danger);width:460px;max-width:92vw;box-shadow:0 24px 60px #00000080}.report-header{border-bottom:1px solid var(--color-bg-elevated);align-items:center;gap:.85rem;padding:1.25rem 1.5rem;display:flex}.report-header-icon{width:36px;height:36px;color:var(--color-accent-danger);background:#ef44441a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.report-title{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:800}.report-subtitle{color:var(--color-text-muted);margin:.1rem 0 0;font-size:.78rem}.report-header .close-btn-round{margin-left:auto}.report-body{flex-direction:column;gap:.6rem;padding:1.5rem;display:flex}.report-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:.8rem;font-weight:700}.required-star{color:var(--color-accent-danger);margin-left:2px}.report-textarea{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);width:100%;color:var(--color-text-primary);resize:vertical;box-sizing:border-box;outline:none;padding:.85rem 1rem;font-family:inherit;font-size:.9rem;line-height:1.5;transition:border-color .15s}.report-textarea:focus{border-color:var(--color-accent-danger);box-shadow:0 0 0 3px #ef444414}.report-hint{color:var(--color-text-muted);margin:0;font-size:.75rem}.report-footer{border-top:1px solid var(--color-bg-elevated);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.react-aria-Button.danger-solid{background:var(--color-accent-danger);color:#fff;cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.react-aria-Button.danger-solid:hover:not([data-disabled]){opacity:.88}.react-aria-Button.danger-solid[data-disabled]{opacity:.45;cursor:not-allowed}.image-viewer-wrapper{background:#000000eb;z-index:99999!important}.image-viewer-modal{outline:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.viewer-dialog{outline:none;width:100%;height:100%}.viewer-content{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.main-viewed-image{object-fit:contain;max-width:90vw;max-height:80vh;box-shadow:0 20px 50px #00000080}.viewer-info{color:#fff;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.viewer-tag{background:var(--color-brand-primary);padding:.2rem .6rem;font-size:.75rem;font-weight:700}.viewer-counter{opacity:.7;font-size:.9rem}.viewer-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:none;justify-content:center;align-items:center;width:56px;height:56px;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.viewer-nav:hover:not([disabled]){background:#fff3}.viewer-nav.prev{left:-76px}.viewer-nav.next{right:-76px}.viewer-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:10px;transition:opacity .15s;position:absolute;top:-56px;right:0}.viewer-close:hover{opacity:1}.scroll-hide::-webkit-scrollbar{display:none}.scroll-hide{-ms-overflow-style:none;scrollbar-width:none;overflow-y:auto}@media (width<=850px){.details-grid{grid-template-columns:1fr}.viewer-nav.prev{left:10px}.viewer-nav.next{right:10px}.viewer-nav{width:44px;height:44px}}.housekeeping-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.mission-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:12px;flex-direction:column;gap:1rem;padding:1.25rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.mission-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-brand-primary-light);transform:translateY(-2px)}.mission-card-header{justify-content:space-between;align-items:flex-start;display:flex}.mission-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:700}.mission-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:1rem;font-size:.75rem;display:flex}.meta-item{align-items:center;gap:.35rem;display:flex}.mission-stats{text-align:right}.mission-price{color:var(--color-brand-primary);font-size:1.25rem;font-weight:800;display:block}.mission-rooms-count{color:var(--color-text-muted);font-size:.7rem;font-weight:500}.mission-progress-container{background:var(--color-bg-elevated);border-radius:2px;height:4px;margin:.5rem 0;overflow:hidden}.mission-progress-bar{background:linear-gradient(90deg, var(--color-brand-primary), #a855f7);height:100%;transition:width .5s ease-out}.room-list{background:rgba(var(--color-brand-primary-rgb), .02);border:1px solid var(--color-bg-elevated);border-radius:8px;flex-direction:column;flex-grow:1;gap:.5rem;padding:.75rem;display:flex}.room-item{background:var(--color-bg-surface);border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.825rem;transition:border-color .2s;display:flex}.room-item:hover{border-color:var(--color-bg-elevated)}.room-item.completed{opacity:.8}.room-item.validated{border-color:var(--color-brand-primary);background:rgba(var(--color-brand-primary-rgb), .05)}.room-info{align-items:center;gap:.6rem;display:flex}.room-status-icon{flex-shrink:0}.room-type-tag{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.mission-card-footer{border-top:1px solid var(--color-bg-elevated);justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.75rem;display:flex}.mission-status-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:12px;padding:.25rem .6rem;font-size:.65rem;font-weight:700}.status-badge-planned{color:#4338ca;background:#e0e7ff}.status-badge-published{color:#7e22ce;background:#f3e8ff}.status-badge-in_progress{color:#b45309;background:#fef3c7}.status-badge-completed{color:#047857;background:#d1fae5}.created-by-info{color:var(--color-text-muted);font-size:.65rem}.timeline-date-header{align-items:center;gap:1rem;margin:2.5rem 0 1.25rem;display:flex}.timeline-date-header h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.875rem;font-weight:700}.timeline-line{background:var(--color-bg-elevated);flex:1;height:1px}.room-comment-tooltip{cursor:help;align-items:center;margin-left:.5rem;display:flex}[title]:hover:after{content:attr(title);background:var(--color-bg-elevated);color:var(--color-text-primary);white-space:pre-wrap;max-width:200px;box-shadow:var(--shadow-md);z-index:10;border-radius:4px;padding:.4rem .6rem;font-size:.7rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.validation-badges{gap:4px;display:flex}.v-badge{background:var(--color-bg-elevated);width:20px;height:20px;color:var(--color-text-muted);border:1px solid var(--color-bg-elevated);cursor:help;border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:800;transition:all .2s;display:flex}.v-badge.validated{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.small-success{background:var(--color-accent-success)!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:.3rem .6rem!important;font-size:.75rem!important}.small-danger{background:var(--color-accent-error)!important;color:#fff!important;border:none!important;border-radius:6px!important;padding:.3rem .6rem!important;font-size:.75rem!important}.small-success:hover,.small-danger:hover{filter:brightness(1.1);transform:translateY(-1px)}.status-badge-to_validate{color:#7c3aed;background:#ede9fe}.status-badge-validated{color:#059669;background:#d1fae5}.status-badge-disputed{color:#dc2626;background:#fee2e2}.notifications-page{max-width:1100px;min-height:100vh;margin:0 auto;padding:2.5rem}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.page-title{letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.875rem;font-weight:800}.page-subtitle{color:var(--color-text-secondary);opacity:.8;font-size:1rem}.btn-mark-all{border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:.625rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.btn-mark-all:hover:not(:disabled){background:var(--color-bg-elevated);transform:translateY(-2px)}.btn-mark-all:disabled{opacity:.3;cursor:not-allowed}.notifications-content{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-lg);border-radius:20px;overflow:hidden}.content-toolbar{background:rgba(var(--color-bg-elevated), .3);border-bottom:1px solid var(--color-bg-elevated);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.filter-tabs{background:var(--color-bg-base);border-radius:10px;gap:.25rem;padding:.3125rem;display:flex}.tab-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:flex}.tab-btn.active{background:var(--color-bg-surface);color:var(--color-brand-primary);box-shadow:var(--shadow-sm)}.tab-badge{background:var(--color-brand-primary);color:#fff;border-radius:100px;min-width:18px;padding:2px 6px;font-size:.7rem}.search-bar{width:100%;max-width:300px;position:relative}.search-icon{color:var(--color-text-secondary);opacity:.5;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);width:100%;color:var(--color-text-primary);border-radius:10px;padding:.625rem 1rem .625rem 2.5rem;font-size:.875rem;transition:all .2s}.search-input:focus{border-color:var(--color-brand-primary);background:var(--color-bg-surface);outline:none}.notification-item{border-bottom:1px solid var(--color-bg-elevated);cursor:pointer;background:var(--color-bg-surface);gap:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.notification-item:hover{background:var(--color-bg-base);padding-left:1.75rem}.notification-item.unread{background:rgba(var(--color-brand-primary-rgb), .03)}.notif-indicator{background:var(--color-brand-primary);opacity:0;width:4px;transition:all .3s;position:absolute;top:0;bottom:0;left:0}.notification-item.unread .notif-indicator{opacity:1}.notif-icon-container{background:var(--color-bg-base);width:50px;height:50px;color:var(--color-text-secondary);border:1px solid var(--color-bg-elevated);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.notification-item:hover .notif-icon-container{transform:scale(1.05)rotate(2deg)}.type-message .notif-icon-container{color:var(--color-accent-info);background:#3b82f61a}.type-success .notif-icon-container{color:var(--color-accent-success);background:#10b9811a}.type-warning .notif-icon-container{color:var(--color-accent-warning);background:#f59e0b1a}.type-task .notif-icon-container{color:var(--color-brand-primary);background:rgba(var(--color-brand-primary-rgb), .1)}.notification-item.unread .notif-icon-container{box-shadow:0 0 15px rgba(var(--color-brand-primary-rgb), .1)}.notif-main{flex:1;min-width:0}.notif-header{justify-content:space-between;align-items:baseline;margin-bottom:.375rem;display:flex}.notif-title{color:var(--color-text-primary);margin:0;font-size:1.0625rem;font-weight:700;transition:color .2s}.notification-item:hover .notif-title{color:var(--color-brand-primary)}.notif-time{color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.notif-message{color:var(--color-text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.notification-item.unread .notif-message{color:var(--color-text-primary);font-weight:400}.notif-action{opacity:0;align-items:center;transition:all .3s;display:flex;transform:translate(-10px)}.notification-item:hover .notif-action{opacity:1;transform:translate(0)}.arrow-icon{color:var(--color-brand-primary)}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:5rem 2rem;display:flex}.empty-icon-wrapper{background:var(--color-bg-base);width:90px;height:90px;color:var(--color-text-secondary);opacity:.5;border-radius:100px;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.loading-state{text-align:center;padding:4rem}.shimmer{background:linear-gradient(90deg, transparent, rgba(var(--color-brand-primary-rgb), .1), transparent);background-size:200% 100%;border-radius:10px;width:60px;height:60px;margin:0 auto 1rem;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body:not(.dark-theme) .notification-item.unread{background:rgba(var(--color-brand-primary-rgb), .05)}body:not(.dark-theme) .notifications-content{background:#fff}.pagination-container{border-top:1px solid var(--color-bg-elevated);background:rgba(var(--color-bg-elevated), .1);justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;padding:1.5rem;display:flex}.pagination-btn{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){border-color:var(--color-brand-primary);color:var(--color-brand-primary);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{align-items:center;gap:.5rem;display:flex}.page-number{border:1px solid var(--color-bg-elevated);background:var(--color-bg-base);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;transition:all .2s;display:flex}.page-number:hover:not(.active){border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.page-number.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff;box-shadow:0 4px 12px rgba(var(--color-brand-primary-rgb), .3)}.pagination-info{text-align:center;background:var(--color-bg-base);color:var(--color-text-muted);padding:1rem;font-size:.75rem;font-style:italic}.invoices-page{max-width:1400px;margin:0 auto;padding:2rem}.metrics-container{gap:1.5rem;margin-bottom:2rem;display:flex}.metric-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);flex:1;align-items:center;padding:1.5rem;display:flex}.metric-icon{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-right:1.5rem;display:flex}.metric-info h3{color:var(--color-text-secondary);margin:0;font-size:.875rem;font-weight:500}.metric-info .metric-value{color:var(--color-text-primary);margin:.25rem 0 0;font-size:1.5rem;font-weight:600}.filters-panel{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.filters-panel:hover{border-color:var(--color-brand-primary);box-shadow:var(--shadow-md)}.invoice-filter-select{cursor:pointer;transition:all var(--transition-fast);outline:none;font-size:.875rem}.invoice-filter-select:hover{border-color:var(--color-brand-primary)!important}.invoice-filter-select:focus{box-shadow:0 0 0 2px rgb(from var(--color-brand-primary) r g b / .1);border-color:var(--color-brand-primary)!important}.invoices-table-container{background:var(--color-bg-surface);border-radius:var(--border-radius-lg);border:1px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);overflow:hidden}.invoices-table{border-collapse:collapse;width:100%}.invoices-table th,.invoices-table td{text-align:left;border-bottom:1px solid var(--color-bg-elevated);padding:1rem 1.5rem}.invoices-table td:last-child{width:250px;min-width:250px}.invoices-table th{background:var(--color-bg-base);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.invoices-table tbody tr:hover{background:var(--color-bg-base)}.invoices-table-primary-text{color:var(--color-text-primary);font-weight:500}.invoices-table-secondary-text{color:var(--color-text-secondary);font-size:.875rem}.status-badge{border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.PENDING{background:rgb(from var(--color-accent-warning) r g b / .15);color:var(--color-accent-warning)}.status-badge.VALIDATED{background:rgb(from var(--color-accent-info) r g b / .15);color:var(--color-accent-info)}.status-badge.PAID{background:rgb(from var(--color-accent-success) r g b / .15);color:var(--color-accent-success)}.status-badge.REJECTED{background:rgb(from var(--color-accent-danger) r g b / .15);color:var(--color-accent-danger)}.action-buttons{gap:.5rem;display:flex}.action-btn{border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;min-width:100px;padding:.6rem 1.25rem;font-size:.825rem;font-weight:600;display:inline-flex}.action-btn.validate{background:color-mix(in srgb, var(--color-accent-info), transparent 90%);color:var(--color-accent-info)}.action-btn.validate:hover{opacity:.9}.action-btn.reject{background:color-mix(in srgb, var(--color-accent-danger), transparent 90%);color:var(--color-accent-danger)}.action-btn.reject:hover{opacity:.9}.action-btn.pay{background:var(--color-accent-success);color:var(--color-text-inverse)}.action-btn.pay:hover{opacity:.9}.view-link{color:var(--color-accent-info);align-items:center;gap:.25rem;font-weight:500;text-decoration:none;display:inline-flex}.view-link:hover{text-decoration:underline}.absences-page{background-color:var(--color-bg-base);flex-direction:column;gap:2rem;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 3rem;display:flex}.page-header{border-bottom:2px solid var(--color-brand-primary);justify-content:space-between;align-items:flex-end;padding-bottom:1.5rem;display:flex}.title-section h1{text-transform:uppercase;letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:2rem;font-weight:800}.page-subtitle{color:var(--color-text-secondary);margin-top:.25rem;font-size:.875rem;font-weight:500}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.metric-glass-card{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);align-items:center;gap:1.25rem;padding:1.5rem;transition:transform .2s;display:flex}.metric-glass-card:hover{transform:translateY(-4px)}.metric-icon-box{background:var(--color-bg-base);width:48px;height:48px;color:var(--color-brand-primary);justify-content:center;align-items:center;display:flex}.metric-details h3{text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 .25rem;font-size:.7rem;font-weight:800}.metric-value{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:900}.filters-panel{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.filters-top{justify-content:space-between;align-items:center;display:flex}.filters-title{text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.75rem;font-weight:800;display:flex}.clear-link{color:var(--color-brand-primary)!important;text-transform:uppercase!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important;font-size:.7rem!important;font-weight:800!important;text-decoration:underline!important}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.timeline-group{flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}.timeline-date{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);border-left:3px solid var(--color-brand-primary);padding-left:1rem;font-size:.8125rem;font-weight:900}.absence-item-row{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);cursor:pointer;align-items:center;min-height:100px;transition:all .2s;display:flex}.absence-item-row:hover{border-color:var(--color-brand-primary);box-shadow:var(--shadow-md);transform:translate(4px)}.absence-date-info{background:var(--color-bg-base);border-right:1px solid var(--color-bg-elevated);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:160px;padding:1.5rem;display:flex}.date-day{color:var(--color-text-primary);font-size:1.25rem;font-weight:900}.date-month{text-transform:uppercase;color:var(--color-text-secondary);font-size:.7rem;font-weight:800}.duration-tag{background:var(--color-brand-primary);color:#fff;text-transform:uppercase;margin-top:.5rem;padding:2px 8px;font-size:.6rem;font-weight:900}.absence-main-content{flex:1;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.content-left h4{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.meta-info{flex-wrap:wrap;gap:1.5rem;display:flex}.info-item{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:flex}.info-item svg{color:var(--color-brand-primary)}.absence-reason{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:400px;margin-top:.75rem;font-size:.8125rem;font-style:italic;display:-webkit-box;overflow:hidden}.content-right{align-items:center;gap:2rem;display:flex}.status-pill{text-transform:uppercase;letter-spacing:.02em;background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);text-align:center;min-width:100px;padding:.35rem 1rem;font-size:.7rem;font-weight:800}.pill-pending{color:var(--color-accent-warning);border-color:var(--color-accent-warning);background:#f59e0b0d}.pill-approved{color:var(--color-accent-success);border-color:var(--color-accent-success);background:#10b9810d}.pill-rejected{color:var(--color-accent-danger);border-color:var(--color-accent-danger);background:#ef44440d}.quick-actions-bar{border-left:1px solid var(--color-bg-elevated);gap:.5rem;padding:1.5rem;display:flex}.action-btn{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);cursor:pointer;width:38px;height:38px;color:var(--color-text-primary);justify-content:center;align-items:center;transition:all .2s;display:flex}.action-btn.success:hover{background:var(--color-accent-success);color:#fff;border-color:var(--color-accent-success)}.action-btn.danger:hover{background:var(--color-accent-danger);color:#fff;border-color:var(--color-accent-danger)}.type-badge{text-transform:uppercase;background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);color:var(--color-text-secondary);padding:2px 8px;font-size:.65rem;font-weight:800}.type-badge.CONGE{color:#3b82f6;border-color:#3b82f6}.type-badge.MALADIE{color:#ef4444;border-color:#ef4444}.type-badge.OFF{color:#10b981;border-color:#10b981}.empty-state-container{text-align:center;background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:6rem 2rem;display:flex}.empty-icon-box{background:var(--color-bg-base);width:100px;height:100px;color:var(--color-brand-primary);opacity:.6;justify-content:center;align-items:center;display:flex}.empty-state-container h3{text-transform:uppercase;color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:800}.empty-state-container p{color:var(--color-text-secondary);max-width:400px;margin:0;line-height:1.6}.loading-state{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:5rem;display:flex}.pulse-loader{background-color:var(--color-brand-primary);border-radius:50%;width:48px;height:48px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.5;transform:scale(.8)}}@media (width<=900px){.absence-main-content{flex-direction:column;align-items:flex-start;gap:1.5rem}.content-right{justify-content:space-between;width:100%}.quick-actions-bar{border-left:none;border-top:1px solid var(--color-bg-elevated);justify-content:flex-end;width:100%}}.messaging-container{background:var(--color-bg-base);height:calc(100vh - 64px);margin:-2rem;display:flex;overflow:hidden}.conversations-sidebar{border-right:1px solid var(--color-bg-elevated);background:var(--color-bg-surface);flex-direction:column;width:400px;padding-top:20px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--color-bg-elevated);padding:20px}.sidebar-header h3{color:var(--color-text-primary)}.filter-tabs{gap:10px;margin-top:15px;display:flex}.filter-tabs button{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:.85rem;transition:all .2s}.filter-tabs button.active{background:var(--color-brand-primary,#7c3aed);border-color:var(--color-brand-primary);color:#fff}.conversations-list{flex:1;overflow-y:auto}.conversation-item{cursor:pointer;border-bottom:1px solid var(--color-bg-elevated);align-items:center;gap:15px;padding:15px 20px;transition:background .2s;display:flex}.conversation-item:hover{background:var(--color-bg-surface)}.conversation-item.selected{background:var(--color-bg-surface);border-left:4px solid var(--color-brand-primary,#7c3aed)}.conv-icon{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);width:40px;height:40px;color:var(--color-brand-primary,#7c3aed);border-radius:50%;justify-content:center;align-items:center;display:flex}.conv-info{flex:1;overflow:hidden}.conv-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-weight:600;overflow:hidden}.conv-last-msg{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.status-badge.open{background:var(--color-accent-danger,#ef4444);color:#fff;border-radius:10px;padding:2px 8px;font-size:.7rem}.admin-avatar{background:var(--color-brand-primary,#7c3aed);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;display:flex}.chat-area{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--color-bg-elevated);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;justify-content:space-between;align-items:center;padding:30px 25px 15px;display:flex}.chat-status{color:var(--color-text-secondary);font-size:.85rem}.chat-actions{gap:10px;display:flex}.messages-display{flex-direction:column;flex:1;gap:15px;padding:20px;display:flex;overflow-y:auto}.message-wrapper{flex-direction:column;max-width:80%;display:flex}.message-wrapper.own{align-self:flex-end}.message-sender{color:var(--color-brand-primary);margin-bottom:4px;padding:0 5px;font-size:.75rem;font-weight:600}.own .message-sender{text-align:right}.message-content{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);border-radius:15px 15px 15px 0;padding:10px 15px}.own .message-content{background:var(--color-brand-primary,#7c3aed);color:#fff;border-radius:15px 15px 0}.message-text{line-height:1.4}.message-time{color:var(--color-text-secondary);text-align:right;margin-top:4px;font-size:.65rem}.message-attachments{flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem;display:flex}.chat-attachment{object-fit:cover;cursor:pointer;border-radius:12px;max-width:100%;max-height:300px;transition:transform .2s}.chat-attachment:hover{transform:scale(1.02)}.chat-attachment.video{width:100%}.message-input-area{border-top:1px solid var(--color-bg-elevated);background:#ffffff03;align-items:center;gap:15px;padding:15px 25px;display:flex}.attachment-btn{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.attachment-btn:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-brand-primary);border-color:var(--color-brand-primary)}.message-input-area input{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);border-radius:12px;outline:none;flex:1;padding:12px 20px}.message-input-area input:focus{border-color:var(--color-brand-primary,#7c3aed)}.message-input-area button{background:var(--color-brand-primary,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:opacity .2s;display:flex}.message-input-area button:disabled{opacity:.5;cursor:not-allowed}.empty-chat{color:#0000004d;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--border-radius-lg);flex-direction:column;width:450px;max-height:80vh;padding:24px;display:flex}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header button{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none}.modal-search-wrapper{margin-bottom:20px}.modal-search-input{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md);width:100%;color:var(--color-text-primary);outline:none;padding:10px 16px;font-size:.9rem;transition:border-color .2s}.modal-search-input:focus{border-color:var(--color-brand-primary)}.users-list{flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.user-item{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:var(--border-radius-md);justify-content:space-between;align-items:center;padding:12px;display:flex}.user-item span{font-size:.9rem;font-weight:500}.user-item button{background:var(--color-brand-primary);color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;border:none;padding:6px 12px;font-size:.8rem}.user-item button.btn-remove{background:var(--color-accent-danger,#ef4444)}.modal-user-actions{gap:8px;display:flex}.user-item button.btn-assign-small{background:var(--color-bg-base);border:1px solid var(--color-brand-primary);color:var(--color-brand-primary)}.user-item button.btn-assign-small:hover{background:var(--color-brand-primary);color:#fff}.badge-participant{background:color-mix(in srgb, var(--color-brand-primary) 10%, transparent);color:var(--color-brand-primary);border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:500}.badge-absent{color:var(--color-text-secondary);opacity:.5;font-size:.75rem}.typing-indicator-wrapper{align-items:center;gap:10px;margin-bottom:10px;padding:10px 15px;display:flex}.typing-bubble{background:var(--color-bg-surface);border-radius:12px 12px 12px 2px;gap:4px;padding:8px 12px;display:flex}.typing-bubble span{background:var(--color-text-secondary);opacity:.4;border-radius:50%;width:6px;height:6px;animation:1.4s infinite typing}.typing-bubble span:nth-child(2){animation-delay:.2s}.typing-bubble span:nth-child(3){animation-delay:.4s}.btn-primary{background:var(--color-brand-primary);color:#fff;border-radius:var(--border-radius-md);cursor:pointer;border:none;padding:10px 20px;font-weight:500;transition:opacity .2s}.btn-secondary{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);border-radius:var(--border-radius-md);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:all .2s;display:flex}.btn-secondary:hover{background:var(--color-bg-elevated);border-color:var(--color-text-secondary)}.typing-text{color:var(--color-text-secondary);font-size:.8rem;font-style:italic}.timeline-action{justify-content:center;margin:15px 0;display:flex}.timeline-action span{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:500}@keyframes typing{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.file-previews{border-top:1px solid var(--color-bg-elevated);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff08;flex-wrap:wrap;gap:12px;padding:12px 25px;display:flex}.file-preview-item{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated);border-radius:12px;align-items:center;gap:12px;padding:8px 12px 8px 8px;transition:transform .2s;display:flex;position:relative;box-shadow:0 4px 12px #0000001a}.file-preview-item:hover{transform:translateY(-2px)}.thumbnail-preview{object-fit:cover;border-radius:8px;width:48px;height:48px}.file-icon-placeholder{background:var(--color-bg-elevated);width:48px;height:48px;color:var(--color-brand-primary);border-radius:8px;justify-content:center;align-items:center;display:flex}.file-preview-info{flex-direction:column;display:flex;overflow:hidden}.file-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.85rem;font-weight:500;overflow:hidden}.file-size{color:var(--color-text-secondary);font-size:.7rem}.remove-file{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:50%;margin-left:4px;padding:4px;transition:background .2s;display:flex}.remove-file:hover{background:#ef444433}html{scrollbar-gutter:stable}:root{--color-brand-primary:#8013b6;--color-brand-primary-rgb:128, 19, 182;--color-brand-primary-hover:#610f8b;--color-brand-dark:#1f2937;--color-brand-darker:#111827;--color-brand-light:#f9fafb;--color-bg-base:#f3f4f6;--color-bg-surface:#fff;--color-bg-elevated:#e5e7eb;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-inverse:#fff;--color-accent-success:#10b981;--color-accent-warning:#f59e0b;--color-accent-danger:#ef4444;--color-accent-info:#3b82f6;--font-family-sans:"Outfit", system-ui, -apple-system, sans-serif;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--border-radius-xl:24px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-glow:0 0 15px rgb(from var(--color-brand-primary) r g b / .1);--transition-fast:.15s ease-in-out;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1)}body.dark-theme{--color-brand-primary:#b355de;--color-brand-primary-rgb:179, 85, 222;--color-brand-primary-hover:#c281e1;--color-bg-base:#19191a;--color-bg-surface:#272628;--color-bg-elevated:#3a3a3a;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-inverse:#0f172a;--shadow-sm:0 1px 3px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}.glass-panel{background:var(--color-bg-surface);border:1px solid var(--color-bg-elevated)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);letter-spacing:-.025em;margin-bottom:1rem;font-weight:600}a{color:var(--color-brand-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-brand-primary-hover)}.react-aria-Button{background:var(--color-brand-primary);color:var(--color-text-inverse);cursor:pointer!important;transition:all var(--transition-normal)!important;box-shadow:var(--shadow-sm)!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;font-weight:600!important;display:inline-flex!important}.react-aria-Button:hover{background:var(--color-brand-primary-hover)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-1px)!important}.react-aria-Button[data-pressed]{box-shadow:none;transform:translateY(1px)}.react-aria-Button.secondary{color:var(--color-text-primary)!important;border:1px solid var(--color-bg-elevated)!important;background:0 0!important}.react-aria-Button.secondary:hover{background:var(--color-bg-base)!important;box-shadow:none!important}.react-aria-Input,.react-aria-TextField input{background:var(--color-bg-base);border:1px solid var(--color-bg-elevated);color:var(--color-text-primary);width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-family:inherit;font-size:1rem}.react-aria-Input:focus,.react-aria-TextField input:focus{border-color:var(--color-brand-primary);background:var(--color-bg-surface);box-shadow:0 0 0 3px rgb(from var(--color-brand-primary) r g b / .1);outline:none}.react-aria-Label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.app-container{width:100vw;min-height:100vh;display:flex}.main-content{background:var(--color-bg-base);flex-direction:column;flex:1;min-width:0;display:flex}.content-wrapper{flex:1;padding:2rem;overflow-y:auto}.animate-fade-in{animation:fadeIn var(--transition-slow) forwards}.react-aria-Popover[data-entering],.react-aria-Modal[data-entering],.react-aria-Dialog[data-entering],.menu-popover[data-entering],.search-modal[data-entering]{animation:.2s cubic-bezier(.16,1,.3,1) forwards pop-in}.react-aria-Popover[data-exiting],.react-aria-Modal[data-exiting],.react-aria-Dialog[data-exiting],.menu-popover[data-exiting],.search-modal[data-exiting]{animation:.15s ease-in forwards pop-out}@keyframes pop-in{0%{opacity:0;transform:scale(.92)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pop-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.92)translateY(-8px)}}.react-aria-ModalOverlay[data-entering],.search-overlay[data-entering]{animation:.2s ease-out forwards backdrop-fade-in}.react-aria-ModalOverlay[data-exiting],.search-overlay[data-exiting]{animation:.15s ease-in forwards backdrop-fade-out}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-fade-out{0%{opacity:1}to{opacity:0}}
