:root{--blue:#0d9f8a;--blue-dark:#0b8574;--ink:#1a1a1a;--muted:#6b7280;--field:#f2f2f2;--field-focus:#e6e6e6;--card:#fff;--danger:#d64545;--border:#e4f0ec;--shell-top:#e9f8f4;--shell-mid:#f3faf8;--shell-bottom:#eef7f4;--shell-glow:#c5efe5;--header-bg:#fffffff5;--header-shadow:0 8px 24px #14463c0a;--surface-hover:#eef8f5;--surface-active:#d4f3ec;--nav-text:#4b5563;--nav-text-hover:#1f2937;--panel-shadow:0 10px 30px #14463c0d;--dropdown-shadow:0 16px 40px #14463c1f;--row-border:#14463c0f;--danger-soft:#fff1f0;--danger-text:#b42318;--success:#1f7a4d;--warning:#9a6700;--clock-face:#fff;--clock-tick-major:#4a5560;--clock-tick-minor:#b7c2cb;--clock-label-major:#2f3a45;--clock-label-minor:#7a8794;--clock-hand:#2f3a45;--clock-track:#d5dee6;--clock-center-bg:#fffffff5;--clock-center-text:#1f2a37;--clock-center-sub:#7a8794;--radius-card:28px;--radius-pill:999px;--font:"Plus Jakarta Sans", "Segoe UI", sans-serif;color:var(--ink);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=dark]{--blue:#2dd4bf;--blue-dark:#14b8a6;--ink:#eef3f8;--muted:#9aa7b5;--field:#1c2733;--field-focus:#243442;--card:#15202b;--danger:#f07178;--border:#2a3848;--shell-top:#0c1614;--shell-mid:#101c1a;--shell-bottom:#0a1412;--shell-glow:#2dd4bf29;--header-bg:#111a18f0;--header-shadow:0 8px 24px #00000059;--surface-hover:#1c2c28;--surface-active:#1a3832;--nav-text:#a8b4c0;--nav-text-hover:#eef3f8;--panel-shadow:0 12px 32px #00000059;--dropdown-shadow:0 18px 44px #00000073;--row-border:#eef3f814;--danger-soft:#f0717824;--danger-text:#ff8b92;--success:#4ade80;--warning:#fbbf24;--clock-face:#1a2734;--clock-tick-major:#c5d0da;--clock-tick-minor:#5a6a7a;--clock-label-major:#e8eef4;--clock-label-minor:#8a9aab;--clock-hand:#e8eef4;--clock-track:#2a3848;--clock-center-bg:#1a2734f5;--clock-center-text:#eef3f8;--clock-center-sub:#9aa7b5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 50% -10%, var(--shell-glow) 0%, transparent 55%), linear-gradient(180deg, var(--shell-top) 0%, var(--shell-mid) 45%, var(--shell-bottom) 100%);margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.boot-screen{place-content:center;justify-items:center;gap:1rem;min-height:100vh;display:grid}.brand{align-items:center;gap:.7rem;display:inline-flex}.brand-link{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0}.brand-compact .brand-name{font-size:1.15rem}.brand-mark{flex-shrink:0;place-items:center;width:34px;height:34px;display:grid;position:relative}.brand-mark-img{object-fit:contain;border-radius:50%;width:100%;height:100%;display:block}.brand:not(.brand-compact) .brand-mark{width:44px;height:44px}.brand-name{letter-spacing:-.03em;color:var(--ink);font-size:1.65rem;font-weight:700}.auth-shell{place-items:center;min-height:100vh;padding:1.5rem 1.25rem 2.5rem;display:grid;position:relative;overflow:hidden}.auth-shell:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--shell-glow) 80%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:min(52vw,420px);height:min(52vw,420px);animation:14s ease-in-out infinite alternate auth-drift;position:absolute;inset:-20% auto auto -10%}.auth-shell:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--blue) 14%, transparent) 0%, transparent 68%);pointer-events:none;border-radius:50%;width:min(48vw,380px);height:min(48vw,380px);animation:18s ease-in-out infinite alternate-reverse auth-drift;position:absolute;bottom:-18%;right:-8%}.auth-stage{z-index:1;border-radius:calc(var(--radius-card) + 4px);border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--card) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:1.05fr .95fr;gap:0;width:min(100%,980px);animation:.48s cubic-bezier(.22,1,.36,1) rise;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 70px #14463c1a,0 4px 16px #14463c0a}.auth-showcase{min-height:560px;color:var(--ink);background:linear-gradient(160deg, color-mix(in srgb, var(--blue) 18%, #0a3d36) 0%, color-mix(in srgb, var(--blue-dark) 55%, #062822) 48%, #041c18 100%);flex-direction:column;justify-content:space-between;padding:2.4rem 2.2rem 2.2rem;display:flex;position:relative;overflow:hidden}.auth-showcase-mesh{opacity:.45;pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 40% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 40% 30%,#000 20%,#0000 75%)}.auth-showcase-orb{filter:blur(2px);pointer-events:none;border-radius:50%;position:absolute}.auth-showcase-orb-a{background:radial-gradient(circle,#7de8d073,#0000 68%);width:220px;height:220px;animation:9s ease-in-out infinite auth-float;top:-60px;right:-40px}.auth-showcase-orb-b{background:radial-gradient(circle,#0d9f8a59,#0000 70%);width:180px;height:180px;animation:11s ease-in-out infinite reverse auth-float;bottom:40px;left:-50px}.auth-showcase-body{z-index:1;flex-direction:column;gap:1.6rem;height:100%;display:flex;position:relative}.auth-showcase-brand .brand-name{color:#f4fffb;font-size:clamp(1.85rem,2.6vw,2.35rem)}.auth-showcase-brand .brand-mark{width:52px;height:52px}.auth-showcase-lead{letter-spacing:-.035em;color:#f4fffbeb;max-width:18ch;margin:0;font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:700;line-height:1.25}.auth-clock-art{aspect-ratio:1;align-self:flex-end;place-items:center;width:min(100%,220px);margin-top:auto;display:grid}.auth-clock-ring{background:radial-gradient(circle at 35% 30%,#ffffff24,#0000 42%),#ffffff0f;border:1px solid #f4fffb38;border-radius:50%;width:100%;height:100%;animation:.7s cubic-bezier(.22,1,.36,1) both auth-clock-in;position:relative;box-shadow:inset 0 0 0 12px #041c182e,0 18px 40px #0000002e}.auth-clock-tick{background:#f4fffbb3;border-radius:2px;position:absolute}.auth-clock-tick-12,.auth-clock-tick-6{width:3px;height:14px;left:50%;transform:translate(-50%)}.auth-clock-tick-12{top:14px}.auth-clock-tick-6{bottom:14px}.auth-clock-tick-3,.auth-clock-tick-9{width:14px;height:3px;top:50%;transform:translateY(-50%)}.auth-clock-tick-3{right:14px}.auth-clock-tick-9{left:14px}.auth-clock-hand{transform-origin:50% 100%;background:#f4fffb;border-radius:999px;position:absolute;bottom:50%;left:50%}.auth-clock-hand-hour{width:4px;height:28%;margin-left:-2px;animation:48s linear infinite auth-hour}.auth-clock-hand-minute{background:color-mix(in srgb, var(--blue) 35%, #f4fffb);width:3px;height:38%;margin-left:-1.5px;animation:12s linear infinite auth-minute}.auth-clock-center{background:#f4fffb;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 4px #0d9f8a59}.auth-card{background:var(--card);flex-direction:column;justify-content:center;width:100%;padding:2.35rem 2rem 2rem;animation:.56s cubic-bezier(.22,1,.36,1) both rise;display:flex}.auth-card-brand{margin-bottom:1.25rem;display:none}.auth-title{letter-spacing:-.04em;margin:0 0 1.55rem;font-size:clamp(1.55rem,3vw,1.9rem);font-weight:800;line-height:1.15}.auth-subtitle{color:var(--muted);max-width:36ch;margin:-.95rem 0 1.55rem;font-size:.98rem;line-height:1.45}.auth-form{gap:1rem;display:grid}.auth-lead{color:var(--muted);margin:0;line-height:1.45}.auth-choice-grid{gap:.75rem;display:grid}.auth-choice-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-choice-card{text-align:left;border:1px solid var(--border);background:color-mix(in srgb, var(--field) 80%, transparent);color:inherit;cursor:pointer;border-radius:1.1rem;gap:.35rem;padding:1.05rem 1.15rem;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:grid}.auth-choice-card strong{font-size:1.05rem}.auth-choice-card span{color:var(--muted);font-size:.92rem;line-height:1.35}.auth-choice-card:hover,.auth-choice-card.is-selected{border-color:color-mix(in srgb, var(--blue) 55%, var(--border));background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 14%, transparent);transform:translateY(-1px)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-drift{0%{transform:translate(0,0)}to{transform:translate(24px,18px)}}@keyframes auth-float{0%,to{transform:translate(0,0)}50%{transform:translate(10px,-14px)}}@keyframes auth-clock-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes auth-hour{0%{transform:rotate(40deg)}to{transform:rotate(400deg)}}@keyframes auth-minute{0%{transform:rotate(120deg)}to{transform:rotate(480deg)}}.auth-name-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.phone-row{grid-template-columns:7.5rem minmax(0,1fr);gap:.55rem;display:grid}.phone-country{background:var(--field);border-radius:var(--radius-pill);width:100%;color:var(--ink);border:none;outline:none;padding:.95rem .75rem}.auth-back-btn{width:100%;margin-top:.15rem}.auth-form-actions{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.15rem;display:flex}.auth-form-actions .auth-back-btn{flex:none;width:auto;margin-top:0}.auth-form-actions .primary-btn{flex:none;width:auto;margin-left:auto}.auth-meta{margin:0;font-size:.9rem}.org-logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.org-logo-preview,.org-logo-placeholder{object-fit:cover;border-radius:.85rem;width:72px;height:72px}.org-logo-placeholder{color:#777;background:#ececec;place-items:center;font-size:.8rem;font-weight:600;display:grid}.org-logo-actions{flex-wrap:wrap;gap:.5rem;display:flex}.org-logo-actions .outline-btn{width:auto;margin:0;padding:.55rem .95rem;font-size:.88rem}@media (width<=520px){.auth-choice-grid-compact,.auth-name-row,.phone-row{grid-template-columns:1fr}}.field{gap:.45rem;display:grid}.field-label{color:var(--ink);font-size:.92rem;font-weight:600}.field-required{color:#d64545;margin-left:.15rem}.field-error{color:#d64545;margin:0;font-size:.82rem;font-weight:600}.field-invalid input,.field-invalid textarea,.field-invalid .project-select-trigger,.field-invalid .date-input-control,.field-invalid .date-input-control input{box-shadow:0 0 0 2px #d6454547}.field input,.field select{background:var(--field);border-radius:var(--radius-pill);width:100%;color:var(--ink);border:none;outline:none;padding:.95rem 1.15rem;transition:box-shadow .16s,background .16s}.field input:focus,.field select:focus{background:var(--field-focus);box-shadow:0 0 0 3px #0d9f8a2e}.password-wrap{position:relative}.password-wrap input{padding-right:3rem}.icon-btn{color:#777;background:0 0;border:none;place-items:center;padding:.25rem;display:grid;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.icon-btn:hover{color:#333}.primary-btn{border-radius:var(--radius-pill);background:var(--blue);color:#fff;border:none;width:100%;margin-top:.35rem;padding:.95rem 1.25rem;font-size:1.05rem;font-weight:700;transition:background .16s,transform .16s}.primary-btn:hover:not(:disabled){background:var(--blue-dark)}.primary-btn:active:not(:disabled){transform:translateY(1px)}.primary-btn:disabled{opacity:.7;cursor:not-allowed}.primary-btn-inline{white-space:nowrap;width:auto;margin-top:0;padding-inline:1.4rem}.auth-switch{text-align:center;color:var(--muted);margin:1.15rem 0 0;font-size:.95rem}.auth-switch a{color:var(--blue);font-weight:600;text-decoration:none}.auth-switch a:hover{text-underline-offset:.15em;text-decoration:underline}@media (prefers-reduced-motion:reduce){.auth-shell:before,.auth-shell:after,.auth-showcase-orb-a,.auth-showcase-orb-b,.auth-clock-hand-hour,.auth-clock-hand-minute,.auth-stage,.auth-card,.auth-clock-ring{animation:none}}.text-link{color:var(--blue);background:0 0;border:none;padding:0;font-weight:700}.text-link:hover{text-decoration:underline}.form-error{color:var(--danger);margin:0;font-size:.9rem;font-weight:500}.muted{color:var(--muted)}.dashboard-shell{min-height:100vh;padding:0 0 2.5rem}.app-header{z-index:40;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);width:100%;box-shadow:var(--header-shadow);position:sticky;top:0}.app-header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;width:100%;margin:0;padding:.7rem 1rem;display:grid}.app-header-left{flex-shrink:0;align-items:center;gap:.65rem;min-width:0;display:flex}.nav-burger{color:var(--nav-text);background:0 0;border:none;padding:.35rem;display:none}.top-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem;width:100%;min-width:0;display:flex}.nav-item{color:var(--nav-text);white-space:nowrap;background:0 0;border:none;border-radius:12px;align-items:center;gap:.35rem;padding:.5rem .6rem;font-size:.84rem;font-weight:600;transition:background .16s,color .16s;display:inline-flex}.nav-item:hover{background:var(--surface-hover);color:var(--nav-text-hover)}.nav-item-active,.nav-item-open{background:var(--surface-active);color:var(--blue)}.nav-dropdown{flex-shrink:0;position:relative}.nav-submenu{background:var(--card);border:1px solid var(--border);min-width:220px;box-shadow:var(--dropdown-shadow);z-index:50;border-radius:14px;gap:.1rem;padding:.4rem;animation:.18s ease-out rise;display:grid;position:absolute;top:calc(100% + .4rem);left:0}.nav-subitem{text-align:left;color:var(--ink);background:0 0;border:none;border-radius:10px;padding:.65rem .8rem;font-size:.9rem;font-weight:500}.nav-subitem:hover{background:var(--surface-hover)}.nav-subitem-active{background:var(--surface-active);color:var(--blue);font-weight:700}.header-actions{flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.profile-menu{position:relative}.profile-trigger{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:999px;align-items:center;gap:.55rem;max-width:220px;padding:.3rem .55rem .3rem .3rem;display:inline-flex}.profile-trigger:hover,.profile-trigger-open{border-color:color-mix(in srgb, var(--blue) 45%, var(--border));background:var(--surface-hover)}.profile-avatar{background:var(--surface-active);width:32px;height:32px;color:var(--blue);text-transform:uppercase;border-radius:50%;flex-shrink:0;place-items:center;font-size:.85rem;font-weight:800;display:grid;overflow:hidden}.profile-avatar-photo{object-fit:cover;width:100%;height:100%;display:block}.profile-meta{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.user-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.86rem;font-weight:700;overflow:hidden}.user-chip-role{color:var(--muted);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.72rem;overflow:hidden}.profile-dropdown{background:var(--card);border:1px solid var(--border);min-width:220px;box-shadow:var(--dropdown-shadow);z-index:60;border-radius:14px;gap:.2rem;padding:.45rem;animation:.18s ease-out rise;display:grid;position:absolute;top:calc(100% + .45rem);right:0}.profile-dropdown-info{border-bottom:1px solid var(--border);gap:.15rem;margin-bottom:.15rem;padding:.55rem .7rem .65rem;display:grid}.profile-dropdown-name{color:var(--ink);font-size:.92rem;font-weight:700}.profile-dropdown-email{color:var(--muted);word-break:break-all;font-size:.8rem}.profile-dropdown-item{text-align:left;background:0 0;border:none;border-radius:10px;padding:.7rem .8rem;font-size:.9rem;font-weight:700}.profile-dropdown-item-action{color:var(--ink)}.profile-dropdown-item-action:hover,.profile-dropdown-item-active{background:var(--surface-hover);color:var(--blue)}.profile-dropdown-theme{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.theme-switch{background:#c9d4de;border-radius:999px;flex-shrink:0;width:2.35rem;height:1.3rem;transition:background .16s;position:relative}.theme-switch-on{background:var(--blue)}.theme-switch-knob{background:#fff;border-radius:50%;width:1rem;height:1rem;transition:transform .16s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 4px #0003}.theme-switch-on .theme-switch-knob{transform:translate(1.05rem)}.profile-dropdown-item-danger{color:var(--danger-text)}.profile-dropdown-item-danger:hover{background:var(--danger-soft)}.dashboard-main{gap:1rem;width:100%;margin:1.5rem 0 0;padding:0 1rem;display:grid}.panel{background:var(--card);border:1px solid var(--border);box-shadow:var(--panel-shadow);color:var(--ink);border-radius:22px;padding:1.5rem 1.4rem;animation:.42s ease-out rise}.panel h1,.panel h2{letter-spacing:-.03em;margin:0 0 .35rem}.panel h1{font-size:1.7rem}.panel h2{font-size:1.2rem}.panel-hero{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.create-form .primary-btn{align-self:end}.table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.85rem .5rem}.users-table th{text-transform:capitalize;letter-spacing:.01em;color:var(--muted);font-size:.8rem;font-weight:700}.role-badge{border-radius:var(--radius-pill);text-transform:capitalize;color:#0b8574;background:#eef8f5;align-items:center;padding:.2rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.role-super_admin{color:#b44b16;background:#fff0e8}.role-admin{color:#1f7a4d;background:#e8f7ef}.config-layout{grid-template-columns:240px minmax(0,1fr);gap:1rem;width:100%;display:grid}.config-sidebar{background:var(--card);border-radius:22px;height:fit-content;padding:1.25rem 1rem;position:sticky;top:5.5rem;box-shadow:0 10px 30px #143c5a0d}.config-sidebar h2{letter-spacing:-.03em;margin:0 0 1rem;font-size:1.2rem}.config-sidebar-nav{gap:.35rem;display:grid}.config-sidebar-item{text-align:left;color:#4b5563;background:0 0;border:none;border-radius:12px;padding:.75rem .9rem;font-weight:600}.config-sidebar-item:hover{background:var(--surface-hover)}.config-sidebar-item-active{background:var(--surface-active);color:var(--blue)}.config-content{min-width:0}.config-panel{background:var(--card);border-radius:22px;padding:1.5rem 1.4rem;box-shadow:0 10px 30px #143c5a0d}.config-panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.config-trash-btn{align-items:center;gap:.4rem;display:inline-flex}.config-trash-btn-danger{color:#b42318}.config-trash-btn-danger:hover:not(:disabled){color:#912018;background:#fef3f2}.config-panel h2,.config-panel h3{letter-spacing:-.03em;margin:0 0 .35rem}.config-panel h2{font-size:1.5rem}.config-panel h3{font-size:1.05rem}.config-field{max-width:420px;margin-bottom:1rem}.config-card{border:1px solid var(--border);border-radius:16px;margin-bottom:1rem;padding:1.1rem 1rem}.config-form-grid,.config-inline-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.config-inline-form{grid-template-columns:1fr auto;align-items:end}.role-list{gap:.5rem;display:grid}.role-list-item{background:var(--field);color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;display:flex}.role-list-item-main{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.role-list-actions{flex-shrink:0;align-items:center;gap:.15rem;display:inline-flex}.role-list-edit-form{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.role-list-edit-form input{box-sizing:border-box;background:var(--field);border-radius:var(--radius-pill);min-width:10rem;min-height:2.4rem;color:var(--ink);border:none;outline:none;flex:1;padding:.55rem .9rem;font-size:.9rem}.role-list-item-system{background:var(--surface-active)}.role-list-item-custom{background:#f8fafc}.role-list-badge{color:var(--blue);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.role-list-badge-custom{color:#7a5c00;background:#fff6db;border-radius:999px;padding:.15rem .5rem}.role-list-badge-system{color:var(--blue-dark);background:var(--surface-active);border-radius:999px;padding:.15rem .5rem}.config-role-field{max-width:420px;margin:1rem 0}.role-select{gap:.45rem;display:grid;position:relative}.role-select-trigger{background:var(--field);border-radius:var(--radius-pill);text-align:left;border:none;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1.1rem;display:flex}.role-select-trigger:hover,.role-select-trigger-open{background:var(--field-focus);box-shadow:0 0 0 3px #0d9f8a2e}.role-select-value{align-items:center;gap:.6rem;min-width:0;display:inline-flex}.role-select-chevron{color:#6b7280;font-size:.85rem}.role-select-menu{z-index:30;border:1px solid var(--border);background:#fff;border-radius:14px;gap:.15rem;max-height:280px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #143c5a1f}.role-select-option{text-align:left;color:#1f2937;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;font-weight:600;display:flex}.role-select-option:hover,.role-select-option-selected{background:var(--surface-active)}.menu-check-list{gap:.35rem;margin:1rem 0;display:grid}.menu-check-item{border-radius:10px;align-items:center;gap:.65rem;padding:.45rem .35rem;display:flex}.menu-check-item:hover{background:var(--surface-hover)}.menu-check-item input{width:16px;height:16px;accent-color:var(--blue)}.menu-check-tag{color:#6b7280;background:#eef2f7;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.config-panel-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.config-header-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.config-card-title-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.permission-subject-row{flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.permission-kind-toggle{background:var(--field);border-radius:var(--radius-pill);gap:.2rem;padding:.25rem;display:inline-flex}.permission-kind-btn{border-radius:var(--radius-pill);color:var(--muted);background:0 0;border:none;padding:.55rem 1rem;font-weight:700}.permission-kind-btn-active{background:var(--card);color:var(--blue);box-shadow:0 1px 4px #0f172a14}.permission-subject-field{min-width:min(320px,100%);margin-bottom:0}.permission-table-wrap{border:1px solid var(--border);border-radius:16px;overflow:auto}.permission-table th,.permission-table td{vertical-align:middle}.permission-check-col{text-align:center;width:88px}.permission-check-col input{width:16px;height:16px;accent-color:var(--blue)}.permission-menu-label{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.permission-menu-name{font-weight:700}.menu-list{gap:.75rem;display:grid}.menu-list-item{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:16px;gap:.75rem;padding:1rem;display:grid}.menu-drag-handle{color:#9ca3af;letter-spacing:-.08em;cursor:grab;-webkit-user-select:none;user-select:none;font-size:.85rem}.menu-list-item,.menu-list-child{cursor:grab}.menu-list-item.menu-dragging,.menu-list-child.menu-dragging{opacity:.55}.menu-list-item.menu-drop-target,.menu-list-child.menu-drop-target{box-shadow:inset 0 0 0 2px #0d9f8a59}.menu-list-actions,.menu-list-actions button{cursor:pointer}.menu-list-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.menu-list-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.45rem;display:flex}.menu-delete-btn{color:#b42318}.menu-delete-btn:hover{color:#912018;background:#fff1f0}.confirm-overlay{z-index:1000;background:#0f172a73;place-items:center;padding:1rem;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--card);width:min(420px,100%);color:var(--ink);border:1px solid var(--border);box-shadow:var(--dropdown-shadow);border-radius:20px;gap:.75rem;padding:1.35rem 1.3rem 1.2rem;animation:.22s ease-out rise;display:grid}.confirm-dialog h3{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.2rem}.confirm-dialog p{margin:0;line-height:1.45}.confirm-dialog-actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.confirm-danger-btn{background:#d64545}.confirm-danger-btn:hover:not(:disabled){background:#b42318}.app-toast-viewport{z-index:1100;pointer-events:none;justify-content:center;padding:0 1rem;display:flex;position:fixed;top:4.6rem;left:0;right:0}.app-toast{pointer-events:auto;color:#fff;text-align:center;background:#111827;border-radius:999px;max-width:min(32rem,100vw - 2rem);padding:.75rem 1.35rem;font-size:.95rem;font-weight:600;line-height:1.3;animation:.22s ease-out toast-drop;box-shadow:0 12px 32px #0f172a38}.app-toast-error{background:#b42318}@keyframes toast-drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.menu-list-main,.menu-list-child{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:flex}.menu-list-child{justify-content:space-between}.menu-list-label{color:var(--ink);font-weight:700}.menu-list-key{font-size:.8rem}.menu-list-children{border-top:1px solid var(--border);gap:.35rem;margin:0;padding:.35rem 0 0 1.1rem;list-style:none;display:grid}.menu-list-child{border-radius:10px;padding:.45rem .35rem}.menu-list-child:hover{background:var(--surface-hover)}.menu-sections{grid-template-columns:1fr;gap:1rem;display:grid}.menu-section-card{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:16px;gap:.75rem;padding:1rem;display:grid}.menu-section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.65rem;display:flex}.menu-section-title{align-items:center;gap:.55rem;min-width:0;font-weight:700;display:inline-flex}.menu-section-title input{width:16px;height:16px;accent-color:var(--blue)}.menu-section-items{gap:.2rem;display:grid}.menu-section-empty{margin:0;font-size:.88rem}.ghost-btn-small{padding:.35rem .75rem;font-size:.8rem}.ghost-btn{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:var(--radius-pill);align-items:center;gap:.45rem;padding:.7rem 1rem;font-weight:700;display:inline-flex}.ghost-btn:hover{background:var(--surface-hover)}.outline-btn{border:1.5px solid var(--blue);background:var(--card);color:var(--blue);border-radius:var(--radius-pill);align-items:center;gap:.45rem;padding:.7rem 1.05rem;font-weight:700;display:inline-flex}.outline-btn:hover{background:var(--surface-active)}.projects-row{cursor:pointer}.project-detail-page{gap:1rem;display:grid}.project-detail-header h1{letter-spacing:-.04em;margin:.4rem 0 0;font-size:2rem}.project-detail-form{gap:1rem;display:grid}.project-detail-card h2{text-transform:lowercase;margin:0 0 1rem;font-size:1.15rem}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-time-tracking{gap:.85rem;display:grid}.project-time-tracking-total{margin:0;font-size:.95rem}.project-time-tracking .muted{color:var(--muted,#8a96a3);margin:0}.project-time-modal{text-align:left;width:min(720px,100vw - 2rem);max-height:min(85vh,900px);padding:1.25rem 1.35rem;overflow:auto}.project-time-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.project-time-modal-header h2{margin:0 0 .25rem;font-size:1.15rem}.project-time-modal-header .muted{margin:0}.project-time-modal-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.project-time-date-filter{max-width:280px}.project-time-period-filter{gap:.85rem;margin-bottom:1rem;display:grid}.timesheet-filters-panel .project-time-period-filter{margin-bottom:0}.project-time-period-filter .date-stepper{max-width:22rem}.project-time-period-date-row{flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem;display:flex}.project-time-period-date-row-with-slot .date-stepper,.project-time-period-date-row-with-slot .timesheet-custom-range{flex:0 auto}.project-time-period-end-slot{flex-wrap:wrap;flex:auto;align-items:flex-end;gap:.85rem 1rem;min-width:0;display:flex}.project-time-period-range{margin:0;font-size:.9rem}.timesheet-page{flex-direction:column;gap:1.35rem;display:flex}.timesheet-page>.panel{margin:0}.timesheet-custom-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;max-width:32rem;display:grid}.timesheet-project-filter,.timesheet-employee-filter{flex:12rem;min-width:12rem;max-width:18rem}.timesheet-filters-panel .project-time-period-date-row{align-items:flex-end}.timesheet-filters-panel .date-stepper-label,.timesheet-filters-panel .timesheet-project-filter .field-label,.timesheet-filters-panel .timesheet-employee-filter .field-label{color:var(--muted,#8a96a3);text-transform:none;font-size:.8rem;font-weight:600;line-height:1.2}.timesheet-filters-panel .date-stepper-controls,.timesheet-filters-panel .timesheet-project-filter .project-select-trigger,.timesheet-filters-panel .timesheet-employee-filter .project-select-trigger{min-height:2.75rem}.timesheet-filters-panel .date-stepper-input .date-input-control input[type=text]{box-sizing:border-box;min-height:2.75rem;padding-top:.55rem;padding-bottom:.55rem}.timesheet-filters-panel .timesheet-project-filter .project-select-trigger,.timesheet-filters-panel .timesheet-employee-filter .project-select-trigger{box-sizing:border-box;height:2.75rem;padding:0 .9rem;font-size:.9rem}.timesheet-filters-panel .project-select-trigger .project-select-option-text{flex-wrap:nowrap;align-items:center;overflow:hidden}.timesheet-filters-panel .project-select-trigger .project-select-option-name,.timesheet-filters-panel .project-select-trigger .project-select-option-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timesheet-filters-panel .project-select-trigger .project-select-option-meta{font-size:.82rem}.timesheet-filters-panel .timesheet-custom-range .date-input-control input[type=text]{box-sizing:border-box;min-height:2.75rem}.timesheet-report-header{gap:.35rem;margin-bottom:.5rem;display:grid}.timesheet-employee-name{margin:0;font-size:1.25rem}.timesheet-period-heading{color:var(--muted,#8a96a3);margin:0;font-size:.95rem}.timesheet-col-index{width:3rem}.timesheet-col-expand{text-align:center;width:2.75rem}.timesheet-expand-btn{width:2rem;height:2rem;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:.4rem;justify-content:center;align-items:center;padding:0;transition:transform .15s,background .12s;display:inline-flex}.timesheet-expand-btn:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.timesheet-expand-btn-open{transform:rotate(90deg)}.timesheet-leave-label{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.timesheet-leave-row td{background:#f59e0b0f}.timesheet-session-row td{color:var(--muted,#8a96a3);background:color-mix(in srgb, currentColor 3%, transparent);font-size:.9rem}@media (width<=640px){.timesheet-custom-range{grid-template-columns:1fr}.project-time-period-end-slot{width:100%}.timesheet-project-filter,.timesheet-employee-filter{flex:100%;max-width:none}}.project-time-unassigned-row td{color:var(--muted,#8a96a3);font-style:italic}.project-time-unassigned-label{align-items:center;gap:.4rem;display:inline-flex}.info-tip{cursor:help;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.info-tip-icon{width:.95rem;height:.95rem;color:var(--muted,#8a96a3);-webkit-user-select:none;user-select:none;border:1.5px solid;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.info-tip-popup{color:#fff;text-align:center;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:20;background:#1f2933;border-radius:.35rem;width:max-content;max-width:14rem;padding:.4rem .55rem;font-size:.75rem;font-style:normal;font-weight:500;line-height:1.3;transition:opacity .12s;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)}.info-tip-popup:after{content:"";border:5px solid #0000;border-top-color:#1f2933;position:absolute;top:100%;left:50%;transform:translate(-50%)}.info-tip:hover .info-tip-popup,.info-tip:focus-visible .info-tip-popup{opacity:1;visibility:visible}.project-time-period-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}@media (width<=640px){.project-time-modal-filters{grid-template-columns:1fr}}.project-detail-span{grid-column:1/-1}.project-detail-textarea{background:var(--field);width:100%;color:var(--ink);resize:vertical;min-height:120px;font:inherit;border:none;border-radius:18px;outline:none;padding:.95rem 1.15rem}.project-detail-textarea:focus{background:var(--field-focus);box-shadow:0 0 0 3px #0d9f8a2e}.project-contact-heading{background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem;padding:0;display:flex}.project-contact-heading h2{margin:0}.project-contacts{gap:1.25rem;display:grid}.project-contact-block{border-top:1px solid var(--border);gap:.85rem;padding-top:.75rem;display:grid}.project-contact-block h3{margin:0;font-size:1rem}.project-contact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.project-contact-note{grid-column:span 2}.project-contact-image{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.project-contact-preview{object-fit:cover;border-radius:50%;width:48px;height:48px}.project-contact-add-image{cursor:pointer}.project-contact-formats{font-size:.8rem}.project-contact-footer,.project-detail-actions{justify-content:flex-end;display:flex}.project-nested-section{gap:1rem;margin-bottom:1.25rem;display:grid}.project-nested-section:last-child{margin-bottom:0}.project-nested-section h3{text-transform:lowercase;margin:0;font-size:1rem}.project-nested-list{gap:1rem;display:grid}.project-nested-block{border-top:1px solid var(--border);gap:.85rem;padding-top:.75rem;display:grid}.project-nested-block h3,.project-nested-block h4{margin:0;font-size:.95rem}.project-checklist-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.project-checklist-checkbox{align-items:center;gap:.45rem;padding-bottom:.35rem;font-size:.9rem;display:inline-flex}.project-attachment-upload{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.projects-page{gap:1rem;display:grid}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.projects-header h1{letter-spacing:-.04em;margin:0;font-size:2rem}.projects-header-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.projects-more{position:relative}.projects-more-trigger{min-width:5.5rem}.projects-more-menu{z-index:40;border:1px solid var(--border);background:#fff;border-radius:14px;min-width:190px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 16px 40px #143c5a1f}.projects-more-menu button{text-align:left;color:#1f2937;background:0 0;border:none;border-radius:10px;padding:.7rem .8rem;font-weight:600}.projects-more-menu button:hover{background:var(--surface-active);color:var(--blue)}.projects-panel{gap:1rem;display:grid}.projects-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.projects-search{min-width:min(280px,100%);position:relative}.projects-search input{background:var(--field);border-radius:var(--radius-pill);width:100%;color:var(--ink);border:none;outline:none;padding:.8rem 2.5rem .8rem 1.1rem}.projects-search input::placeholder{color:var(--muted)}.projects-search input:focus{background:var(--field-focus);box-shadow:0 0 0 3px #0d9f8a2e}.projects-search-icon{color:var(--muted);pointer-events:none;display:grid;position:absolute;top:50%;right:.95rem;transform:translateY(-50%)}.projects-filter{background:var(--field);border-radius:var(--radius-pill);align-items:center;gap:.45rem;padding:.35rem .7rem .35rem .9rem;display:inline-flex}.projects-filter-label{color:var(--muted);text-transform:lowercase;font-size:.78rem;font-weight:700}.projects-filter select{color:var(--ink);background:0 0;border:none;outline:none;padding:.4rem .15rem;font-weight:600}.projects-filter-clear{color:#6b7280;background:0 0;border:none;padding:.1rem .25rem;font-size:1.1rem;line-height:1}.projects-table-wrap{border:1px solid var(--border);border-radius:18px;overflow:auto}.projects-table{border-collapse:collapse;width:100%;min-width:980px}.projects-table th,.projects-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.95rem 1rem}.projects-table th{color:var(--muted);background:color-mix(in srgb, var(--field) 55%, var(--card));font-size:.88rem;font-weight:700}.projects-table tbody tr:last-child td{border-bottom:none}.projects-check-col{width:44px}.projects-sort-btn{font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-weight:700;display:inline-flex}.projects-name-cell{align-items:center;gap:.85rem;min-width:0;display:flex}.projects-icon{color:#6b7280;background:#eef2f7;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.projects-name{color:#111827;font-weight:700}.projects-number{color:var(--muted);margin-top:.15rem;font-size:.85rem}.projects-progress{align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.projects-progress-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px}.projects-progress-dot-done{background:#22c55e}.projects-employees{gap:.3rem;display:grid}.projects-employees-inline{margin-top:.35rem}.projects-avatar-stack{align-items:center;display:flex}.projects-avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;width:32px;height:32px;margin-left:-.35rem}.projects-avatar:first-child{margin-left:0}.projects-avatar-initials{color:#fff;background:var(--blue);text-transform:uppercase;place-items:center;font-size:.7rem;font-weight:800;display:inline-grid}.projects-more-employees{color:var(--muted);font-size:.78rem}.projects-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.projects-page-size{color:var(--muted);align-items:center;gap:.55rem;font-size:.9rem;display:inline-flex}.projects-page-size select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.35rem .55rem}.projects-page-range{color:#374151;font-size:.9rem;font-weight:600}.projects-page-nav{align-items:center;gap:.35rem;display:inline-flex}.projects-page-nav .ghost-btn-small{border-radius:999px;justify-content:center;min-width:2rem;height:2rem;padding:0}.projects-page-number{min-width:2rem;height:2rem;padding:0}.projects-page-number-active{background:var(--surface-active);color:var(--blue);border-color:color-mix(in srgb, var(--blue) 45%, var(--border));font-weight:600}.projects-page-ellipsis{text-align:center;min-width:1.25rem;color:var(--muted);font-size:.9rem}.projects-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.projects-create-actions{grid-column:1/-1}.create-user-page,.create-user-form{gap:1rem;display:grid}.create-user-fieldset{border:0;gap:1rem;min-inline-size:0;margin:0;padding:0;display:grid}.create-user-fieldset-readonly,.create-user-fieldset:disabled{opacity:1}.create-user-fieldset-readonly input,.create-user-fieldset-readonly textarea,.create-user-fieldset-readonly .project-select-trigger,.create-user-fieldset-readonly .date-input-control,.create-user-fieldset-readonly .date-input-control input,.create-user-fieldset:disabled input,.create-user-fieldset:disabled textarea,.create-user-fieldset:disabled .project-select-trigger,.create-user-fieldset:disabled .date-input-control,.create-user-fieldset:disabled .date-input-control input{color:#64748b;cursor:default;background:#f8fafc;border-color:#e2e8f0}.create-user-fieldset-readonly .project-select-trigger:hover,.create-user-fieldset:disabled .project-select-trigger:hover{border-color:#e2e8f0}.profile-view-only-badge{color:#64748b;letter-spacing:.02em;background:#f1f5f9;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.create-user-avatar-block{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.create-user-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.create-user-actions .create-user-delete-btn{color:#b42318;border-color:#fecdca;margin-right:auto}.create-user-actions .create-user-delete-btn:hover:not(:disabled){background:#fef3f2}.create-user-hint{margin:0 0 1rem}.employees-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.employees-toolbar .projects-search{flex:0 auto;width:min(300px,100%)}.employees-filter-toggle{border:1px solid var(--border);background:var(--card);width:2.4rem;height:2.4rem;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.employees-filter-toggle:hover,.employees-filter-toggle-active{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 45%, var(--border));background:var(--surface-active)}.employees-filters{flex-wrap:wrap;justify-content:flex-start;align-items:end;gap:.75rem;max-width:56rem;margin:-.25rem 0 1rem;display:flex}.employees-filters>*{flex:0 0 12.5rem;width:12.5rem;min-width:0;max-width:12.5rem}.employees-filters .project-select,.employees-filters .field{gap:.45rem;width:100%;display:grid}.employees-filters .field-label,.employees-filters .project-select .field-label,.employees-filters .project-select-compact .field-label{color:var(--ink);text-transform:none;letter-spacing:normal;font-size:.92rem;font-weight:600}.employees-filters .field input,.employees-filters .project-select-trigger{box-sizing:border-box;background:var(--field);border-radius:var(--radius-pill);width:100%;min-height:2.75rem;color:var(--ink);border:none;outline:none;padding:.7rem 1rem;font-size:.9rem}.employees-filters .project-select-compact{min-width:0}.projects-filters{flex-wrap:nowrap;width:100%;max-width:none;padding-bottom:.15rem;overflow-x:auto}@media (width<=720px){.employees-filters>*{flex:100%;width:100%;max-width:none}.projects-filters{flex-wrap:nowrap}.projects-filters>*{flex:0 0 12.5rem;width:12.5rem;max-width:12.5rem}}.icon-action-btn{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-action-btn:hover{background:var(--surface-hover);color:var(--ink)}.icon-action-btn-danger{color:#b42318}.icon-action-btn-danger:hover{color:#912018;background:#fef3f2}.employees-index-col{width:3rem;color:var(--muted);font-variant-numeric:tabular-nums}.employees-row-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.config-status-toggle{cursor:pointer;justify-content:center;align-items:center;width:2rem;height:2rem;margin:0;display:inline-flex}.config-status-toggle input{width:1.05rem;height:1.05rem;accent-color:var(--blue);cursor:pointer}.employees-delete-btn{color:#b42318}.employees-delete-btn:hover:not(:disabled){background:#fef3f2}.employee-status-badge{border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}.employee-status-working{color:#027a48;background:#ecfdf3}.employee-status-quit{color:#b42318;background:#fef3f2}.employee-status-hold{color:#c2410c;background:#fff7ed}.employee-status-leave{color:#1d4ed8;background:#eff6ff}.profile-page{gap:1.25rem;display:grid}.profile-page-header{gap:.75rem;display:grid}.profile-page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.profile-page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin-left:auto;display:flex}.profile-back-link{color:#0d9f8a;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-weight:600}.profile-back-link:hover{text-decoration:underline}.profile-page-title{letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700}.profile-hero{grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:start;gap:1.5rem 2rem;display:grid}.profile-avatar-column{flex-direction:column;align-items:center;gap:.75rem;display:flex}.profile-avatar-image,.profile-avatar-initials{object-fit:cover;border-radius:999px;width:148px;height:148px}.profile-avatar-initials{color:#fff;text-transform:uppercase;place-items:center;font-size:2.5rem;font-weight:700;display:grid}.profile-avatar-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}.profile-avatar-btn{border:1px solid color-mix(in srgb, var(--blue) 45%, var(--border));background:var(--card);width:100%;color:var(--blue);font:inherit;cursor:pointer;border-radius:999px;padding:.55rem .85rem;font-size:.9rem}.profile-avatar-btn:hover:not(:disabled){background:var(--surface-active)}.profile-avatar-btn:disabled{opacity:.6;cursor:not-allowed}.profile-hero-fields .project-detail-grid{margin-top:0}.profile-accordion .project-contact-heading{width:100%;padding:.85rem .25rem}.profile-accordion .project-contact-heading h2{text-transform:none;font-size:1rem;font-weight:500}.profile-further-comments{gap:.5rem;margin-top:.25rem;display:grid}.profile-further-comments h2{color:#6b7280;margin:0;font-size:.95rem;font-weight:500}.profile-further-comments-input{width:100%;min-height:120px;font:inherit;resize:vertical;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:.85rem 1rem}@media (width<=860px){.profile-hero{grid-template-columns:1fr}.profile-avatar-column{max-width:240px}}.date-input-field{gap:.35rem;display:grid}.date-input-control{align-items:center;display:flex;position:relative}.date-input-control input[type=text]{width:100%;padding-right:2.5rem}.date-input-control.date-input-invalid input[type=text]{border-color:#f04438}.date-input-picker-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:.3rem;line-height:1;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.date-input-picker-btn:hover:not(:disabled){color:var(--ink)}.date-input-picker-btn:disabled{opacity:.5;cursor:not-allowed}.date-input-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.date-input-popover{z-index:1400;background:var(--card);width:280px;color:var(--ink);border:1px solid var(--border);box-shadow:var(--dropdown-shadow);border-radius:12px;padding:.75rem;position:fixed}.date-input-popover-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.date-input-popover-title{font-size:.95rem;font-weight:600}.date-input-popover-weekdays,.date-input-popover-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.date-input-popover-weekdays{margin-bottom:.25rem}.date-input-popover-weekdays span{text-align:center;color:var(--muted);padding:.2rem 0;font-size:.72rem;font-weight:600}.date-input-day{aspect-ratio:1;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:.88rem}.date-input-day:hover{background:var(--surface-hover)}.date-input-day-today{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 55%, transparent)}.date-input-day-selected{background:var(--blue);color:#fff}.date-input-day-selected:hover{background:var(--blue-dark)}.date-input-day:disabled,.date-input-day-disabled{opacity:.35;cursor:not-allowed}.date-input-popover-footer{border-top:1px solid var(--border);justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.55rem;display:flex}.date-input-error{color:#b42318;font-size:.8rem}.settings-page{gap:1rem;display:grid}.settings-panel{max-width:36rem}.settings-hint{margin:0 0 1rem}.settings-field{max-width:24rem}.settings-password-form{gap:.85rem;max-width:24rem;display:grid}.settings-password-actions{justify-content:flex-start;margin-top:.25rem;display:flex}.customers-page{gap:1rem;display:grid}.customers-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.customers-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.customers-create-span,.customers-create-actions{grid-column:1/-1}.customer-avatar-block{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:1rem;display:flex}.customer-avatar-image,.customer-avatar-initials{object-fit:cover;border-radius:16px;width:64px;height:64px}.customer-avatar-initials{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#0d9f8a;place-items:center;font-weight:700;display:grid}.customer-avatar-actions{flex-wrap:wrap;gap:.55rem;display:flex}.customer-color-row{flex-wrap:wrap;gap:.4rem;display:inline-flex}.customer-color-swatch{border:2px solid #0000;border-radius:50%;width:1.35rem;height:1.35rem;padding:0}.customer-color-swatch-active{border-color:#111827}.customer-table-identity{align-items:center;gap:.75rem;font-weight:600;display:inline-flex}.customer-table-avatar{object-fit:cover;border-radius:10px;flex-shrink:0;width:36px;height:36px}.customer-table-avatar-initials{color:#fff;text-transform:uppercase;place-items:center;font-size:.75rem;font-weight:700;display:grid}.customer-description-cell{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.employee-profile-card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:1.25rem;box-shadow:0 10px 30px #143c5a0d}.employees-name-link{font:inherit;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.employee-profile-card-embedded{box-shadow:none;background:0 0;border:none;padding:0}.employee-detail-header{padding-bottom:.25rem}.employee-detail-back{margin-bottom:.55rem;display:inline-flex}.employee-profile-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.employee-profile-header h3{margin:0}.employee-profile-form{gap:1.25rem;display:grid}.employee-profile-top{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.employee-avatar-block{justify-items:start;gap:.75rem;display:grid}.employee-avatar-image,.employee-avatar-initials{object-fit:cover;border-radius:50%;width:96px;height:96px}.employee-avatar-initials{color:#fff;text-transform:uppercase;place-items:center;font-size:1.8rem;font-weight:800;display:grid}.employee-avatar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.employee-color-block{gap:.55rem;display:grid}.employee-color-options{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.employee-color-swatch{border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.employee-color-swatch-active{border-color:#111;box-shadow:inset 0 0 0 2px #fff}.employee-color-picker{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:inline-flex}.employee-color-picker input{background:0 0;border:none;width:28px;height:28px;padding:0}.employee-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-select{gap:.45rem;display:grid;position:relative}.project-select-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.project-select-compact{min-width:11rem}.project-select-compact .field-label{color:var(--muted);text-transform:lowercase;font-size:.78rem;font-weight:700}.employees-filters .project-select-compact .field-label{color:var(--ink);text-transform:none;font-size:.92rem;font-weight:600}.project-select-compact .project-select-trigger{padding:.55rem .85rem;font-size:.9rem}.project-select-compact .project-select-menu{min-width:14rem}.projects-toolbar-select{min-width:12.5rem}.projects-page-size{align-items:center;gap:.55rem;display:inline-flex}.projects-page-size .project-select{min-width:5.5rem}.projects-page-size .field-label{white-space:nowrap;margin:0}.status-select-wrap{width:7.5rem;min-width:0;max-width:7.5rem}.status-select-wrap .project-select-trigger.status-select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--ink);border-radius:999px;padding:.35rem .7rem;font-size:.85rem;font-weight:600}.status-select-wrap .project-select-trigger.status-select .project-select-value,.status-select-wrap .project-select-trigger.status-select .project-select-option-name,.status-select-wrap .project-select-trigger.status-select .project-select-chevron{color:inherit}.status-select-wrap .project-select-trigger.status-working{color:#1f7a4d;background:#edf9f1;border-color:#b7e4c7}.status-select-wrap .project-select-trigger.status-quit{color:#b42318;background:#fff1f0;border-color:#f0c2c2}.status-select-wrap .project-select-trigger.status-hold{color:#c2410c;background:#fff7ed;border-color:#fdba74}.status-select-wrap .project-select-trigger.status-leave{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}html[data-theme=dark] .status-select-wrap .project-select-trigger.status-working{color:#86efac;background:#22c55e29;border-color:#22c55e59}html[data-theme=dark] .status-select-wrap .project-select-trigger.status-quit{color:#fda4af;background:#f0717829;border-color:#f0717859}html[data-theme=dark] .status-select-wrap .project-select-trigger.status-hold{color:#fdba74;background:#fb923c29;border-color:#fb923c59}html[data-theme=dark] .status-select-wrap .project-select-trigger.status-leave{color:#5eead4;background:#2dd4bf29;border-color:#2dd4bf59}.project-select-trigger:disabled{opacity:.65;cursor:not-allowed}.project-select-trigger{background:var(--field);border-radius:var(--radius-pill);text-align:left;width:100%;color:var(--ink);border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.1rem;display:flex}.project-select-trigger:hover,.project-select-trigger-open{background:var(--field-focus);box-shadow:0 0 0 3px #0d9f8a2e}.project-select-trigger-empty .project-select-value{color:var(--muted)}.project-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.project-select-actions{flex-shrink:0;align-items:center;gap:.45rem;display:inline-flex}.project-select-clear{width:1.25rem;height:1.25rem;color:var(--muted);cursor:pointer;border-radius:50%;place-items:center;font-size:1.1rem;line-height:1;display:inline-grid}.project-select-clear:hover{background:var(--surface-hover);color:var(--ink)}.project-select-chevron{color:var(--muted);font-size:.85rem}.project-select-menu{z-index:30;background:var(--card);color:var(--ink);border:1px solid var(--border);box-shadow:var(--dropdown-shadow);border-radius:14px;gap:.45rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0;right:0}.project-select-menu-portal{z-index:1400;grid-template-rows:auto minmax(0,1fr);position:fixed;right:auto;overflow:hidden}.project-select-menu-portal .project-select-options{min-height:0;max-height:none}.project-select-search-wrap{position:relative}.project-select-search{background:var(--field);border-radius:var(--radius-pill);width:100%;color:var(--ink);border:none;outline:none;padding:.7rem 2.4rem .7rem 1rem}.project-select-search:focus{background:var(--field-focus);box-shadow:0 0 0 3px #0d9f8a2e}.project-select-search-icon{color:var(--muted);pointer-events:none;display:grid;position:absolute;top:50%;right:.9rem;transform:translateY(-50%)}.project-select-options{gap:.1rem;max-height:240px;display:grid;overflow-y:auto}.project-select-option{text-align:left;cursor:pointer;width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:.65rem;padding:.55rem .75rem;display:flex}.project-select-option:hover{background:var(--surface-hover)}.project-select-option-selected{background:var(--surface-active)}.project-select-option-text{flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;min-width:0;line-height:1.35;display:flex}.project-select-option-name{color:var(--ink);font-weight:500}.project-select-option-meta{font-size:.88rem;font-weight:400}.project-select-empty{margin:0;padding:.65rem .75rem;font-size:.88rem}.form-success{color:#1f7a4d;margin:0 0 1rem;font-size:.9rem;font-weight:600}.config-users-table tbody tr{cursor:pointer}.config-users-table tbody tr:hover,.users-table tbody tr:hover,.projects-table tbody tr:hover,.projects-row:hover{background:var(--surface-hover);color:var(--ink)}.config-users-table tbody tr:hover td,.users-table tbody tr:hover td,.projects-table tbody tr:hover td{color:var(--ink)}.config-row-selected{background:var(--surface-active)!important}.status-select{border:1px solid var(--border);color:#1f2937;background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.85rem;font-weight:600}.status-working{color:#1f7a4d;background:#edf9f1;border-color:#b7e4c7}.status-quit{color:#b42318;background:#fff1f0;border-color:#f0c2c2}.status-hold{color:#c2410c;background:#fff7ed;border-color:#fdba74}.status-leave{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}@media (width<=980px){.nav-burger{place-items:center;display:inline-grid}.app-header-inner{grid-template-columns:1fr auto}.top-nav{flex-direction:column;grid-column:1/-1;justify-content:flex-start;align-items:stretch;gap:.15rem;padding:.35rem 0 .4rem;display:none}.top-nav-open{display:flex}.nav-dropdown{width:100%}.nav-item{justify-content:flex-start;width:100%}.nav-submenu{box-shadow:none;background:var(--surface-hover);border:none;min-width:0;margin:.15rem 0 .35rem;position:static}.profile-meta{display:none}}@media (width<=900px){.auth-stage{border-radius:var(--radius-card);grid-template-columns:1fr;width:min(100%,440px)}.auth-showcase{display:none}.auth-card-brand{display:inline-flex}.auth-card-brand .brand-name{font-size:1.35rem}}@media (width<=720px){.auth-card{padding:1.75rem 1.25rem 1.5rem}.config-layout{grid-template-columns:1fr}.config-sidebar{position:static}.config-form-grid,.config-inline-form,.config-panel-header-row,.employee-profile-grid,.employee-profile-top,.projects-create-form,.customers-create-form,.projects-header,.project-detail-grid,.project-contact-grid,.panel-hero,.create-form{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.project-contact-note{grid-column:auto}.config-header-actions{flex-wrap:wrap;width:100%}.menu-section-header{flex-direction:column;align-items:stretch}}.employee-app{background:var(--bg,#f3f6f9);min-height:100vh}.employee-topbar{background:#fff;border-bottom:1px solid #143c5a14;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:grid}.employee-topbar .brand{justify-self:start}.employee-nav{justify-content:center;align-items:center;gap:1.5rem;display:flex}.employee-nav a{color:#1f2a37;font-weight:600;text-decoration:none}.employee-nav a:hover,.employee-nav-active{color:var(--accent,#0d9f8a)}.employee-topbar .header-actions{justify-self:end;margin-left:0}.employee-topbar .profile-menu{position:relative}.employee-main{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.employee-page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.employee-page-header h1{margin:0;font-size:1.6rem}.employee-page-header-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.employee-attendance{flex-direction:column;gap:1.25rem;display:flex}.employee-attendance>.employee-page-header,.employee-attendance>.form-error{margin-bottom:0}.employee-status-card h2,.employee-dashboard .panel h2,.employee-attendance .panel h2{margin:0 0 .85rem;font-size:1.1rem}.employee-status-check{color:var(--success);margin:0 0 1rem;font-weight:700}.employee-status-check-off{color:var(--muted)}.employee-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1.25rem;display:grid}.employee-status-grid>div{gap:.25rem;display:grid}.employee-status-grid strong{color:var(--ink);font-size:1.05rem}.employee-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.employee-dashboard-span{grid-column:1/-1}.employee-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.employee-list li{border-bottom:1px solid var(--row-border);color:var(--ink);justify-content:space-between;gap:.75rem;padding:.55rem 0;display:flex}.employee-calendar-date{margin:0 0 .35rem;font-size:1.2rem;font-weight:700}.employee-action-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.employee-action-row-end{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.employee-action-btn{white-space:nowrap;box-sizing:border-box;text-align:center;justify-content:center;align-items:center;width:8.75rem;min-width:8.75rem;margin-top:0;padding:.5rem .75rem;font-size:.88rem;line-height:1.2;display:inline-flex}.employee-action-btn.employee-action-active-in{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 0 3px #0d9f8a38}.employee-action-btn.employee-action-active-in:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}.employee-action-btn.employee-action-active-break{color:#422006;background:#eab308;border-color:#ca8a04;box-shadow:0 0 0 3px #eab30847}.employee-action-btn.employee-action-active-break:hover:not(:disabled){color:#fff;background:#ca8a04;border-color:#a16207}.employee-action-btn.employee-action-active-out{color:#b91c1c;background:#fee2e2;border-color:#fca5a5;box-shadow:0 0 0 3px #f8717133}.employee-action-btn.employee-action-active-out:hover:not(:disabled){color:#991b1b;background:#fecaca;border-color:#f87171}.employee-action-btn.employee-action-clock-out:hover:not(:disabled){color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.employee-action-btn.employee-action-clock-out:active:not(:disabled){color:#991b1b;background:#fecaca;border-color:#f87171}html[data-theme=dark] .employee-action-btn.employee-action-active-in{background:var(--blue);border-color:var(--blue);color:#042f2e;font-weight:700}html[data-theme=dark] .employee-action-btn.employee-action-active-break{color:#fff7ed;background:#ca8a04;border-color:#eab308}html[data-theme=dark] .employee-action-btn.employee-action-active-out,html[data-theme=dark] .employee-action-btn.employee-action-clock-out:hover:not(:disabled){color:#fecaca;background:#f8717138;border-color:#fca5a5}.employee-log-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem 1.25rem;margin-bottom:.85rem;display:flex}.employee-log-header h2{margin:0}.attendance-log-list{border-top:1px solid #143c5a1a;margin-top:1.25rem;padding-top:1.25rem}.attendance-log-list-title{margin:0 0 .75rem;font-size:1rem;font-weight:700}.attendance-log-list-empty{margin:0}.attendance-log-table th,.attendance-log-table td{white-space:nowrap}.attendance-log-table td.attendance-log-note{white-space:normal;color:#4a5560;max-width:18rem}.attendance-log-period{border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;line-height:1.35;display:inline-block}.attendance-log-period-midnight{color:#4a5560;background:#e8ecf1}.attendance-log-period-early-morning{color:#2a6f9e;background:#e8f4fc}.attendance-log-period-morning{color:#1b8759;background:#e6f6ee}.attendance-log-period-noon{color:#9a6b00;background:#fff4d6}.attendance-log-period-evening{color:#b45309;background:#fdeee8}.attendance-log-period-night{color:#5b4ba8;background:#ede8f8}.employee-log-date{min-width:11rem;margin:0}.employee-log-date .field-label{font-size:.8rem}.date-stepper{gap:.35rem;min-width:11rem;display:grid}.date-stepper-label{font-size:.8rem}.date-stepper-controls{align-items:stretch;gap:.35rem;display:flex}.date-stepper-btn{border-radius:var(--radius-pill);background:var(--field,#ececec);width:2.75rem;color:var(--ink,#111827);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 0 0 1px #0000000f}.date-stepper-btn:hover:not(:disabled){background:#e4e4e4;box-shadow:inset 0 0 0 1px #0000001a}.date-stepper-btn:disabled{opacity:.45;cursor:not-allowed}.date-stepper-input.date-input-field{flex:1;gap:0;min-width:0;margin:0}.date-stepper-input .date-input-control{height:100%}.date-stepper-input .date-input-control input[type=text]{box-sizing:border-box;height:100%}.employee-day-summary{grid-template-columns:minmax(16rem,20rem) minmax(0,1fr);align-items:center;gap:1.5rem 2rem;display:grid}.employee-day-summary-clock{flex-direction:column;align-items:center;gap:.65rem;display:flex}.employee-day-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;display:grid}.employee-day-summary-stats>div{background:#143c5a0a;border-radius:12px;gap:.3rem;padding:.85rem 1rem;display:grid}.employee-day-summary-stats strong{font-size:1.15rem}.day-clock-24{flex-shrink:0;width:13rem;min-width:13rem;height:13rem;min-height:13rem;position:relative}.day-clock-24-lg{width:18rem;min-width:18rem;height:18rem;min-height:18rem}.day-clock-24-svg{width:100%;height:100%;display:block;overflow:visible}.day-clock-24-center{text-align:center;pointer-events:none;background:var(--clock-center-bg);z-index:1;border-radius:50%;place-content:center;gap:.1rem;display:grid;position:absolute;inset:34%}.day-clock-24-center strong{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--clock-center-text);font-size:.95rem}.day-clock-24-lg .day-clock-24-center strong{font-size:1.15rem}.day-clock-24-center span{color:var(--clock-center-sub);font-size:.7rem;font-weight:600}.day-clock-24-lg .day-clock-24-center span{font-size:.8rem}.day-clock-legend{flex-wrap:wrap;justify-content:center;gap:.45rem .75rem;margin:.35rem 0 .15rem;padding:0 .35rem;display:flex}.day-clock-legend-item{color:var(--muted);align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;display:inline-flex}.day-clock-legend-swatch{border-radius:999px;flex-shrink:0;width:.55rem;height:.55rem}@media (width<=700px){.employee-day-summary{grid-template-columns:1fr}.employee-day-summary-stats{grid-template-columns:1fr 1fr}}.employee-formula{margin:1rem 0 0}.attendance-clock-widget{flex-shrink:0;position:relative}.attendance-clock-bar{align-items:center;gap:.65rem;padding:.35rem .25rem;display:flex}.attendance-clock-project-chip{color:#8a96a3;max-width:12rem;font:inherit;text-align:left;background:0 0;border:none;border-radius:.4rem;align-items:center;gap:.4rem;padding:.2rem .35rem;display:inline-flex}.attendance-clock-project-dropdown{border-top:1px solid var(--border);background:var(--surface-hover);max-height:12rem;overflow:auto}.attendance-clock-project-dropdown .attendance-clock-menu-item{border-bottom:1px solid #143c5a0f;font-size:.9rem}.attendance-admin-hint{margin:0 0 .85rem}.attendance-admin-row-selected{background:#0d9f8a14}.attendance-admin-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.attendance-admin-datetime{grid-template-columns:minmax(0,1.2fr) minmax(7rem,.8fr);align-items:end;gap:.65rem;display:grid}.attendance-admin-datetime .date-input-field,.attendance-admin-datetime .field,.attendance-admin-datetime .time-input-field{margin:0}.attendance-admin-notes{grid-column:1/-1}.attendance-time-edit-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:.85rem;display:flex}.attendance-time-edit-header h2{margin:0}.attendance-time-edit-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.time-input-field{margin:0}.attendance-admin-edit-meta{margin-top:.85rem}.attendance-break-edit-block{grid-column:1/-1;gap:.75rem;display:grid}.attendance-break-edit-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-break-edit-header h3{margin:0;font-size:1rem}.attendance-break-edit-row{background:#f8fafccc;border:1px solid #0f172a14;border-radius:.65rem;gap:.65rem;padding:.75rem;display:grid}.attendance-break-edit-title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.employee-log-header-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.employee-attendance-edit{border-top:1px solid #0f172a0f;margin:.85rem 0 0;padding:.85rem 0 0}.employee-attendance-edit h3{margin:0 0 .75rem;font-size:1rem}@media (width<=700px){.attendance-admin-edit-grid,.attendance-admin-datetime{grid-template-columns:1fr}}.attendance-clock-project-chip-active{color:#6b4de6}.attendance-clock-project-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}.attendance-clock-project-name{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.attendance-clock-timer{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#1a1a1a;min-width:5.5rem;font-size:1.05rem;font-weight:700}.attendance-clock-timer-break{color:#c47b00}.attendance-clock-timer-out{color:#c93b40}.attendance-clock-start{color:#fff;letter-spacing:.06em;cursor:pointer;background:#3ba9f0;border:none;border-radius:.4rem;justify-content:center;align-items:center;gap:.4rem;min-width:7.25rem;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;transition:background .14s,transform .14s;display:inline-flex}.attendance-clock-start-working{background:#22a06b}.attendance-clock-start-overtime{background:#3ba9f0}.attendance-clock-start-break{background:#e8a317}.attendance-clock-start-out{background:#e5484d}.attendance-clock-start:hover:not(:disabled){background:#2f98db}.attendance-clock-start-working:hover:not(:disabled){background:#1b8759}.attendance-clock-start-overtime:hover:not(:disabled){background:#2f98db}.attendance-clock-start-break:hover:not(:disabled){background:#d09212}.attendance-clock-start-out:hover:not(:disabled){background:#cf3f44}.attendance-clock-back{color:#2f3a45;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.2rem .1rem;font-weight:600;display:inline-flex}.attendance-clock-break-live{font-variant-numeric:tabular-nums;color:#c47b00;font-size:.82rem;font-weight:700}.attendance-clock-start:disabled{opacity:.65;cursor:default}.attendance-clock-more{color:#8a96a3;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.25rem .4rem;font-size:1.25rem;line-height:1}.attendance-clock-more:hover{color:#4a5560;background:#143c5a0f}.attendance-clock-popover{z-index:40;background:var(--card);border:1px solid var(--border);width:min(22rem,100vw - 2rem);box-shadow:var(--dropdown-shadow);color:var(--ink);border-radius:1rem;gap:.85rem;padding:.9rem 1rem .85rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0}.attendance-clock-popover-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-clock-popover-title{color:var(--ink);font-size:.92rem;font-weight:700}.attendance-clock-toggles{grid-template-columns:1fr 1fr;gap:.55rem;margin:.35rem 0 .55rem;display:grid}.attendance-clock-toggles .attendance-clock-toggle{justify-content:flex-start;width:100%}.attendance-clock-toggle{color:#5a6670;cursor:pointer;background:#edf1f4;border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.28rem .7rem .28rem .3rem;font-size:.82rem;font-weight:600;display:inline-flex}.attendance-clock-toggle:disabled{opacity:.55;cursor:not-allowed}.attendance-clock-toggle-active{color:#1f7a4d;background:#dff5e8}.attendance-clock-toggle-break{color:#9a6b00;background:#fff4d6}.attendance-clock-toggle-knob{background:#c5ced6;border-radius:999px;flex-shrink:0;width:1.55rem;height:.95rem;position:relative}.attendance-clock-toggle-knob:after{content:"";background:#fff;border-radius:50%;width:.7rem;height:.7rem;transition:transform .14s;position:absolute;top:.12rem;left:.12rem;box-shadow:0 1px 2px #00000026}.attendance-clock-toggle-active .attendance-clock-toggle-knob{background:#2fbf71}.attendance-clock-toggle-active .attendance-clock-toggle-knob:after,.attendance-clock-toggle-break .attendance-clock-toggle-knob:after{transform:translate(.55rem)}.attendance-clock-toggle-break .attendance-clock-toggle-knob{background:#e8a317}.attendance-clock-expand{color:#6b7785;border-radius:.35rem;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.attendance-clock-expand:hover{color:#2f3a45;background:#143c5a0f}.attendance-clock-ring-wrap{justify-content:center;padding:.35rem 0 .15rem;display:flex}.attendance-clock-ring{border-radius:50%;place-items:center;width:9.5rem;height:9.5rem;padding:.55rem;display:grid}.attendance-clock-ring-inner{text-align:center;background:#fff;border-radius:50%;place-content:center;gap:.15rem;width:100%;height:100%;display:grid}.attendance-clock-ring-inner strong{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.45rem}.attendance-clock-ring-inner span{color:#7a8794;font-size:.78rem}.attendance-clock-location{text-align:center;color:var(--muted);margin:0;font-size:.92rem}.attendance-clock-menu{border:1px solid #143c5a1a;border-radius:.65rem;overflow:hidden}.attendance-clock-menu-item{border:none;border-bottom:1px solid var(--row-border);background:var(--card);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:default;justify-content:space-between;align-items:center;gap:.75rem;padding:.72rem .85rem;text-decoration:none;display:flex}button.attendance-clock-menu-item,a.attendance-clock-menu-item{cursor:pointer}.attendance-clock-menu-item:last-child{border-bottom:none}.attendance-clock-menu-item:disabled{opacity:.55;cursor:default}.attendance-clock-menu-item-muted{color:#8a96a3}.attendance-clock-menu-left{color:inherit;align-items:center;gap:.65rem;display:inline-flex}.attendance-clock-menu-left svg{color:#3ba9f0;flex-shrink:0}.attendance-clock-badge{color:#1f7a4d;text-transform:lowercase;background:#dff5e8;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.attendance-clock-menu-right{flex-shrink:0;align-items:center;gap:.45rem;display:inline-flex}.attendance-clock-project-time{font-variant-numeric:tabular-nums;color:var(--muted,#8a96a3);white-space:nowrap;font-size:.78rem}.attendance-clock-summary{color:#7a8794;justify-content:space-between;gap:.75rem;font-size:.78rem;display:flex}.attendance-clock-footer{color:#3ba9f0;justify-content:center;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.attendance-clock-footer:hover{text-decoration:underline}@media (width<=800px){.employee-topbar{grid-template-columns:1fr auto;grid-template-areas:"brand actions""nav nav"}.employee-topbar .brand{grid-area:brand}.employee-nav{grid-area:nav}.employee-topbar .header-actions{grid-area:actions}.employee-status-grid,.employee-dashboard-grid{grid-template-columns:1fr}}.admin-dashboard-overview{gap:1rem;display:grid}.admin-dash-header{align-items:flex-end}.admin-dash-date{margin:.25rem 0 0}.admin-home-section-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.admin-home-section-head h2{margin:0}.text-link-btn{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:700}.text-link-btn:hover{color:var(--blue);text-decoration:underline}.admin-home-team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem;display:grid}.admin-home-team-card{align-content:start;gap:.65rem;display:grid;position:relative;overflow:hidden}.admin-home-team-card:before{content:"";background:var(--card-accent,var(--blue));height:3px;position:absolute;inset:0 0 auto}.admin-home-count{color:var(--ink);margin:.2rem 0 0;font-size:1.75rem;font-weight:800;line-height:1}.admin-home-card-total{--card-accent:var(--blue)}.admin-home-card-working{--card-accent:#22a06b}.admin-home-card-working .admin-home-count{color:var(--success)}.admin-home-card-break{--card-accent:#d4a017}.admin-home-card-break .admin-home-count{color:var(--warning)}.admin-home-card-done{--card-accent:var(--blue)}.admin-home-card-done .admin-home-count{color:var(--blue)}.admin-home-card-idle{--card-accent:#7b8794}.admin-home-card-idle .admin-home-count{color:var(--muted)}.admin-home-card-leave{--card-accent:#e11d48}.admin-home-card-leave .admin-home-count{color:#e11d48}html[data-theme=dark] .admin-home-card-leave .admin-home-count{color:#fb7185}.admin-home-preview-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.admin-home-preview-list li{gap:.1rem;display:grid}.admin-home-cta{width:auto;max-width:16rem;margin-top:.75rem}@media (width<=1100px){.admin-home-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.admin-home-team-grid{grid-template-columns:1fr}}.admin-dash-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;display:grid}.admin-dash-stat{text-align:left;cursor:pointer;color:inherit;font:inherit;background:#fff;border:1px solid #143c5a1a;border-radius:.75rem;gap:.2rem;padding:.85rem 1rem;transition:border-color .14s,box-shadow .14s;display:grid}.admin-dash-stat strong{font-size:1.35rem}.admin-dash-stat span{color:#6b7785;font-size:.82rem}.admin-dash-stat-active{border-color:#3ba9f0;box-shadow:0 0 0 2px #0d9f8a26}.admin-dash-badge{border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.admin-dash-status-working,.admin-dash-stat-working strong{color:#1f7a4d}.admin-dash-status-working{background:#dff5e8}.admin-dash-status-break,.admin-dash-stat-break strong{color:#9a6700}.admin-dash-status-break{background:#fff4d6}.admin-dash-status-done,.admin-dash-stat-done strong{color:#245b8a}.admin-dash-status-done{background:#e5f2fb}.admin-dash-status-idle,.admin-dash-stat-idle strong{color:#5a6670}.admin-dash-status-idle{background:#edf1f4}.admin-dash-status-leave,.admin-dash-stat-leave strong{color:#8a3d62}.admin-dash-status-leave{background:#f8e8f0}.admin-dash-projects{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.admin-dash-leave-hint{margin-top:.25rem;font-size:.75rem}@media (width<=1100px){.admin-dash-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.admin-dash-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.employee-absences{flex-direction:column;gap:1.25rem;display:flex}.absence-note-cell{white-space:nowrap;text-overflow:ellipsis;max-width:14rem;overflow:hidden}.leave-status-pill{border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}.leave-status-requested{color:#ad6800;background:#fff7e6}.leave-status-approved{color:#1f7a4d;background:#e8f7ee}.leave-status-rejected{color:#912018;background:#fff1f0}.absence-modal{background:var(--card);width:min(720px,100%);max-height:calc(100vh - 2rem);color:var(--ink);border:1px solid var(--border);box-shadow:var(--dropdown-shadow);border-radius:20px;animation:.22s ease-out rise;overflow:auto}.absence-modal-header{justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem 1.35rem .5rem;display:flex}.absence-modal-header h2{color:var(--ink);margin:0;font-size:1.35rem}.absence-modal-close{min-width:2rem;min-height:2rem;font-size:1.5rem;line-height:1}.absence-modal-form{gap:1.1rem;padding:0 1.35rem 1.35rem;display:grid}.absence-modal-section h3{color:var(--ink);margin:0 0 .75rem;font-size:.95rem}.absence-timespan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.absence-timespan-hours{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:.85rem;display:grid}.absence-info-banner{background:color-mix(in srgb, var(--warning) 16%, var(--card));color:var(--warning);border-radius:12px;align-items:flex-start;gap:.55rem;margin:.75rem 0 0;padding:.75rem .85rem;font-size:.92rem;line-height:1.4;display:flex}.absence-note-counter{text-align:right;color:var(--muted);margin-top:.35rem;font-size:.82rem;display:block}.absence-upload-zone{border:1.5px dashed var(--border);background:var(--field);text-align:center;color:var(--ink);border-radius:16px;justify-items:center;gap:.45rem;padding:1.5rem 1rem;display:grid}.absence-upload-zone-active{border-color:var(--blue);background:var(--surface-active)}.absence-upload-icon{color:var(--muted);font-size:1.6rem}.absence-upload-btn{cursor:pointer;margin-top:.35rem}.absence-attachment-list{gap:.45rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.absence-attachment-list li{background:var(--field);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.absence-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.65rem;padding-top:.5rem;display:flex}.create-absence-modal{flex-direction:column;width:min(38rem,100%);max-height:calc(100vh - 2rem);display:flex;overflow:hidden}.create-absence-header{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.35rem 1.1rem;display:flex}.create-absence-heading h2{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.35rem}.create-absence-subtitle{color:var(--muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.4}.create-absence-header-actions{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.create-absence-save,.create-absence-close{min-width:5.25rem;padding:.45rem 1rem}.create-absence-content{background:color-mix(in srgb, var(--field) 55%, var(--card));-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:1.15rem 1.35rem 1.35rem;overflow-y:auto}.create-absence-form{gap:1rem;display:grid}.create-absence-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--panel-shadow);color:var(--ink);border-radius:16px;padding:1rem 1.15rem 1.15rem}.create-absence-card-title{color:var(--ink);margin:0 0 .85rem;font-size:.95rem;font-weight:700}.create-absence-fields{gap:.85rem;display:grid}.create-absence-fields .field-label{color:var(--ink)}.create-absence-error{margin:0}.multi-checkbox-menu{flex-direction:column;display:flex;overflow:hidden}.multi-checkbox-select-all{border:none;border-bottom:1px solid var(--border);background:var(--surface-hover);text-align:left;width:100%;color:var(--ink);cursor:pointer;align-items:center;gap:.65rem;padding:.7rem .85rem;font-weight:600;display:flex}.multi-checkbox-select-all:hover{background:var(--surface-active)}.multi-checkbox-option{align-items:center;gap:.65rem;display:flex}.multi-checkbox-box{border:1.5px solid var(--border);background:var(--card);color:#fff;border-radius:4px;flex-shrink:0;place-items:center;width:1.05rem;height:1.05rem;font-size:.72rem;line-height:1;display:inline-grid}.multi-checkbox-box-checked,.multi-checkbox-box-indeterminate{border-color:var(--blue);background:var(--blue);color:#fff}.multi-checkbox-menu .project-select-options{max-height:inherit;overflow-y:auto}@media (width<=700px){.absence-timespan-grid,.absence-timespan-hours{grid-template-columns:1fr}.create-absence-header{flex-direction:column;align-items:stretch}.create-absence-header-actions{justify-content:flex-end}}.admin-calendar-subtitle{margin:.35rem 0 0}.admin-calendar{gap:1rem;display:grid}.admin-calendar-header{margin-bottom:0}.admin-calendar-header h1{margin-bottom:.35rem}.admin-calendar-toolbar{gap:1rem;display:grid}.admin-calendar-view-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.admin-calendar-view-tab{color:#234;cursor:pointer;background:#fff;border:1px solid #143c5a1f;border-radius:999px;padding:.4rem .85rem;font-size:.88rem}.admin-calendar-view-tab-active{background:var(--blue);border-color:var(--blue);color:#fff}.admin-calendar-nav{align-items:center;gap:.5rem;display:flex}.admin-calendar-period-label{text-align:center;min-width:10rem}.admin-calendar-filters{margin-top:0}.admin-calendar-loading{margin:.75rem 0}.admin-calendar-weekdays,.admin-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.admin-calendar-weekdays{color:var(--muted);text-transform:uppercase;gap:.35rem;margin-bottom:.35rem;font-size:.78rem;font-weight:700}.admin-calendar-weekdays span{padding:0 .35rem}.admin-calendar-cell{border:1px solid var(--border);background:var(--card);min-height:6.5rem;color:var(--ink);text-align:left;cursor:pointer;border-radius:.65rem;flex-direction:column;gap:.35rem;padding:.45rem;display:flex}.admin-calendar-cell-outside{opacity:.55;background:var(--field)}.admin-calendar-cell-today{border-color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 30%, transparent)}.admin-calendar-week-day-today{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 35%, transparent);background:color-mix(in srgb, var(--blue) 8%, #fff)}.admin-calendar-week-day-today header,.admin-calendar-week-day-today header strong{color:var(--blue-dark)}.admin-calendar-planner-today{background:color-mix(in srgb, var(--blue) 8%, transparent)}.admin-calendar-planner-today .admin-calendar-planner-date{color:var(--blue-dark);font-weight:600}.admin-calendar-planner-cell-today{border-color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 28%, transparent);background:color-mix(in srgb, var(--blue) 10%, #fff)}.admin-calendar-day{color:var(--ink);font-size:.82rem;font-weight:700}.admin-calendar-events{gap:.25rem;display:grid}.admin-calendar-event{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:none;border-radius:.45rem;width:100%;padding:.2rem .35rem;font-size:.72rem;line-height:1.25;display:block;overflow:hidden}.admin-calendar-event-requested{color:#8a6200;background:#fff4dd}.admin-calendar-event-approved{color:#17663a;background:#e7f7ee}.admin-calendar-event-rejected{color:#9b2c2c;background:#fdecec}.admin-calendar-event-common{font-weight:700}.admin-calendar-more{color:var(--muted);font-size:.72rem}.admin-calendar-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;display:grid}.admin-calendar-week-day{background:#fff;border:1px solid #143c5a14;border-radius:.75rem;flex-direction:column;min-height:12rem;display:flex}.admin-calendar-week-day header{border-bottom:1px solid #143c5a14;justify-content:space-between;padding:.65rem .75rem;font-size:.82rem;display:flex}.admin-calendar-week-events{gap:.45rem;padding:.65rem;display:grid}.admin-calendar-empty-slot{color:#607080;cursor:pointer;background:0 0;border:1px dashed #143c5a2e;border-radius:.55rem;padding:.65rem}.admin-calendar-planner-table th,.admin-calendar-planner-table td{vertical-align:top}.admin-calendar-planner-date{color:#607080;font-size:.72rem;font-weight:400;display:block}.admin-calendar-planner-dept{font-size:.78rem;display:block}.admin-calendar-planner-cell{cursor:pointer;background:#fafcfd;border:1px solid #143c5a14;border-radius:.55rem;gap:.25rem;width:100%;min-height:3.5rem;padding:.35rem;display:grid}.admin-calendar-row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.admin-calendar-approve-btn{padding:.35rem .65rem}.admin-absence-detail{background:var(--card);width:min(34rem,100%);max-height:calc(100vh - 2rem);color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.admin-absence-detail-header{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.35rem 1.1rem;display:flex}.admin-absence-detail-heading h2{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.35rem}.admin-absence-detail-subtitle{color:var(--muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.4}.admin-absence-detail-header-actions{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.admin-absence-detail-save,.admin-absence-detail-close{min-width:5.25rem;padding:.45rem 1rem}.admin-absence-delete-btn{color:#9b2c2c;border-color:#f0b4b4;min-width:5.25rem;padding:.45rem 1rem}.admin-absence-delete-btn:hover:not(:disabled){color:#9b2c2c;background:#fdecec}.admin-absence-detail-content{background:color-mix(in srgb, var(--field) 55%, var(--card));-webkit-overflow-scrolling:touch;flex:1;gap:1rem;min-height:0;padding:1.15rem 1.35rem 1.35rem;display:grid;overflow-y:auto}.admin-absence-detail-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--panel-shadow);color:var(--ink);border-radius:16px;padding:1.1rem 1.15rem}.admin-absence-detail-grid{gap:.85rem;margin:0;display:grid}.admin-absence-detail-item{grid-template-columns:7rem 1fr;align-items:start;gap:1rem;display:grid}.admin-absence-detail-item dt{color:var(--muted);margin:0;font-size:.88rem;font-weight:500}.admin-absence-detail-item dd{color:var(--ink);text-align:right;margin:0;font-size:.95rem;font-weight:600;line-height:1.45}.admin-absence-detail-extra{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.admin-absence-detail-extra-label{color:var(--muted);font-size:.88rem;font-weight:500;display:block}.admin-absence-detail-extra p{color:var(--ink);margin:.45rem 0 0;line-height:1.55}.admin-absence-detail-attachments{gap:.45rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.admin-absence-detail-attachments a{color:var(--blue);font-weight:600;text-decoration:none}.admin-absence-detail-status-panel{background:#fff;border:1px solid #143c5a14;border-radius:16px;padding:1rem 1.15rem 1.15rem;box-shadow:0 8px 24px #0f172a0a}.admin-absence-detail-status-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.admin-absence-detail-status-label{color:#374151;font-size:.95rem;font-weight:700}.admin-absence-detail-unsaved{color:#ad6800;font-size:.82rem;font-weight:600}.admin-absence-status-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.admin-absence-status-pill{color:#6b7280;cursor:pointer;background:#eceff3;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.62rem .85rem;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.admin-absence-status-pill:hover:not(:disabled){background:#e4e8ee}.admin-absence-status-pill-icon{width:1.2rem;height:1.2rem;color:inherit;background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;font-size:.74rem;line-height:1;display:inline-flex}.admin-absence-status-pill-selected{box-shadow:0 4px 14px #0f172a14}.admin-absence-status-pill-selected.admin-absence-status-pill-rejected{color:#9b2c2c;background:#fdecec;border-color:#f0b4b4}.admin-absence-status-pill-selected.admin-absence-status-pill-rejected .admin-absence-status-pill-icon{color:#9b2c2c;background:#fff}.admin-absence-status-pill-selected.admin-absence-status-pill-requested{color:#8a6200;background:#fff4dd;border-color:#f0d080}.admin-absence-status-pill-selected.admin-absence-status-pill-requested .admin-absence-status-pill-icon{color:#8a6200;background:#fff}.admin-absence-status-pill-selected.admin-absence-status-pill-approved{color:#17663a;background:#e7f7ee;border-color:#8fd4a8}.admin-absence-status-pill-selected.admin-absence-status-pill-approved .admin-absence-status-pill-icon{color:#17663a;background:#fff}.admin-absence-status-pill:disabled{opacity:.7;cursor:not-allowed}.admin-absence-reject-btn{color:#9b2c2c}.admin-absence-requested-btn{color:#8a6200}.admin-calendar-excel-btn{align-items:center;gap:.45rem;display:inline-flex}@media (width<=960px){.admin-calendar-week-grid{grid-template-columns:1fr}.admin-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-calendar-weekdays{display:none}}@media (width<=640px){.admin-calendar-grid{grid-template-columns:1fr}.admin-absence-detail-header{flex-direction:column;align-items:stretch}.admin-absence-detail-header-actions{justify-content:flex-end}.admin-absence-detail-item{grid-template-columns:1fr;gap:.25rem}.admin-absence-detail-item dd{text-align:left}.admin-absence-status-pills{grid-template-columns:1fr}}.dash-panel{position:relative;overflow:hidden}.dash-panel:before{content:"";background:var(--dash-accent,var(--blue));opacity:.85;width:3px;position:absolute;inset:0 auto 0 0}.dash-panel-status,.dash-panel-calendar,.dash-panel-leave,.dash-panel-pending,.dash-panel-projects,.dash-panel-tasks,.dash-panel-live{--dash-accent:var(--blue);background:var(--card)}.dash-stat{background:0 0;border:none;border-radius:0;padding:0}.employee-page-header h1,.employee-dashboard h1,.admin-home-dashboard h1,.employee-calendar-date{color:var(--ink)}html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .project-select-trigger,html[data-theme=dark] .date-input-control input,html[data-theme=dark] .project-detail-textarea,html[data-theme=dark] .create-user-fieldset-readonly textarea,html[data-theme=dark] .projects-search input,html[data-theme=dark] .project-select-search,html[data-theme=dark] .employees-filters .field input,html[data-theme=dark] .employees-filters .project-select-trigger{background:var(--field);color:var(--ink);border:1px solid var(--border)}html[data-theme=dark] .date-input-control{border-radius:var(--radius-pill)}html[data-theme=dark] .field input:focus,html[data-theme=dark] .field select:focus,html[data-theme=dark] .field textarea:focus,html[data-theme=dark] .projects-search input:focus,html[data-theme=dark] .project-select-search:focus,html[data-theme=dark] .project-select-trigger:hover,html[data-theme=dark] .project-select-trigger-open,html[data-theme=dark] .role-select-trigger:hover,html[data-theme=dark] .role-select-trigger-open,html[data-theme=dark] .project-detail-textarea:focus,html[data-theme=dark] .date-input-control input:focus{background:var(--field-focus);color:var(--ink);border-color:var(--blue)}html[data-theme=dark] .project-select-menu,html[data-theme=dark] .date-input-popover,html[data-theme=dark] .multi-checkbox-menu{background:var(--card);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .project-select-option,html[data-theme=dark] .project-select-option-name,html[data-theme=dark] .date-input-day,html[data-theme=dark] .date-input-popover-title{color:var(--ink)}html[data-theme=dark] .project-select-option:hover,html[data-theme=dark] .date-input-day:hover{background:var(--surface-hover)}html[data-theme=dark] .project-select-option-selected{background:var(--surface-active)}html[data-theme=dark] .field input::placeholder,html[data-theme=dark] .field textarea::placeholder,html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:color-mix(in srgb, var(--muted) 85%, transparent)}html[data-theme=dark] .users-table th,html[data-theme=dark] .users-table td{color:var(--ink);border-bottom-color:var(--border)}html[data-theme=dark] .users-table th{color:var(--muted)}html[data-theme=dark] .config-users-table tbody tr:hover,html[data-theme=dark] .users-table tbody tr:hover,html[data-theme=dark] .projects-table tbody tr:hover,html[data-theme=dark] .projects-row:hover{background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .config-users-table tbody tr:hover td,html[data-theme=dark] .users-table tbody tr:hover td,html[data-theme=dark] .projects-table tbody tr:hover td{color:var(--ink)}html[data-theme=dark] .menu-list-item,html[data-theme=dark] .menu-section-card,html[data-theme=dark] .role-list-item,html[data-theme=dark] .ghost-btn{background:var(--card);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .menu-list-label{color:var(--ink)}html[data-theme=dark] .menu-list-child:hover,html[data-theme=dark] .menu-check-item:hover,html[data-theme=dark] .ghost-btn:hover,html[data-theme=dark] .icon-action-btn:hover{background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .config-sidebar,html[data-theme=dark] .modal-card,html[data-theme=dark] .dialog-card,html[data-theme=dark] .auth-card{background:var(--card);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .auth-stage{background:color-mix(in srgb, var(--card) 78%, transparent);border-color:var(--border);box-shadow:0 28px 70px #0006,0 4px 16px #0003}html[data-theme=dark] .auth-showcase{background:linear-gradient(160deg, color-mix(in srgb, var(--blue) 22%, #071a17) 0%, color-mix(in srgb, var(--blue-dark) 40%, #041310) 50%, #030f0d 100%)}html[data-theme=dark] .auth-subtitle{color:var(--muted)}html[data-theme=dark] .config-sidebar-item{color:var(--nav-text)}html[data-theme=dark] .config-sidebar-item:hover,html[data-theme=dark] .config-sidebar-item-active{background:var(--surface-hover);color:var(--blue)}html[data-theme=dark] .secondary-btn,html[data-theme=dark] .ghost-btn,html[data-theme=dark] button.secondary-btn{background:var(--field);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .role-badge{background:var(--surface-active);color:var(--blue)}html[data-theme=dark] .role-super_admin{color:#fdba74;background:#f472442e}html[data-theme=dark] .role-admin{color:#86efac;background:#22c55e29}html[data-theme=dark] .admin-dash-stat{background:var(--card);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .leave-status-requested{color:#fbbf24;background:#f59e0b2e}html[data-theme=dark] .leave-status-approved{color:#86efac;background:#22c55e2e}html[data-theme=dark] .leave-status-rejected{color:#fda4af;background:#f071782e}html[data-theme=dark] .auth-choice-card{background:var(--field);border-color:var(--border);color:var(--ink)}html[data-theme=dark] .auth-choice-card span,html[data-theme=dark] .auth-lead{color:var(--muted)}html[data-theme=dark] .auth-choice-card:hover,html[data-theme=dark] .auth-choice-card.is-selected{background:var(--card);border-color:color-mix(in srgb, var(--blue) 55%, var(--border))}html[data-theme=dark] .brand-name,html[data-theme=dark] .user-chip-name,html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] strong,html[data-theme=dark] .create-absence-card-title,html[data-theme=dark] .create-absence-heading h2,html[data-theme=dark] .create-absence-fields .field-label,html[data-theme=dark] .field-label,html[data-theme=dark] .employees-filters .field-label,html[data-theme=dark] .employees-filters .project-select .field-label,html[data-theme=dark] .employees-filters .project-select-compact .field-label,html[data-theme=dark] .admin-absence-detail-heading h2,html[data-theme=dark] .admin-absence-detail-item dd,html[data-theme=dark] .confirm-dialog h3{color:var(--ink)}html[data-theme=dark] .create-absence-subtitle,html[data-theme=dark] .admin-absence-detail-subtitle,html[data-theme=dark] .admin-absence-detail-item dt,html[data-theme=dark] .admin-absence-detail-extra-label,html[data-theme=dark] .admin-calendar-weekdays{color:var(--muted)}html[data-theme=dark] .absence-modal,html[data-theme=dark] .create-absence-modal,html[data-theme=dark] .create-absence-header,html[data-theme=dark] .create-absence-card,html[data-theme=dark] .admin-absence-detail,html[data-theme=dark] .admin-absence-detail-header,html[data-theme=dark] .admin-absence-detail-card,html[data-theme=dark] .confirm-dialog{background:var(--card);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .create-absence-content,html[data-theme=dark] .admin-absence-detail-content{background:color-mix(in srgb, var(--field) 70%, var(--card))}html[data-theme=dark] .admin-calendar-cell{background:var(--card);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .admin-calendar-cell-outside{background:var(--field)}html[data-theme=dark] .admin-calendar-day{color:var(--ink)}html[data-theme=dark] .admin-calendar-more{color:var(--muted)}html[data-theme=dark] .admin-calendar-event-requested{color:#fbbf24;background:#f59e0b33}html[data-theme=dark] .admin-calendar-event-approved{color:#86efac;background:#22c55e2e}html[data-theme=dark] .admin-calendar-event-rejected{color:#fda4af;background:#f071782e}html[data-theme=dark] .day-clock-24-center strong{color:var(--clock-center-text)}html[data-theme=dark] .day-clock-24-center span{color:var(--clock-center-sub)}html[data-theme=dark] .muted{color:var(--muted)}html[data-theme=dark] .top-nav-open{background:var(--card);border-color:var(--border)}html[data-theme=dark] .attendance-clock-widget,html[data-theme=dark] .clock-widget,html[data-theme=dark] .attendance-clock{color:var(--ink)}html[data-theme=dark] .attendance-clock-popover,html[data-theme=dark] .attendance-clock-project-dropdown{background:var(--card);border-color:var(--border);color:var(--ink)}html[data-theme=dark] .attendance-clock-menu-item,html[data-theme=dark] .attendance-clock-project-chip,html[data-theme=dark] .attendance-clock-timer,html[data-theme=dark] .attendance-clock-popover-title,html[data-theme=dark] .attendance-clock-footer,html[data-theme=dark] .attendance-clock-location,html[data-theme=dark] .day-clock-legend{color:var(--muted)}html[data-theme=dark] .attendance-clock-menu-item{color:var(--ink);border-bottom-color:var(--border)}html[data-theme=dark] .attendance-clock-menu-item:hover,html[data-theme=dark] .attendance-clock-menu-item:focus{background:var(--surface-hover)}html[data-theme=dark] .attendance-clock-project-dropdown{background:var(--surface-hover);border-top-color:var(--border)}html[data-theme=dark] .attendance-clock-toggle{background:var(--field);color:var(--muted);border:1px solid var(--border)}html[data-theme=dark] .attendance-clock-toggle-active{color:#86efac;background:#2fbf7129;border-color:#2fbf7159}html[data-theme=dark] .attendance-clock-toggle-break{color:#fbbf24;background:#e8a31729;border-color:#e8a31759}html[data-theme=dark] .attendance-clock-toggle-knob{background:#4a5563}html[data-theme=dark] .attendance-clock-toggle-active .attendance-clock-toggle-knob{background:#2fbf71}html[data-theme=dark] .attendance-clock-toggle-break .attendance-clock-toggle-knob{background:#e8a317}html[data-theme=dark] .outline-btn{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 50%, var(--border));background:0 0}html[data-theme=dark] .outline-btn:hover:not(:disabled){background:var(--surface-active);color:var(--blue)}html[data-theme=dark] .primary-btn{color:#fff;background:#0d9f8a}html[data-theme=dark] .primary-btn:hover:not(:disabled){background:#0b8574}html[data-theme=dark] .ghost-btn:hover,html[data-theme=dark] .attendance-clock-expand:hover,html[data-theme=dark] .attendance-clock-more:hover{background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .modal-backdrop,html[data-theme=dark] .dialog-backdrop{background:#0000009e}html[data-theme=dark] .attendance-break-edit-row{background:color-mix(in srgb, var(--card) 75%, #000);border-color:var(--border);color:var(--ink)}html[data-theme=dark] .attendance-break-edit-title,html[data-theme=dark] .attendance-break-edit-row .field-label,html[data-theme=dark] .attendance-break-edit-header h3{color:var(--ink)}html[data-theme=dark] .attendance-break-edit-row .field input,html[data-theme=dark] .attendance-break-edit-row .date-input-control input{background:var(--field);border:1px solid color-mix(in srgb, var(--border) 70%, #8aa0b5);box-shadow:inset 0 0 0 1px #ffffff08}html[data-theme=dark] .employee-attendance-edit{border-top-color:var(--border)}html[data-theme=dark] .projects-name{color:var(--ink)}html[data-theme=dark] .projects-number{color:var(--muted)}html[data-theme=dark] .projects-icon{background:var(--field);color:var(--muted)}html[data-theme=dark] .projects-table,html[data-theme=dark] .projects-table th,html[data-theme=dark] .projects-table td{color:var(--ink);border-color:var(--row-border)}html[data-theme=dark] .profile-further-comments h2{color:var(--muted)}html[data-theme=dark] .profile-further-comments-input{background:var(--field);border-color:var(--border);color:var(--ink)}html[data-theme=dark] .profile-further-comments-input::placeholder{color:var(--muted)}html[data-theme=dark] .profile-further-comments-input:focus{border-color:var(--blue);background:var(--field-focus);outline:none}html[data-theme=dark] .admin-calendar-week-day{background:var(--field);border:1px solid color-mix(in srgb, var(--border) 55%, #7a90a6);color:var(--ink)}html[data-theme=dark] .admin-calendar-week-day-today{background:color-mix(in srgb, var(--blue) 16%, var(--field));border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 28%, transparent)}html[data-theme=dark] .admin-calendar-week-day-today header,html[data-theme=dark] .admin-calendar-week-day-today header strong{color:var(--blue)}html[data-theme=dark] .admin-calendar-week-day header{border-bottom-color:var(--border);color:var(--ink)}html[data-theme=dark] .admin-calendar-empty-slot{border-color:color-mix(in srgb, var(--border) 50%, #7a90a6);color:var(--muted)}html[data-theme=dark] .admin-calendar-empty-slot:hover{background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .admin-calendar-planner-cell{background:color-mix(in srgb, var(--field) 85%, #000);border:1px solid color-mix(in srgb, var(--border) 55%, #7a90a6);color:var(--ink)}html[data-theme=dark] .admin-calendar-planner-cell-today,html[data-theme=dark] .admin-calendar-planner-today{background:color-mix(in srgb, var(--blue) 14%, var(--field))}html[data-theme=dark] .admin-calendar-planner-cell-today{border-color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 35%, transparent)}html[data-theme=dark] .admin-calendar-planner-today .admin-calendar-planner-date{color:var(--blue)}html[data-theme=dark] .admin-calendar-planner-cell:hover{background:var(--surface-hover)}html[data-theme=dark] .admin-calendar-planner-date,html[data-theme=dark] .admin-calendar-planner-dept{color:var(--muted)}html[data-theme=dark] .admin-calendar-planner-table th,html[data-theme=dark] .admin-calendar-planner-table td{color:var(--ink);border-color:var(--row-border)}html[data-theme=dark] .admin-calendar-event-common{color:inherit}html[data-theme=dark] .admin-absence-detail-status-panel{background:var(--field);border-color:var(--border);box-shadow:none;color:var(--ink)}html[data-theme=dark] .admin-absence-detail-status-label{color:var(--ink)}html[data-theme=dark] .admin-absence-detail-unsaved{color:var(--warning)}html[data-theme=dark] .admin-absence-status-pill{background:color-mix(in srgb, var(--card) 70%, var(--field));border-color:var(--border);color:var(--muted)}html[data-theme=dark] .admin-absence-status-pill:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .admin-absence-status-pill-icon{background:#ffffff14}html[data-theme=dark] .admin-absence-status-pill-selected.admin-absence-status-pill-rejected{color:#fda4af;background:#f0717829;border-color:#f0717873}html[data-theme=dark] .admin-absence-status-pill-selected.admin-absence-status-pill-rejected .admin-absence-status-pill-icon{color:#fda4af;background:#f0717838}html[data-theme=dark] .admin-absence-status-pill-selected.admin-absence-status-pill-requested{color:#fbbf24;background:#fbbf2424;border-color:#fbbf2473}html[data-theme=dark] .admin-absence-status-pill-selected.admin-absence-status-pill-requested .admin-absence-status-pill-icon{color:#fbbf24;background:#fbbf2433}html[data-theme=dark] .admin-absence-status-pill-selected.admin-absence-status-pill-approved{color:#86efac;background:#4ade8024;border-color:#4ade8073}html[data-theme=dark] .admin-absence-status-pill-selected.admin-absence-status-pill-approved .admin-absence-status-pill-icon{color:#86efac;background:#4ade8033}
