@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Geist+Mono:wght@100..900&display=swap";:root{--bg:#fafafa;--fg:#0f172a;--muted:#64748b;--border:#e2e8f0;--surface:#fff;--accent:#1e293b;--accent-light:#f1f5f9;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", monospace;--radius:0px;--shadow-sharp:4px 4px 0px #0f172a0d;--primary:#2563eb}[data-theme=dark]{--bg:#09090b;--fg:#f4f4f5;--muted:#a1a1aa;--border:#27272a;--surface:#18181b;--accent:#fafafa;--accent-light:#27272a;--shadow-sharp:4px 4px 0px #00000080;--primary:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);background-image:radial-gradient(var(--border) .5px, transparent .5px);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-size:24px 24px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.03em;color:var(--fg);font-weight:600}p{color:var(--muted);font-size:.9375rem}button,input,select,textarea{font-family:inherit;font-size:inherit;outline:none}.page{flex-direction:column;gap:5rem;max-width:1200px;margin:0 auto;padding:5rem 2rem;display:flex}.dashboard-head{border-bottom:2px solid var(--fg);justify-content:space-between;align-items:flex-end;padding-bottom:2.5rem;display:flex;position:relative}.dashboard-head:after{content:"REF.001";font-family:var(--font-mono);color:var(--muted);letter-spacing:.1em;font-size:.65rem;position:absolute;bottom:-1.5rem;right:0}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;color:var(--fg);letter-spacing:.15em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.7rem;font-weight:600;display:flex}.eyebrow:before{content:"";background:var(--fg);width:8px;height:8px;display:inline-block}.hero{grid-template-columns:1.2fr 1fr;align-items:start;gap:6rem;display:grid}.hero-card{border:1px solid var(--fg);background:var(--surface);box-shadow:8px 8px 0px var(--fg);padding:3rem;position:relative}.hero-card:before{content:"";border-top:2px solid var(--bg);border-left:2px solid var(--bg);z-index:2;width:10px;height:10px;position:absolute;top:-1px;left:-1px}.stack{flex-direction:column;gap:2rem;display:flex}label{font-size:.75rem;font-family:var(--font-mono);text-transform:uppercase;color:var(--muted);flex-direction:column;gap:.6rem;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--border);background-color:var(--surface);color:var(--fg);border-radius:var(--radius);padding:1rem;transition:all .2s cubic-bezier(.16,1,.3,1)}input:focus,select:focus,textarea:focus{border-color:var(--fg);box-shadow:var(--shadow-sharp)}button{background-color:var(--fg);color:var(--bg);border:1px solid var(--fg);font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;padding:1rem 2rem;font-size:.8rem;transition:all .2s cubic-bezier(.16,1,.3,1)}button:hover{background-color:var(--bg);color:var(--fg);box-shadow:4px 4px 0px var(--fg)}button.ghost{color:var(--fg);border-color:var(--border);background-color:#0000}button.ghost:hover{border-color:var(--fg);box-shadow:2px 2px 0px var(--fg)}button:disabled{opacity:.3;cursor:not-allowed}.select-filter{border-radius:var(--radius);border:1px solid var(--border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--fg);cursor:pointer;appearance:none;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%230f172a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding:.5rem 2.5rem .5rem 1rem;font-size:.8rem}.select-filter:hover{border-color:var(--fg)}.file-input{border:1px dashed var(--border);background-color:var(--bg);color:var(--muted);font-family:var(--font-mono);cursor:pointer;border-radius:var(--radius);width:100%;padding:.5rem;font-size:.8rem}.file-input::file-selector-button{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-family:var(--font-mono);text-transform:uppercase;cursor:pointer;margin-right:1rem;padding:.25rem .75rem;font-size:.7rem;font-weight:600;transition:all .2s}.file-input::file-selector-button:hover{border-color:var(--fg);background-color:var(--surface)}.custom-select-container{min-width:180px;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem;position:relative}.custom-select-trigger{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--fg);cursor:pointer;background-color:#0000;justify-content:space-between;align-items:center;padding:.5rem 1rem;transition:all .2s;display:flex}.custom-select-trigger:hover{border-color:var(--fg)}.custom-select-options{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sharp);z-index:50;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.custom-select-option{text-align:left;width:100%;font-family:inherit;font-size:inherit;text-transform:inherit;letter-spacing:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;transition:all .1s}.custom-select-option:hover{background-color:var(--surface);color:var(--fg)}.custom-select-option.selected{color:var(--fg);background-color:var(--surface);font-weight:600}.requests{flex-direction:column;gap:3rem;display:flex}.requests-head{justify-content:space-between;align-items:center;display:flex}.tabs{border-bottom:1px solid var(--border);gap:3rem;display:flex}.tab{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:1rem 0;font-size:.75rem;font-weight:600;transition:all .2s}.tab.active{color:var(--fg);border-bottom-color:var(--fg)}.tab:hover{color:var(--fg);box-shadow:none;background:0 0;transform:none}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.card{border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:1.5rem;padding:1rem;transition:all .3s;display:flex}.card:hover{border-color:var(--fg);box-shadow:var(--shadow-sharp)}.panel{border:1px solid var(--border);background-color:var(--surface);padding:4rem;position:relative}.form-grid{grid-template-columns:320px 1fr;align-items:start;gap:4rem;display:grid}.calendar-block{flex-direction:column;gap:1.5rem;display:flex}.dashboard-actions{gap:1rem;margin-top:1rem;display:flex}.calendar{border:1px solid var(--fg);background:var(--surface);box-shadow:4px 4px 0px var(--border);max-width:320px;padding:1.25rem}.calendar-header{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:.7rem;font-weight:600;display:flex}.calendar-grid{background-color:var(--border);border:1px solid var(--border);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-weekday{background-color:var(--accent-light);text-align:center;color:var(--fg);font-size:.6rem;font-family:var(--font-mono);padding:.5rem;font-weight:600}.calendar-day{background-color:var(--surface);color:var(--fg);aspect-ratio:1;font-size:.75rem;font-family:var(--font-mono);cursor:pointer;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.calendar-day:not(:disabled):hover{background-color:var(--accent-light);color:var(--fg)}.calendar-day.outside,.calendar-day.past,.calendar-day.taken{color:var(--border);background-color:var(--bg);cursor:not-allowed;text-decoration:line-through}.calendar-day.selected,.calendar-day.range-start,.calendar-day.range-end{background-color:var(--fg)!important;color:var(--bg)!important}.calendar-day.in-range{background-color:var(--accent-light)}.calendar-day.holiday{color:var(--danger,#c0392b);font-weight:600}.calendar-day.holiday:after{content:"•";color:var(--danger,#c0392b);font-size:.6rem;line-height:1;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.manager-list{flex-direction:column;gap:1.5rem;display:flex}.manager-card{border:1px solid var(--border);background:var(--surface);grid-template-columns:220px 1fr;align-items:start;gap:2rem;padding:1.5rem;display:grid}.manager-card:hover{border-color:var(--fg)}.manager-fields{grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;display:grid}.summary-table{border-collapse:collapse;width:100%}.summary-table th{text-align:left;border-bottom:2px solid var(--fg);font-family:var(--font-mono);text-transform:uppercase;color:var(--fg);letter-spacing:.1em;padding:1.5rem 1rem;font-size:.65rem;font-weight:600}.summary-table th:before{content:"";background:var(--fg);vertical-align:middle;width:6px;height:6px;margin-right:.75rem;display:inline-block}.summary-table td{border-bottom:1px solid var(--border);padding:1.5rem 1rem}.summary-table tr:last-child td{border-bottom:none}.span-2{grid-column:span 2}.notice{border:1px solid var(--fg);background-color:var(--accent-light);font-size:.8rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:1.5rem;position:relative}.notice:before{content:"!";margin-right:.75rem;font-weight:900;display:inline-block}.text-success{color:#166534}.text-danger{color:#991b1b}[data-theme=dark] .text-success{color:#4ade80}[data-theme=dark] .text-danger{color:#f87171}.cta{border:2px solid var(--fg);text-align:center;background:var(--surface);box-shadow:12px 12px 0px var(--border);flex-direction:column;align-items:center;gap:2rem;padding:4rem;display:flex}.sub{max-width:600px}.toggle-nav{background:var(--surface);border:1px solid var(--border);gap:4px;width:fit-content;margin-left:auto;padding:4px;display:flex}.toggle-icon{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;width:32px;min-width:auto;height:32px;padding:0;transition:all .2s;display:flex}.toggle-icon:hover{box-shadow:none}.toggle-icon.active{background:var(--fg);color:var(--bg)}.toggle-icon:hover:not(.active){background:var(--accent-light);color:var(--fg)}@media (width<=768px){.page{gap:3rem;padding:1.5rem 1rem}.dashboard-head{flex-direction:column;align-items:flex-start;gap:1.5rem;padding-bottom:2rem}.dashboard-head:after{text-align:right;width:100%;margin-top:1rem;position:static}.dashboard-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.dashboard-actions button{white-space:nowrap;flex:1;justify-content:center}.tabs{-webkit-overflow-scrolling:touch;gap:2rem;width:100%;padding-bottom:5px;overflow-x:auto}.tabs::-webkit-scrollbar{height:3px;display:none}.tab{white-space:nowrap;flex-shrink:0}.hero{grid-template-columns:1fr;gap:3rem}.hero-card{padding:1.5rem}.form-grid{grid-template-columns:1fr;gap:3rem}.calendar{width:100%;max-width:100%}.manager-card{grid-template-columns:1fr;gap:2rem;padding:1.5rem}.manager-fields{grid-template-columns:1fr;gap:1.5rem}.span-2{grid-column:span 1}.panel{padding:1.5rem;overflow-x:hidden}.manager-list .panel{padding:1rem;overflow-x:auto}.summary-table{min-width:600px}.manager-list .panel:has(.react-flow){padding:0;overflow:hidden}}.status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-pill.present{color:#166534;background-color:#dcfce7}.status-pill.absent{color:#991b1b;background-color:#fee2e2}.status-pill.finished{color:#374151;background-color:#f3f4f6}.status-pill.exempt{color:#0369a1;background-color:#e0f2fe}[data-theme=dark] .status-pill.present{color:#4ade80;background-color:#052e16}[data-theme=dark] .status-pill.absent{color:#f87171;background-color:#450a0a}[data-theme=dark] .status-pill.finished{color:#e4e4e7;background-color:#3f3f46}[data-theme=dark] .status-pill.exempt{color:#38bdf8;background-color:#0c4a6e}.checkbox-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:inline-flex;position:relative}.checkbox-wrapper input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{border:1px solid var(--border);background-color:#0000;border-radius:4px;flex-shrink:0;width:20px;height:20px;transition:all .2s;position:relative}.checkbox-wrapper:hover input~.checkmark{border-color:var(--fg)}.checkbox-wrapper input:checked~.checkmark{background-color:var(--primary);border-color:var(--primary)}.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;display:none;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.checkbox-wrapper input:checked~.checkmark:after{display:block}.checkbox-wrapper input:focus-visible~.checkmark{outline:2px solid var(--primary);outline-offset:2px}.tab[data-id=summary]{position:relative}.tab[data-id=summary]:before{content:"";background-color:var(--border);width:1px;height:80%;position:absolute;top:50%;left:-1.5rem;transform:translateY(-50%)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.3s ease-out forwards fadeInUp}.stats-layout{align-items:flex-start;gap:2rem;display:flex}.stats-heatmap-container{flex:1}.stats-layout.with-details .stats-heatmap-container{border-right:1px solid var(--border-subtle);padding-right:2rem}.stats-details{flex-shrink:0;width:240px;min-height:200px}@media (width<=768px){.stats-layout{flex-direction:column}.stats-layout.with-details .stats-heatmap-container{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%;padding-bottom:2rem;padding-right:0}.stats-details{width:100%;min-height:auto}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--surface);border:1px solid var(--border);max-height:90vh;padding:2.5rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto;box-shadow:8px 8px #0000001a}.modal-close{color:var(--muted);cursor:pointer;width:auto;height:auto;box-shadow:none;background:0 0;border:none;padding:.5rem;font-size:1.5rem;line-height:1;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--fg);box-shadow:none;background:0 0;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
