*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-height:100vh;font-family:var(--font-family);color:var(--color-text);background:#f7faff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{color:var(--color-text);letter-spacing:0}h1,h2{font-weight:750}p{line-height:1.55}.app-shell{--app-header-height: 64px;--sidebar-width: 220px;--sidebar-collapsed-width: 62px;--app-content-gutter: var(--page-padding-inline);min-height:100vh;display:grid;grid-template-rows:var(--app-header-height) minmax(0,1fr);background:transparent}.app-body-shell{min-height:calc(100vh - var(--app-header-height));display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.app-shell.is-sidebar-collapsed .app-body-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.app-sidebar{position:sticky;top:var(--app-header-height);width:var(--sidebar-width);height:calc(100vh - var(--app-header-height));display:flex;flex-direction:column;overflow:hidden;padding:10px 9px;border-right:1px solid #D1DCEB;background:#e4ecf5;color:#1f2a3d;z-index:30}.app-shell.is-sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-width);padding:10px 0}.app-nav{display:grid;align-content:start;gap:10px;flex:1;min-height:0;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:#B8C7DA transparent}.app-nav-group{display:grid;gap:4px;width:100%}.app-nav-group-title{display:flex;align-items:center;min-height:26px;max-height:26px;overflow:hidden;padding:5px 8px;border:0;border-radius:7px;color:#1f2a3d;font-size:.69rem;font-weight:900;letter-spacing:.09em;line-height:1.2;text-transform:uppercase}.app-nav-group-items{display:grid;gap:4px;margin:0;padding:0 0 8px;border-left:0}.app-nav-link{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 9px;border:1px solid transparent;border-radius:10px;color:#526174;text-decoration:none;font-size:.78rem;font-weight:650;letter-spacing:.015em;line-height:1.2;text-transform:uppercase}.app-nav-link:before{content:none}.app-nav-link:hover{background-color:#dde8f5;border-color:#cad8e8;color:#1f2a3d}.app-nav-link.is-active{background-color:#d7e5f7;border-color:#c3d4ea;box-shadow:none;color:#081a31;font-weight:800}.app-nav-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.app-nav-link:hover .app-nav-icon,.app-nav-link.is-active .app-nav-icon{opacity:1}.app-nav-label{max-width:148px;overflow:hidden;white-space:nowrap}.sidebar-toggle{display:grid;place-items:center;width:100%;min-height:34px;margin-top:9px;border:1px solid #D1DCEB;border-radius:9px;background:#edf2f7;color:#334155;cursor:pointer}.sidebar-toggle:hover{background-color:#dde8f5;border-color:#cad8e8;color:#081a31}.app-shell.is-sidebar-collapsed .app-nav-label{display:none}.app-shell.is-sidebar-collapsed .app-nav-group-title{display:none;min-height:0;max-height:0;opacity:0;padding:0}.app-shell.is-sidebar-collapsed .app-nav{width:100%;justify-items:center;gap:8px;padding:0}.app-shell.is-sidebar-collapsed .app-nav-group-items{width:100%;justify-items:center;margin-left:0;padding:0;border-left:0}.app-shell.is-sidebar-collapsed .app-nav-link{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:0;border-radius:0;text-align:center}.app-shell.is-sidebar-collapsed .app-nav-icon{width:22px;height:22px;flex:0 0 22px}.app-shell.is-sidebar-collapsed .app-nav-link.is-active{background-color:#d7e5f7;color:#081a31}.app-sidebar-mobile-header{display:none}.app-sidebar-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #CAD8E8;border-radius:10px;background:#edf2f7;color:#1f2a3d;cursor:pointer}.app-sidebar-close:hover{border-color:#afc0d3;background:#dde8f5}.app-sidebar-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.app-main-shell{min-width:0;padding-inline:var(--app-content-gutter)}.app-header{min-height:var(--app-header-height);height:var(--app-header-height);display:flex;align-items:center;gap:18px;padding:10px 20px;border-bottom:1px solid #D7E0EA;background:#edf2f7;position:sticky;top:0;z-index:60}.app-header-left{display:flex;align-items:center;gap:14px;min-width:0}.app-header-brand{display:flex;align-items:center;flex:0 0 auto;min-width:112px}.app-header-brand img{display:block;width:118px;max-height:46px;object-fit:contain}.app-header-search{position:relative;display:flex;align-items:center;flex:1 1 560px;max-width:620px;min-width:260px;margin-inline:auto}.app-header-search svg{position:absolute;left:13px;width:18px;height:18px;fill:none;stroke:#64748b;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.app-header-search input{width:100%;height:40px;padding:0 14px 0 42px;border:1px solid #D1DCEB;border-radius:12px;background:#fff;color:var(--color-text);font:inherit;font-size:.92rem;box-shadow:none}.app-header-search input:focus{border-color:#afc0d3;outline:2px solid rgba(8,26,49,.12);outline-offset:0}.mobile-menu-button{display:none;width:36px;height:36px;border:1px solid rgba(15,23,42,.1);border-radius:10px;background:#fff;cursor:pointer;box-shadow:var(--shadow-xs);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.mobile-menu-button:hover{border-color:#0f172a2e;background:#f8fafc;box-shadow:var(--shadow-sm)}.mobile-menu-button span{display:block;width:16px;height:2px;margin:4px auto;border-radius:999px;background:var(--color-text)}.app-header-actions{display:flex;align-items:center;flex:0 0 auto;gap:9px}.notifications-menu,.user-menu{position:relative}.notifications-trigger{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fff;color:#0f172a;cursor:pointer;box-shadow:var(--shadow-xs);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.notifications-trigger:hover{border-color:#0f172a2e;background:#f8fafc;box-shadow:var(--shadow-sm)}.notifications-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notifications-badge{position:absolute;top:-5px;right:-5px;display:grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border:2px solid #ffffff;border-radius:999px;background:#dc2626;color:#fff;font-size:.68rem;font-weight:800;line-height:1}.notifications-popover,.user-menu-popover{position:absolute;top:calc(100% + 10px);right:0;border:1px solid rgba(15,23,42,.1);border-radius:14px;background:#fff;box-shadow:0 22px 54px #0f172a29;z-index:40}.notifications-popover{width:340px;overflow:hidden}.notifications-popover-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 15px 13px;border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#f8fafc)}.notifications-popover-header>div{display:grid;gap:3px;min-width:0}.notifications-popover-header strong{color:var(--color-text);font-size:.98rem}.notifications-popover-header span{color:var(--color-muted);font-size:.78rem}.notifications-popover-header button{border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#fff;color:#334155;cursor:pointer;font-size:.76rem;font-weight:700;padding:6px 10px;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.notifications-popover-header button:hover{border-color:#0f172a2e;background:#f1f5f9;color:#0f172a}.notifications-empty{margin:12px;padding:18px 16px;border:1px dashed rgba(100,116,139,.24);border-radius:12px;background:#f8fafc;color:var(--color-muted);font-size:.9rem;line-height:1.45;text-align:center}.notifications-list{display:grid;gap:8px;max-height:372px;overflow:auto;padding:10px}.notification-item{display:grid;grid-template-columns:10px 1fr;gap:11px;width:100%;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff;color:inherit;cursor:pointer;box-shadow:0 8px 18px #0f172a0a;text-align:left;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.notification-item:hover{background:#f8fafc;border-color:#0f172a24;transform:translateY(-1px)}.notification-item-marker{width:9px;height:9px;margin-top:6px;border:2px solid rgba(37,99,235,.18);border-radius:999px;background:#2563eb}.notification-item[data-severity=WARNING] .notification-item-marker{border-color:#d9770633;background:#d97706}.notification-item[data-severity=CRITICAL] .notification-item-marker{border-color:#dc262633;background:#dc2626}.notification-item-copy{display:grid;gap:4px}.notification-item-copy strong{color:var(--color-text);font-size:.88rem;line-height:1.25}.notification-item-copy span{color:var(--color-muted);font-size:.78rem;line-height:1.35}.user-menu-trigger{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#fff;cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.user-menu-trigger:hover{border-color:#0f172a2e;background:#f8fafc;box-shadow:var(--shadow-sm)}.user-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:999px;background:#081a31;color:#fff;font-size:.82rem;font-weight:var(--font-weight-bold);letter-spacing:.02em;overflow:hidden}.user-avatar--fallback{background:#fff;border:1px solid rgba(15,23,42,.12);color:#475569}.user-avatar--large{width:52px;height:52px}.user-avatar img{width:100%;height:100%;display:block;object-fit:cover}.user-avatar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.user-avatar--large svg{width:24px;height:24px}.user-trigger-copy strong,.user-trigger-copy small,.user-menu-profile-copy strong,.user-menu-profile-copy span{display:block}.user-trigger-copy{min-width:118px;text-align:left}.user-trigger-copy strong{color:var(--color-text);font-size:.88rem;line-height:1.2}.user-trigger-copy small,.user-menu-profile-copy span{color:var(--color-muted);font-size:.8rem;line-height:1.25}.user-menu-popover{width:326px;display:grid;gap:10px;overflow:hidden;padding:10px}.user-menu-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid rgba(15,23,42,.07);border-radius:12px;background:#f8fafc}.user-menu-profile-copy{min-width:0}.user-menu-profile-copy strong{overflow:hidden;color:var(--color-text);font-size:.95rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.user-menu-profile-copy span{overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap}.user-menu-profile-link{min-height:30px;padding:0 9px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#fff;color:#334155;cursor:pointer;font-size:.76rem;font-weight:800}.user-menu-profile-link:hover{border-color:#0f172a24;background:#f1f5f9}.user-menu-actions{display:grid;gap:3px}.user-menu-actions button{width:100%;min-height:34px;padding:7px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--color-text);cursor:pointer;font-size:.88rem;font-weight:var(--font-weight-medium);text-align:left}.user-menu-actions button:hover{border-color:#0f172a14;background:#f8fafc}.user-menu-footer{padding-top:10px;border-top:1px solid rgba(15,23,42,.08)}.user-menu-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;border:1px solid #fecaca;border-radius:10px;background:#fff5f5;color:#b91c1c;cursor:pointer;font-size:.9rem;font-weight:800}.user-menu-logout:hover{background:#fee2e2}.user-menu-logout svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.app-content{min-width:0;padding-block:var(--page-padding-block)}.app-content-inner{width:100%;max-width:1360px;margin-inline:auto}.app-content-inner>*{min-width:0;max-width:100%}.feature-card{padding:var(--card-padding);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffffeb,#f8fbffdb);border:1px solid var(--card-border);box-shadow:var(--shadow-sm)}.error{color:var(--color-danger)}button{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(59,130,246,.42);outline-offset:3px}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--color-muted),white 16%)}.time-record-card{display:grid;gap:var(--layout-gap)}.form-row{display:grid;gap:.5rem}.form-row label{font-weight:600}.form-row select{width:100%;max-width:360px;padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--color-surface)}.button-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:var(--section-gap)}.status-message{border-radius:var(--radius-md);padding:1rem 1.15rem;border:1px solid transparent;max-width:620px;box-shadow:var(--shadow-xs)}.status-message.success{background:var(--color-success-soft);border-color:#05966929;color:var(--color-success)}.status-message.error{background:var(--color-danger-soft);border-color:#dc262629;color:var(--color-danger)}.summary-panel{display:grid;gap:var(--section-gap)}.summary-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}.summary-header h3{margin:0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--section-gap)}.summary-grid div{background:var(--color-surface-muted);border:1px solid var(--border);padding:var(--card-padding);border-radius:var(--radius-md)}.summary-grid strong{display:block;margin-bottom:.5rem}@media (max-width: 900px){.app-shell{grid-template-rows:var(--app-header-height) minmax(0,1fr)}.app-body-shell{grid-template-columns:1fr}.app-sidebar,.app-shell.is-sidebar-collapsed .app-sidebar{position:fixed;left:0;top:var(--app-header-height);width:min(280px,calc(100vw - 28px));height:calc(100dvh - var(--app-header-height));max-width:none;padding:10px 9px;transform:translate(-100%);box-shadow:18px 0 42px #2232482e;z-index:45}.app-sidebar.is-mobile-open,.app-shell.is-sidebar-collapsed .app-sidebar.is-mobile-open{transform:translate(0)}.app-sidebar-mobile-header{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:0 0 10px 9px;border-bottom:1px solid #D1DCEB}.app-sidebar-mobile-header strong{color:#1f2a3d;font-size:.86rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.app-shell.is-sidebar-collapsed,.app-shell.is-sidebar-collapsed .app-body-shell{grid-template-columns:1fr}.app-shell.is-sidebar-collapsed .app-nav-label{display:inline;max-width:190px;opacity:1;transform:none}.app-shell.is-sidebar-collapsed .app-nav-link{justify-content:flex-start;width:100%;min-height:44px;padding:9px;border-radius:10px}.app-shell.is-sidebar-collapsed .app-nav-group-items{width:100%;justify-items:stretch;margin-left:0;padding:1px 0 7px;border-left:0}.app-shell.is-sidebar-collapsed .app-nav-group-title{display:flex;min-height:28px;max-height:28px;opacity:1;padding:6px 9px;transform:none}.app-shell.is-sidebar-collapsed .app-nav{justify-items:stretch;gap:10px;padding-top:10px}.app-nav-link{min-height:44px}.sidebar-toggle{display:none}.app-main-shell{padding-inline:0}.mobile-menu-backdrop{position:fixed;top:var(--app-header-height);right:0;bottom:0;left:0;border:0;background:#0f172a52;z-index:40}.mobile-menu-button{display:block;width:44px;height:44px;flex:0 0 44px}.app-header{align-items:center;justify-content:space-between;padding:9px max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left));gap:12px}.app-header-brand{position:absolute;left:50%;min-width:0;transform:translate(-50%)}.app-header-brand img{width:104px;max-height:42px}.app-header-search{display:none}.app-header-left{flex:0 0 auto}.app-header-actions{gap:6px;margin-left:auto}.notifications-trigger,.user-menu-trigger{width:44px;height:44px;min-height:44px;padding:0}.user-trigger-copy{display:none}.app-content{padding:var(--page-padding-block) max(var(--page-padding-inline),env(safe-area-inset-right)) calc(var(--page-padding-block) + env(safe-area-inset-bottom)) max(var(--page-padding-inline),env(safe-area-inset-left))}.app-content-inner{max-width:none}}@media (max-width: 640px){.app-header{padding:9px max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left));gap:10px}.app-header-brand img{width:88px;max-height:40px}.notifications-trigger,.user-menu-trigger{border-color:transparent;background:transparent;box-shadow:none}.notifications-trigger:hover,.user-menu-trigger:hover{border-color:#0f172a14;background:#ffffffb8;box-shadow:none}.user-avatar{width:32px;height:32px}.notifications-popover{right:-46px;width:min(340px,calc(100vw - 28px))}.user-menu-popover{right:0;width:min(326px,calc(100vw - 32px))}.app-content{padding:var(--page-padding-block) max(var(--page-padding-inline),env(safe-area-inset-right)) calc(var(--page-padding-block) + env(safe-area-inset-bottom)) max(var(--page-padding-inline),env(safe-area-inset-left))}}.error-boundary-page{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:24px}.error-boundary-card{width:min(100%,520px);display:grid;justify-items:center;gap:18px;padding:28px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-muted));box-shadow:var(--shadow-lg);text-align:center}.error-boundary-visual{display:grid;place-items:center;width:54px;height:54px;border-radius:999px;background:var(--color-danger-soft);color:var(--color-danger);font-weight:var(--font-weight-bold);font-size:1.4rem}.error-boundary-card h1{margin:0 0 8px;font-size:1.35rem}.error-boundary-card p{margin:0;color:var(--color-muted);line-height:1.5}.error-boundary-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.month-field{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:8px}.month-field select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:var(--control-min-height);padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.month-field select:focus{border-color:#2563eb6b;outline:2px solid rgba(37,99,235,.18);box-shadow:0 0 0 4px var(--ring)}@media (max-width: 900px){.month-field select{min-height:var(--touch-target-min)}}.confirm-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirm-dialog{--confirm-accent: var(--color-accent);--confirm-soft: var(--color-accent-50);--confirm-border: #D8E2EE;width:min(100%,468px);max-height:calc(100dvh - 48px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:22px;border:1px solid var(--confirm-border);border-radius:20px;background:#fff;box-shadow:0 28px 72px #0f172a3d;overflow:auto}.confirm-dialog--danger{--confirm-accent: var(--color-danger);--confirm-soft: var(--color-danger-soft);--confirm-border: #FECACA}.confirm-dialog--warning{--confirm-accent: var(--color-warning);--confirm-soft: var(--color-warning-soft);--confirm-border: #FDE68A}.confirm-dialog--info{--confirm-accent: var(--color-accent);--confirm-soft: var(--color-accent-50);--confirm-border: #BFDBFE}.confirm-dialog-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--confirm-accent),transparent 68%);border-radius:999px;background:var(--confirm-soft);color:var(--confirm-accent)}.confirm-dialog-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.confirm-dialog-content{min-width:0;padding-top:2px}.confirm-dialog h2{margin:0 0 7px;color:#1f2a3d;font-size:1.18rem;font-weight:820;letter-spacing:-.01em}.confirm-dialog p{margin:0;color:#526174;font-size:.94rem;line-height:1.55}.confirm-dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;padding-top:8px;margin-top:2px}.confirm-dialog-actions .ui-button{min-width:112px;min-height:44px}@media (max-width: 520px){.confirm-dialog-layer{align-items:end;padding:16px 16px 0}.confirm-dialog{max-height:calc(100dvh - 16px);grid-template-columns:1fr;gap:14px;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .ui-button{width:100%;justify-content:center}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:120;display:grid;gap:12px;width:min(430px,calc(100vw - 32px));pointer-events:none}.toast{--toast-accent: var(--color-accent);--toast-accent-soft: var(--color-accent-50);--toast-border: #D8E2EE;--toast-text: #1F2A3D;--toast-muted: #526174;display:grid;grid-template-columns:4px auto minmax(0,1fr) auto;gap:13px;align-items:center;min-height:76px;overflow:hidden;padding:15px 14px 15px 0;border:1px solid var(--toast-border);border-radius:16px;background:var(--toast-accent-soft);box-shadow:0 22px 54px #0f172a2e;pointer-events:auto;animation:toast-enter .22s ease-out}.toast-indicator{width:4px;height:100%;min-height:76px;border-radius:999px;background:var(--toast-accent)}.toast--success{--toast-accent: #059669;--toast-accent-soft: #ECFDF3;--toast-border: #A7F3D0;--toast-text: #064E3B;--toast-muted: #047857}.toast--error{--toast-accent: #DC2626;--toast-accent-soft: #FEF2F2;--toast-border: #FECACA;--toast-text: #7F1D1D;--toast-muted: #B91C1C}.toast--warning{--toast-accent: #D97706;--toast-accent-soft: #FFFBEB;--toast-border: #FDE68A;--toast-text: #78350F;--toast-muted: #B45309}.toast--info{--toast-accent: #2563EB;--toast-accent-soft: #EFF6FF;--toast-border: #BFDBFE;--toast-text: #1E3A8A;--toast-muted: #1D4ED8}.toast-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--toast-accent),transparent 72%);border-radius:12px;background:#fff;color:var(--toast-accent)}.toast-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.toast-content{display:grid;gap:5px;min-width:0}.toast-content strong{color:var(--toast-text);font-size:.95rem;font-weight:800;line-height:1.2}.toast-content span{color:var(--toast-muted);font-size:.88rem;line-height:1.4;overflow-wrap:anywhere}.toast-close{display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--toast-accent),transparent 68%);border-radius:10px;background:transparent;color:var(--toast-muted);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.toast-close:hover{border-color:color-mix(in srgb,var(--toast-accent),transparent 46%);background:#ffffff8a;color:var(--toast-text)}.toast-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 900px){.toast-close{width:44px;height:44px}}@media (max-width: 640px){.toast-container{bottom:16px;right:12px;left:12px;width:auto}.toast{grid-template-columns:4px auto minmax(0,1fr) auto;min-height:72px;gap:10px;padding-right:11px}.toast-indicator{min-height:72px}.toast-icon{width:34px;height:34px;border-radius:11px}.toast-icon svg{width:18px;height:18px}.toast-content strong{font-size:.9rem}.toast-content span{font-size:.82rem}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}html,body{height:100%;margin:0;padding:0}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;background:#fff;font-family:Inter,Arial,sans-serif;padding:1rem}.login-logo{width:130px;height:auto;margin-bottom:1.5rem;display:block;margin-left:auto;margin-right:auto}.login-container form{width:100%;max-width:360px;background:#fff;padding:1.5rem;border-radius:.75rem;border:1px solid #d1d5db;box-shadow:0 2px 6px #0000000d;display:flex;flex-direction:column;gap:1rem;animation:fadeIn .6s ease-out}.login-container input{padding:.9rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.login-container input:focus{border-color:#2980b9;box-shadow:0 0 0 2px #2980b940;outline:none}.login-container form button[type=submit]{padding:.9rem;border:none;border-radius:.5rem;background:#000a23;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease}.login-container form button[type=submit]:hover{background:#00021e}.login-container form button[type=submit]:disabled{background:#95a5a6;cursor:not-allowed}.password-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-wrapper input{flex:1;padding-right:2.5rem}.password-wrapper .toggle-btn{position:absolute;right:.75rem;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem}.error{min-height:1.25rem;color:#e74c3c;font-size:.9rem;text-align:center;margin:.5rem 0 0}.forgot-password{text-align:center}.forgot-password-link{margin-top:.85rem;border:0;background:transparent;color:#1877f2;cursor:pointer;font-size:.9rem;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.forgot-password-link:disabled{color:#95a5a6;cursor:not-allowed;text-decoration:none}.forgot-password a{color:#1877f2;text-decoration:none;font-size:.9rem}.forgot-password a:hover{text-decoration:underline}.create-account-btn{margin-top:1rem;padding:.8rem;border:1px solid #1877f2;border-radius:.5rem;background:#fff;color:#1877f2;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;max-width:360px}.create-account-btn:hover{background:#f0f7ff}.login-secondary-button,.dev-token-box button{padding:.82rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:#000a23;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.login-secondary-button:hover,.dev-token-box button:hover{background:#f8fafc;border-color:#b6beca}.login-secondary-button:disabled,.dev-token-box button:disabled{color:#95a5a6;cursor:not-allowed}.login-help-text,.password-rule{color:#64748b;font-size:.84rem;line-height:1.4;margin:0;text-align:center}.dev-token-box{display:grid;gap:.65rem;border:1px solid #dbe3ef;border-radius:.75rem;background:#f8fafc;padding:.85rem}.dev-token-box span{color:#334155;font-size:.78rem;font-weight:700}.dev-token-box code{overflow-wrap:anywhere;color:#000a23;font-size:.78rem;line-height:1.4}.dev-token-box button{padding:.7rem}.login-footer{margin-top:2rem;text-align:center;font-size:.8rem;color:#777}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.login-container{justify-content:flex-start;padding-top:12vh}.login-logo{margin-bottom:1.5rem}.login-container form{padding:1.2rem;gap:.8rem}.create-account-btn{font-size:.95rem;padding:.75rem}}.skeleton{display:block;width:100%;height:16px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#1018280f,#2563eb1a,#1018280f);background-size:220% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton--rounded{border-radius:999px}@keyframes skeleton-pulse{to{background-position:-220% 0}}.empty-state{display:grid;justify-items:center;gap:var(--section-gap);padding:calc(var(--card-padding) + 10px);border:1px dashed var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface),var(--color-surface-muted));text-align:center;box-shadow:var(--shadow-sm)}.empty-state-visual{display:grid;place-items:center;width:54px;height:54px;border-radius:999px;background:var(--color-accent-50);box-shadow:inset 0 0 0 1px var(--color-accent-100)}.empty-state-visual span{width:24px;height:24px;border:2px solid var(--color-accent);border-radius:var(--radius-sm)}.empty-state h3{margin:0 0 6px;color:var(--color-text);font-size:1.02rem}.empty-state p{margin:0;color:var(--color-muted)}.empty-state-action{margin-top:4px}@media (max-width: 640px){.empty-state{padding:var(--card-padding)}.empty-state-action,.empty-state-action .ui-button{width:100%}}.loading-spinner-wrap{display:inline-flex;align-items:center;gap:8px;color:var(--color-muted);font-size:.92rem;font-weight:var(--font-weight-medium)}.loading-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(37,99,235,.18);border-top-color:var(--color-accent);animation:feedback-spin .75s linear infinite}@keyframes feedback-spin{to{transform:rotate(360deg)}}.page-header{min-width:0;width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--section-gap);position:relative;padding-bottom:10px}.page-header>div:first-child{min-width:0}.page-header:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,rgba(37,99,235,.22),rgba(30,41,59,.08) 42%,transparent);content:""}.page-header-eyebrow{display:inline-flex;margin-bottom:5px;color:var(--color-accent);font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase}.page-header h2{margin:0 0 4px;color:var(--color-text);font-size:clamp(1.05rem,1.3vw,1.32rem);font-weight:800;line-height:1.16;text-transform:uppercase}.page-header p{max-width:520px;margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-action{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}@media (max-width: 640px){.page-header{align-items:stretch;flex-direction:column;gap:var(--section-gap)}.page-header p{white-space:normal}.page-header-action{width:100%;justify-content:flex-start;flex-wrap:wrap}.page-header-action>*{max-width:100%}}@media (max-width: 900px){.page-header{align-items:stretch;flex-direction:column}.page-header p{white-space:normal}.page-header-action{width:100%;justify-content:flex-start;flex-wrap:wrap}.page-header-action>*{min-width:0;max-width:100%}}.form-field{display:grid;gap:6px}.form-field label{font-weight:var(--font-weight-medium);color:var(--color-text-soft)}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:var(--control-min-height);padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;box-shadow:var(--shadow-xs);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(37,99,235,.18);border-color:#2563eb6b;box-shadow:0 0 0 4px var(--ring)}.form-field.is-invalid input,.form-field.is-invalid select,.form-field.is-invalid textarea{border-color:#ef4444a6;background:#ef44440a}.form-field.is-valid input,.form-field.is-valid select,.form-field.is-valid textarea{border-color:#05966961}.form-error{color:var(--color-danger);font-size:12px;font-weight:var(--font-weight-medium)}.form-help{color:var(--color-muted);font-size:12px}.absences-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.absences-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.absences-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.absences-summary span,.absences-section-heading>span,.absences-history-header span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.absences-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.absences-summary strong.is-positive{color:var(--color-success)}.absences-summary strong.is-negative{color:var(--color-danger)}.absences-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;align-items:start}.absences-form,.absences-preview,.absences-history{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.absences-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;padding:18px}.absences-section-heading{grid-column:1 / -1;display:grid;gap:4px}.absences-section-heading h2,.absences-history-header h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.absences-section-heading p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.45}.absences-field{display:grid;min-width:0;gap:6px}.absences-field label{color:var(--color-text);font-weight:var(--font-weight-medium)}.absences-field select,.absences-field input,.absences-field textarea{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.absences-field textarea{min-height:84px;resize:vertical}.absences-field--reason,.absences-field--notes{grid-column:1 / -1}.absences-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.absences-form .absences-actions{grid-column:1 / -1;min-height:58px;margin:4px -18px -18px;padding:12px 18px;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--color-surface-muted)}.absences-form .absences-actions>span{margin-right:auto;color:var(--color-muted);font-size:.84rem}.absences-preview{display:grid;gap:18px;padding:18px}.absences-preview dl{display:grid;gap:0;margin:0}.absences-preview dl div{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid var(--border)}.absences-preview dl div:last-child{border-bottom:0}.absences-preview dt{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.absences-preview dd{margin:0;color:var(--color-text);font-weight:var(--font-weight-bold);overflow-wrap:anywhere}.absences-history{display:grid;gap:14px;padding:14px}.absences-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.absences-history-header>div{display:grid;gap:4px}.absences-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr) repeat(2,minmax(145px,.55fr)) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.absences-list{display:grid;gap:9px}.absence-card{position:relative;display:grid;gap:13px;padding:14px 14px 14px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);overflow:hidden}.absence-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--color-accent);content:""}.absence-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.absence-card-main h3{margin:0 0 4px;color:var(--color-text);font-size:.98rem;font-weight:800}.absence-card-main span,.absence-card-body span{color:var(--color-muted);font-size:.82rem}.absence-type{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;color:var(--color-accent);background:var(--color-accent-50);font-size:.78rem;font-weight:var(--font-weight-bold);white-space:nowrap}.absence-type--unjustified_absence{color:var(--color-danger);background:var(--color-danger-soft)}.absence-type--medical_certificate,.absence-type--justified_absence,.absence-type--day_off{color:var(--color-success);background:var(--color-success-soft)}.absence-type--training,.absence-type--business_trip{color:var(--color-warning);background:var(--color-warning-soft)}.absence-card-body{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.55fr));gap:10px}.absence-card-body div{display:grid;gap:5px;min-width:0}.absence-card-body strong{color:var(--color-text);font-size:.9rem;overflow-wrap:anywhere}.absence-notes{margin:0;padding-top:11px;border-top:1px solid var(--border);color:var(--color-text);font-size:.9rem;overflow-wrap:anywhere}@media (max-width: 1040px){.absences-workspace{grid-template-columns:1fr}.absences-summary,.absences-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.absences-filters .absences-actions{grid-column:1 / -1}.absence-card-body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.absences-form,.absences-filters,.absence-card-body{grid-template-columns:1fr}.absences-field--reason,.absences-field--notes,.absences-filters .absences-actions{grid-column:auto}.absences-actions,.absence-card-main,.absences-history-header{align-items:stretch;flex-direction:column}.absences-form{padding:14px}.absences-form .absences-actions{margin:4px -14px -14px;padding:12px 14px}.absences-form .absences-actions>span{margin-right:0}.absences-actions .ui-button,.absences-history-header .ui-button{width:100%}.absence-type{align-self:flex-start}}@media (max-width: 420px){.absences-summary{grid-template-columns:1fr}}.audit-logs-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.audit-logs-heading{min-width:0}.audit-logs-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.audit-logs-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.audit-logs-summary span,.audit-logs-workspace-header>div>span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.audit-logs-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.audit-logs-summary strong.is-positive{color:var(--color-success)}.audit-logs-summary strong.is-negative{color:var(--color-danger)}.audit-logs-workspace{display:grid;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.audit-logs-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.audit-logs-workspace-header>div{display:grid;gap:4px}.audit-logs-workspace-header h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.audit-logs-workspace-header p{margin:0;color:var(--color-muted);font-size:.84rem}.audit-logs-workspace-header>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.audit-logs-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.audit-logs-field{display:grid;min-width:0;gap:6px}.audit-logs-field label,.audit-logs-toolbar label{color:var(--color-muted);font-size:.82rem;font-weight:var(--font-weight-medium)}.audit-logs-field select,.audit-logs-field input,.audit-logs-toolbar select{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.audit-logs-actions{display:flex;justify-content:flex-end}.audit-logs-toolbar,.audit-logs-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.audit-logs-toolbar{padding-inline:2px;color:var(--color-muted);font-size:.86rem}.audit-logs-toolbar label{display:inline-flex;align-items:center;gap:8px}.audit-logs-toolbar select{min-width:86px}.audit-logs-list{display:grid;gap:9px}.audit-log-card{position:relative;display:grid;gap:12px;padding:14px 14px 14px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);overflow:hidden}.audit-log-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--border-strong);content:""}.audit-log-card:has(.audit-log-action--create):before,.audit-log-card:has(.audit-log-action--approve):before{background:var(--color-success)}.audit-log-card:has(.audit-log-action--update):before{background:var(--color-accent)}.audit-log-card:has(.audit-log-action--close):before{background:var(--color-warning)}.audit-log-card:has(.audit-log-action--reject):before{background:var(--color-danger)}.audit-log-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.audit-log-date{display:block;margin-bottom:4px;color:var(--color-muted);font-size:.82rem}.audit-log-main h3{margin:0;color:var(--color-text);font-size:.96rem;font-weight:800;line-height:1.45}.audit-log-action{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-bold);white-space:nowrap}.audit-log-action--create,.audit-log-action--approve{color:var(--color-success);background:var(--color-success-soft)}.audit-log-action--update{color:var(--color-accent);background:var(--color-accent-50)}.audit-log-action--close{color:var(--color-warning);background:var(--color-warning-soft)}.audit-log-action--reject{color:var(--color-danger);background:var(--color-danger-soft)}.audit-log-meta{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.audit-log-meta span{color:var(--color-muted);font-size:.8rem;overflow-wrap:anywhere}.audit-log-meta span+span:before{margin-right:8px;color:var(--border-strong);content:"•"}.audit-logs-pagination{padding-top:2px}@media (max-width: 1120px){.audit-logs-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-logs-actions{justify-content:flex-start}.audit-logs-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.audit-logs-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-logs-workspace-header,.audit-logs-toolbar,.audit-logs-pagination{align-items:stretch;flex-direction:column}}@media (max-width: 640px){.audit-logs-filters{grid-template-columns:1fr}.audit-log-main{align-items:stretch;flex-direction:column}.audit-log-action{align-self:flex-start}.audit-logs-actions .ui-button,.audit-logs-pagination .ui-button{width:100%}}@media (max-width: 420px){.audit-logs-summary{grid-template-columns:1fr}.audit-log-meta{display:grid}.audit-log-meta span+span:before{display:none}}.dashboard-page{display:grid;gap:18px}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dashboard-heading .page-header h2{font-size:1.2rem;font-weight:800;letter-spacing:.02em;line-height:1.2}.dashboard-heading .page-header p{font-size:.86rem;line-height:1.35}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-metric-card,.dashboard-section,.dashboard-people-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.dashboard-metric-card{display:flex;align-items:flex-start;gap:14px;min-height:112px;padding:16px;transition:border-color .16s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.dashboard-metric-card:hover{border-color:#2563eb2e;box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-metric-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:var(--color-accent-50);color:var(--color-accent);font-weight:var(--font-weight-bold)}.dashboard-metric-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-metric-card span,.dashboard-metric-card small{color:var(--color-muted)}.dashboard-metric-card span{display:block;margin-bottom:7px;font-size:.78rem;font-weight:800;letter-spacing:.03em;line-height:1.3;text-transform:uppercase}.dashboard-metric-card strong{display:block;color:var(--color-text);font-size:1.55rem;font-weight:850;line-height:1.05}.dashboard-metric-card small{display:block;margin-top:7px;font-size:.78rem;line-height:1.35}.dashboard-metric-card--success .dashboard-metric-icon{background:var(--color-success-soft);color:var(--color-success)}.dashboard-metric-card--warning .dashboard-metric-icon{background:var(--color-warning-soft);color:var(--color-warning)}.dashboard-metric-card--danger .dashboard-metric-icon{background:var(--color-danger-soft);color:var(--color-danger)}.dashboard-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.dashboard-people-card{min-width:0;padding:18px}.dashboard-people-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.dashboard-people-header>div{min-width:0}.dashboard-people-header h2{margin:0;color:var(--color-text);font-size:.98rem;font-weight:800;line-height:1.3}.dashboard-people-header p{margin:4px 0 0;color:var(--color-muted);font-size:.86rem;line-height:1.4}.dashboard-people-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text);font-size:.78rem;font-weight:800}.dashboard-people-list{display:grid}.dashboard-employee-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:12px 0;border-bottom:1px solid var(--card-border)}.dashboard-employee-row:last-child{border-bottom:0}.dashboard-employee-avatar{display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border:1px solid var(--card-border);border-radius:50%;background:var(--color-accent-50);color:var(--color-accent);font-size:.82rem;font-weight:var(--font-weight-bold)}.dashboard-employee-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-employee-copy{min-width:0}.dashboard-employee-copy strong,.dashboard-employee-copy span,.dashboard-employee-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-employee-copy strong{color:var(--color-text);font-size:.92rem;font-weight:700;line-height:1.3}.dashboard-employee-copy span{margin-top:2px;color:var(--color-muted);font-size:.84rem;font-weight:700;line-height:1.3}.dashboard-employee-copy small{margin-top:4px;color:var(--color-muted);font-size:.78rem;line-height:1.35}.dashboard-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1.2;white-space:nowrap}.dashboard-status-badge.is-missing{color:var(--color-danger);background:var(--color-danger-soft)}.dashboard-status-badge.is-working{color:var(--color-success);background:var(--color-success-soft)}.dashboard-status-badge.is-on-break{color:var(--color-warning);background:var(--color-warning-soft)}.dashboard-status-badge.is-completed{color:var(--color-accent);background:var(--color-accent-50)}.dashboard-status-badge.is-unknown{color:var(--color-muted);background:var(--color-surface-muted)}.dashboard-people-empty{display:grid;gap:4px;min-height:88px;align-content:center;padding:14px 0;color:var(--color-muted)}.dashboard-people-empty strong{color:var(--color-text);font-size:.92rem;font-weight:700;line-height:1.3}.dashboard-people-empty span{font-size:.84rem;line-height:1.4}.dashboard-people-more{padding-top:10px;border-top:1px solid var(--card-border);color:var(--color-accent);font-size:.78rem;font-weight:800;line-height:1.3;text-align:center}.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:16px;align-items:start}.dashboard-main-column,.dashboard-alert-column{display:grid;gap:16px}.dashboard-section{display:grid;align-content:start;gap:14px;padding:18px}.dashboard-section-header h3{margin:0 0 4px;color:var(--color-text);font-size:.98rem;font-weight:800;line-height:1.3}.dashboard-section-header p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.4}.dashboard-list{display:grid;gap:9px}.dashboard-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid rgba(30,41,59,.07);border-radius:14px;background:linear-gradient(180deg,#ffffff,var(--color-surface-muted));transition:border-color .16s ease,box-shadow .18s ease,transform .18s ease}.dashboard-list-item:hover{border-color:#2563eb24;box-shadow:var(--shadow-xs);transform:translateY(-1px)}.dashboard-list-item.is-alert{border-color:#dc26262e;background:linear-gradient(180deg,#dc262614,#ffffffdb)}.dashboard-list-item strong,.dashboard-list-item span{display:block}.dashboard-list-item strong{color:var(--color-text);font-size:.92rem;font-weight:700;line-height:1.3}.dashboard-list-item div>span{margin-top:3px;color:var(--color-muted);font-size:.84rem;font-weight:700;line-height:1.35}.dashboard-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:.78rem;font-weight:800;line-height:1.2;white-space:nowrap}.dashboard-badge--credit,.dashboard-badge--create,.dashboard-badge--closed{color:var(--color-success);background:var(--color-success-soft)}.dashboard-badge--debit,.dashboard-badge--danger{color:var(--color-danger);background:var(--color-danger-soft)}.dashboard-badge--open,.dashboard-badge--update,.dashboard-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.dashboard-badge--close{color:var(--color-accent);background:var(--color-accent-50)}.dashboard-balance{font-weight:var(--font-weight-bold);white-space:nowrap}.dashboard-balance.is-positive{color:var(--color-success)}.dashboard-balance.is-negative{color:var(--color-danger)}.dashboard-balance.is-neutral{color:var(--color-text)}@media (max-width: 1180px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.dashboard-people-grid,.dashboard-workspace{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-heading,.dashboard-list-item{align-items:stretch;flex-direction:column}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric-card{min-height:104px;padding:14px}.dashboard-people-card{padding:16px}.dashboard-employee-row{grid-template-columns:auto minmax(0,1fr)}.dashboard-status-badge{grid-column:2;justify-self:start}.dashboard-badge,.dashboard-balance{align-self:flex-start}}@media (max-width: 380px){.dashboard-metrics{grid-template-columns:1fr}}.employees-shell{display:flex;flex-direction:column;gap:1rem}.employees-toolbar{position:sticky;top:74px;z-index:5;display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:.85rem;padding:.65rem;border:1px solid rgba(226,232,240,.9);border-radius:1rem;background:#ffffffeb;box-shadow:0 8px 24px #0206170d}.employees-search{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:.85rem;background:#f8fafc}.employees-search span{display:grid;place-items:center;color:#64748b}.employees-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.employees-search input{width:100%;min-width:0;border:0;background:transparent;color:#0f172a;font-size:.95rem;outline:none}.employees-filters{display:flex;align-items:center;gap:.55rem}.employees-filters select{min-height:38px;padding:0 .75rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#0f172a;font-weight:700}.employees-form-panel,.employees-edit-card,.employees-table-card{border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 4px 14px #0206170d}.employees-form-panel,.employees-edit-card{display:grid;gap:1rem;padding:1rem}.employees-form-panel-header,.employees-edit-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid #f1f5f9}.employees-form-panel-header strong,.employees-edit-summary strong{display:block;color:#0f172a;font-size:1rem;font-weight:800}.employees-form-panel-header span,.employees-edit-summary span{color:#64748b;font-size:.88rem}.employees-table-card{padding:.6rem}.employees-table-wrap{overflow-x:auto;border-radius:.8rem}.employees-table{width:100%;border-collapse:collapse;font-size:.93rem}.employees-table thead th{background:#f3f4f6;color:#334155;font-size:.78rem;font-weight:800;letter-spacing:.02em;padding:.85rem .9rem;text-align:left;text-transform:uppercase;white-space:nowrap}.employees-table thead th:not(:first-child),.employees-table tbody td:not(:first-child){text-align:center}.employees-table tbody td{border-bottom:1px solid #f1f5f9;color:#475569;padding:.82rem .9rem;vertical-align:middle}.employees-table tbody tr{transition:background-color .14s ease}.employees-table tbody tr:hover{background:#e0f2fe}.employees-table tbody tr:hover td{border-bottom-color:#bfdbfe}.employees-person{display:flex;align-items:center;gap:.7rem;min-width:220px}.employees-person strong,.employees-person div>span{display:block}.employees-person strong{color:#0f172a;font-weight:800;letter-spacing:-.01em}.employees-person span:not(.employees-avatar){color:#64748b;font-size:.83rem}.employees-avatar{display:grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border-radius:10px;background:#eff6ff;box-shadow:inset 0 0 0 1px #dbeafe;color:#1e40af;font-weight:800;overflow:hidden}.employees-avatar img{display:block;width:100%;height:100%;object-fit:cover}.employees-badge{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:800;white-space:nowrap}.employees-badge--neutral{background:#f1f5f9;color:#0f172a}.employees-badge--success{border-color:#bbf7d0;background:#ecfdf5;color:#047857}.employees-badge--muted{border-color:#e5e7eb;background:#f8fafc;color:#64748b}.employees-row-actions{display:flex;justify-content:center;gap:.45rem;white-space:nowrap}.employees-icon-button{border:1px solid #e5e7eb;border-radius:.6rem;background:#fff;box-shadow:0 2px 8px #0206170a;color:#334155;cursor:pointer;font-weight:800;padding:.45rem .62rem;transition:background-color .14s ease,border-color .14s ease,box-shadow .16s ease,transform .12s ease}.employees-icon-button:hover{border-color:#93c5fd;background:#fff;box-shadow:0 10px 20px #0206171a;color:#1e3a8a;transform:translateY(-1px)}.employees-icon-button:disabled{cursor:not-allowed;opacity:.65;transform:none}.employees-icon-button--danger{border-color:#fecaca;background:#fff5f5;color:#7f1d1d}.employees-icon-button--danger:hover{border-color:#fecaca;background:#fee2e2;color:#7f1d1d}.employees-empty-filter{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 4px 14px #0206170d;color:#334155}.employees-table-skeleton-row{display:grid;grid-template-columns:36px 1fr .55fr .45fr .3fr;align-items:center;gap:.9rem;padding:.78rem;border-bottom:1px solid #f1f5f9}.emp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.emp-form .form-field{min-width:0}.emp-form .form-actions{grid-column:1 / -1}.employees-edit-card{max-width:780px}.uedit{--header-h: 3.5rem;--topbar-h: 56px;display:flex;flex-direction:column;gap:.9rem;max-width:900px;margin:0 auto 1rem;padding:1rem}.uedit:before{display:block;width:60px;height:3px;margin:0 auto;border-radius:2px;background:linear-gradient(90deg,#fff,#000a23);content:""}.uedit__topbar{z-index:5;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;min-height:var(--topbar-h);padding:.4rem 0 .6rem;border-bottom:1px solid #e5e7eb;border-radius:.5rem;background:#fff}.uedit__back,.uedit__btn,.uedit__toggle{cursor:pointer;transition:transform .12s ease,box-shadow .16s ease,background-color .12s ease,border-color .12s ease,color .12s ease}.uedit__back{border:1px solid #e5e7eb;border-radius:999px;background:#fff;box-shadow:0 2px 8px #0206170a;color:#111827;font-size:.9rem;font-weight:700;padding:.42rem .8rem}.uedit__back:hover,.uedit__btn:hover,.uedit__toggle:hover{box-shadow:0 10px 24px #0206171f;transform:translateY(-1px)}.uedit__title{display:flex;align-items:center;justify-self:center;gap:.5rem;min-width:0;color:#0f172a;font-size:1.05rem;font-weight:800;letter-spacing:-.01em}.uedit__badge,.uedit__status{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #e2e8f0;border-radius:999px;background:#f1f5f9;color:#0f172a;font-size:.78rem;font-weight:800;padding:.15rem .55rem;white-space:nowrap}.uedit__status.is-active{border-color:#bbf7d0;background:#ecfdf5;color:#047857}.uedit__status.is-inactive{border-color:#e5e7eb;background:#f8fafc;color:#64748b}.uedit__hero,.uedit__card,.uedit__skeleton{border:1px solid #e5e7eb;border-radius:1rem;background:#fff;box-shadow:0 4px 12px #0206170a}.uedit__hero{display:flex;align-items:center;gap:1rem;padding:1.15rem}.uedit__avatar{display:grid;flex:0 0 auto;width:64px;height:64px;place-items:center;border-radius:18px;background:#eff6ff;box-shadow:inset 0 0 0 1px #dbeafe;color:#1e40af;font-size:1.15rem;font-weight:900;overflow:hidden}.uedit__avatar img{display:block;width:100%;height:100%;object-fit:cover}.uedit__heroMain{display:grid;gap:.35rem;min-width:0}.uedit__heroMain h2{margin:0;color:#0f172a;font-size:clamp(1.45rem,3vw,2rem);font-weight:850;letter-spacing:-.02em}.uedit__heroMain a{width:fit-content;color:#2563eb;font-size:.96rem;text-decoration:none}.uedit__heroMain a:hover{text-decoration:underline}.uedit__heroBadges{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.uedit__form{display:flex;flex-direction:column;gap:.9rem}.uedit__card{display:grid;gap:1rem;padding:1rem}.uedit__photoCard{padding:1rem}.uedit__photoContent{display:flex;align-items:center;gap:1rem}.uedit__photoPreview{display:grid;flex:0 0 auto;width:86px;height:86px;place-items:center;border:1px solid #dbeafe;border-radius:22px;background:#eff6ff;color:#1e40af;font-size:1.35rem;font-weight:900;overflow:hidden}.uedit__photoPreview img{display:block;width:100%;height:100%;object-fit:cover}.uedit__photoActions{display:grid;gap:.35rem;min-width:0}.uedit__photoActions strong{color:#0f172a;font-size:.98rem}.uedit__photoActions span{color:#64748b;font-size:.86rem}.uedit__photoActions label{width:fit-content;margin-top:.35rem}.uedit__photoActions input{display:none}.uedit__btn.is-disabled{cursor:not-allowed;opacity:.65;transform:none}.uedit__sectionHeader{display:grid;gap:.18rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}.uedit__sectionHeader span{color:#0f172a;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.uedit__sectionHeader p{margin:0;color:#64748b;font-size:.9rem}.uedit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.uedit__field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.uedit__field--full{grid-column:1 / -1}.uedit__field label{color:#0f172a;font-size:.95rem;font-weight:700}.uedit__field input,.uedit__field select{min-height:42px;border:1px solid #e5e7eb;border-radius:.7rem;background:#fff;color:#0f172a;font-size:.95rem;outline:none;padding:.6rem .75rem;transition:border-color .12s ease,box-shadow .12s ease}.uedit__field input:focus,.uedit__field select:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px #dbeafe}.uedit__field.is-invalid input,.uedit__field.is-invalid select{border-color:#fecaca;box-shadow:0 0 0 3px #fee2e2}.uedit__error{color:#b91c1c;font-size:.8rem;font-weight:700}.uedit__hint{color:#64748b;font-size:.8rem}.uedit__password{display:flex;align-items:center;gap:.5rem}.uedit__password input{flex:1}.uedit__toggle{min-height:42px;border:1px solid #e5e7eb;border-radius:.6rem;background:#fff;box-shadow:0 2px 8px #0206170a;color:#334155;font-size:.85rem;font-weight:800;padding:0 .7rem}.uedit__readonlyGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.uedit__readonlyGrid div{display:grid;gap:.32rem;padding:.85rem;border:1px solid #e5e7eb;border-radius:.8rem;background:#f8fafc}.uedit__readonlyGrid span{color:#64748b;font-size:.75rem;font-weight:800;text-transform:uppercase}.uedit__readonlyGrid strong{color:#0f172a;font-size:.92rem}.uedit__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.25rem}.uedit__btn{border:1px solid transparent;border-radius:.8rem;font-weight:800;letter-spacing:-.01em;padding:.6rem 1rem}.uedit__btn:disabled{cursor:not-allowed;opacity:.65;transform:none}.uedit__btn--primary{border-color:#111827;background:#111827;box-shadow:0 8px 24px #02061729;color:#fff}.uedit__btn--ghost{border-color:#e5e7eb;background:#fff;color:#111827}.uedit__skeleton{height:360px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:ueditShine 1.2s infinite}@keyframes ueditShine{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 900px){.employees-toolbar{position:static;grid-template-columns:1fr}.employees-filters{flex-wrap:wrap}}@media (max-width: 768px){.uedit{padding:.75rem}.uedit__topbar{grid-template-columns:1fr auto 1fr;padding:.5rem .25rem}.uedit__back{justify-self:start;padding:.28rem .55rem;font-size:.88rem}.uedit__title{max-width:58vw;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.uedit__title .uedit__badge{display:none}.uedit__hero,.uedit__photoContent{align-items:flex-start;flex-direction:column}.uedit__avatar{width:56px;height:56px}.uedit__grid,.uedit__readonlyGrid{grid-template-columns:1fr}.uedit__field input,.uedit__field select{min-height:44px;font-size:1rem}.uedit__password{position:relative;display:block}.uedit__password input{width:100%;padding-right:5.25rem}.uedit__toggle{position:absolute;top:50%;right:.35rem;min-height:36px;transform:translateY(-50%)}.uedit__toggle:hover{transform:translateY(-50%)}.uedit__actions{position:sticky;bottom:0;display:flex;justify-content:stretch;gap:.5rem;margin:0 -.25rem;padding:.6rem .25rem calc(.6rem + env(safe-area-inset-bottom,0));border-top:1px solid #e5e7eb;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.uedit__actions .uedit__btn{flex:1 1 0;min-height:48px}}@media (max-width: 900px){.employees-table,.employees-table tbody,.employees-table tr,.employees-table td{display:block}.employees-table thead{display:none}.employees-table tbody{display:grid;gap:.75rem}.employees-table tbody tr{border:1px solid #e5e7eb;border-radius:.95rem;background:#fff;box-shadow:0 3px 10px #02061714;padding:.8rem .85rem}.employees-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;padding:.48rem 0}.employees-table tbody td:before{color:#334155;content:attr(data-label);font-weight:800}.employees-table tbody td[data-label=Funcionário]:before{content:none}.employees-person{min-width:0}.employees-row-actions{width:100%;justify-content:flex-start}.emp-form{grid-template-columns:1fr}.employees-empty-filter,.employees-edit-summary,.employees-form-panel-header{align-items:stretch;flex-direction:column}}.employee-face-profile{gap:.85rem}.employee-face-profile__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.employee-face-profile__header>div{display:grid;gap:.18rem}.employee-face-profile__status{flex-shrink:0;padding:.24rem .62rem;border:1px solid #d8e2ee;border-radius:999px;font-size:.74rem;font-weight:800}.employee-face-profile__status.is-active{border-color:#a7f3d0;color:#166534;background:#ecfdf3}.employee-face-profile__status.is-revoked{border-color:#fecaca;color:#991b1b;background:#fef2f2}.employee-face-profile__status.is-empty{color:#526174;background:#f8fafc}.employee-face-profile__loading{padding:1rem;color:#64748b;text-align:center}.employee-face-profile__overview{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-width:0;padding:1rem;border:1px solid #d8e2ee;border-radius:.75rem;background:#f8fbff}.employee-face-profile__overview.is-active{border-color:#c8ead8;background:#f4fcf7}.employee-face-profile__overview.is-revoked{border-color:#f3d1d1;background:#fff8f8}.employee-face-profile__message{display:grid;gap:.3rem;min-width:0}.employee-face-profile__message strong{color:#0f172a;font-size:.95rem}.employee-face-profile__message p{max-width:620px;margin:0;color:#526174;font-size:.84rem;line-height:1.5}.employee-face-profile__dates{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem 1.25rem;margin:0}.employee-face-profile__dates>div{display:grid;gap:.2rem}.employee-face-profile__dates dt{color:#64748b;font-size:.68rem;font-weight:800;text-transform:uppercase}.employee-face-profile__dates dd{margin:0;color:#0f172a;font-size:.82rem;font-weight:700;white-space:nowrap}.employee-face-profile__technical{border-top:1px solid #e2e8f0}.employee-face-profile__technical summary{min-height:44px;display:flex;align-items:center;width:fit-content;color:#526174;font-size:.78rem;font-weight:750;cursor:pointer}.employee-face-profile__technical summary:hover{color:#315b87}.employee-face-profile__technical[open] summary{margin-bottom:.6rem;color:#315b87}.employee-face-profile__metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.employee-face-profile__metadata>div{display:grid;gap:.25rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc}.employee-face-profile__metadata span{color:#64748b;font-size:.68rem;font-weight:800;text-transform:uppercase}.employee-face-profile__metadata strong{color:#0f172a;font-size:.84rem;overflow-wrap:anywhere}.employee-face-profile__actions{display:flex;flex-wrap:wrap;gap:.6rem}.employee-face-layer{position:fixed;z-index:1400;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#0f172a94}.employee-face-dialog,.employee-face-revoke-dialog{width:min(100%,760px);min-height:0;max-height:calc(100dvh - 2.5rem);overflow:hidden;border:1px solid #d8e2ee;border-radius:1rem;background:#fff;box-shadow:0 28px 70px #0f172a47}.employee-face-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.employee-face-dialog__header{display:flex;align-items:flex-start;justify-content:flex-end;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #e2e8f0}.employee-face-dialog__header>div{display:none;gap:.2rem}.employee-face-dialog__header span{color:#315b87;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.employee-face-dialog__header h2,.employee-face-revoke-dialog h2{margin:0;color:#0f172a;font-size:1.15rem}.employee-face-dialog__header p,.employee-face-revoke-dialog p{margin:0;color:#64748b;font-size:.82rem}.employee-face-dialog__header>button{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8e2ee;border-radius:50%;color:#526174;background:#fff;cursor:pointer}.employee-face-dialog__header>button svg,.employee-face-revoke-dialog__header>button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.employee-face-dialog__body{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:.8rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1rem 1.1rem;scrollbar-gutter:stable}.employee-face-dialog__body>*{min-width:0;max-width:100%}.employee-face-dialog__body>:not(.employee-face-camera){position:relative;z-index:1}.employee-face-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:min(100%,540px);margin-inline:auto}.employee-face-progress__step{position:relative;display:grid;justify-items:center;gap:.3rem;color:#94a3b8;text-align:center}.employee-face-progress__step:not(:last-child):after{content:"";position:absolute;top:15px;left:calc(50% + 20px);width:calc(100% - 40px);height:2px;background:#d8e2ee}.employee-face-progress__step>span{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border:2px solid #d8e2ee;border-radius:50%;background:#fff;font-size:.78rem;font-weight:800}.employee-face-progress__step small{font-size:.68rem;font-weight:750}.employee-face-progress__step.is-current{color:#315b87}.employee-face-progress__step.is-current>span{border-color:#60a5fa;color:#1d4ed8;background:#eff6ff}.employee-face-progress__step.is-complete{color:#166534}.employee-face-progress__step.is-complete>span{border-color:#86efac;color:#166534;background:#ecfdf3}.employee-face-progress__step.is-complete:not(:last-child):after{background:#86efac}.employee-face-camera{position:relative;z-index:0;isolation:isolate;contain:layout paint;width:min(100%,540px);min-width:0;min-height:0;max-width:100%;margin-inline:auto;overflow:hidden;aspect-ratio:16 / 10;border-radius:.85rem;background:#091522}.employee-face-camera video{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;max-width:100%;max-height:100%;object-fit:cover;transform:scaleX(-1)}.employee-face-camera__frame{position:absolute;z-index:1;top:12%;right:30%;bottom:12%;left:30%;border:2px solid #fbbf24;border-radius:46% 46% 42% 42%;box-shadow:0 0 0 999px #030c172e;pointer-events:none}.employee-face-camera__frame.is-ready{border-color:#4ade80}.employee-face-camera__frame.is-multiple_faces{border-color:#f87171}.employee-face-camera__overlay{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;color:#fff;background:#030c17c7;font-weight:700;text-align:center}.employee-face-camera__instruction{position:absolute;z-index:2;left:50%;bottom:1rem;width:min(calc(100% - 2rem),360px);min-height:44px;display:grid;place-items:center;translate:-50% 0;padding:.65rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:#081a31d6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.82rem;font-weight:750;text-align:center}.employee-face-camera__instruction.is-ready{border-color:#4ade80b3;background:#166534e0}.employee-face-camera__instruction.is-multiple_faces{border-color:#f87171c2;background:#991b1be6}.employee-face-camera__captured{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:.65rem;padding:1rem;color:#fff;background:#0f5a36db;font-size:1rem;font-weight:800;text-align:center}.employee-face-camera__captured span{display:grid;place-items:center;width:52px;height:52px;border:2px solid rgba(255,255,255,.82);border-radius:50%;font-size:1.5rem}.employee-face-capture-status{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border:1px solid #d8e2ee;border-radius:.75rem;background:#f8fbff}.employee-face-capture-status>div{display:grid;gap:.2rem}.employee-face-capture-status strong{font-size:.82rem}.employee-face-capture-status>span{color:#64748b;font-size:.76rem;font-weight:750;white-space:nowrap}.employee-face-samples{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.employee-face-samples article{display:flex;align-items:center;gap:.5rem;padding:.7rem;border:1px solid #d8e2ee;border-radius:.7rem;background:#fff}.employee-face-samples article>div{min-width:0;flex:1;display:flex;align-items:center;gap:.5rem}.employee-face-samples__check{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;color:#166534;background:#dcfce7}.employee-face-samples strong,.employee-face-samples span{font-size:.74rem}.employee-face-samples article>div>span:last-child{margin-left:auto;color:#526174}.employee-face-samples button{flex:0 0 auto;min-height:44px;padding:0 .4rem;border:0;color:#315b87;background:transparent;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}.employee-face-review{position:relative;z-index:1;display:flex;align-items:center;gap:.8rem;width:min(100%,540px);margin-inline:auto;padding:1rem;border:1px solid #a7f3d0;border-radius:.75rem;background:#ecfdf3}.employee-face-review__icon{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;color:#166534;background:#d1fae5;font-size:1.1rem;font-weight:900}.employee-face-review>div{display:grid;gap:.25rem}.employee-face-review strong{color:#14532d;font-size:.92rem}.employee-face-review p{margin:0;color:#166534;font-size:.8rem}.employee-face-capture-details{border-top:1px solid #e2e8f0}.employee-face-capture-details summary{min-height:44px;display:flex;align-items:center;width:fit-content;color:#526174;font-size:.76rem;font-weight:750;cursor:pointer}.employee-face-capture-details__content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;padding-top:.6rem}.employee-face-capture-details__content>div:not(.employee-face-consistency__pairs){display:grid;gap:.2rem;padding:.65rem;border:1px solid #d8e2ee;border-radius:.65rem;background:#f8fafc}.employee-face-capture-details__content span{color:#64748b;font-size:.68rem}.employee-face-capture-details__content strong{color:#0f172a;font-size:.82rem}.employee-face-consistency__pairs{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.35rem .8rem}.employee-face-success{min-height:340px;display:grid;place-content:center;justify-items:center;gap:.75rem;padding:2rem;color:#14532d;text-align:center}.employee-face-success__icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;color:#166534;background:#dcfce7}.employee-face-success__icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.employee-face-success strong{max-width:420px;font-size:1.18rem}.employee-face-success p{max-width:440px;margin:0;color:#526174;font-size:.88rem;line-height:1.5}.employee-face-dialog__actions{position:relative;z-index:3;display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.1rem;border-top:1px solid #e2e8f0;background:#fff}.employee-face-revoke-dialog{width:min(100%,470px);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.employee-face-revoke-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #e2e8f0}.employee-face-revoke-dialog__header>div{display:grid;gap:.25rem}.employee-face-revoke-dialog__header>div>span{color:#991b1b;font-size:.68rem;font-weight:800;letter-spacing:.08em}.employee-face-revoke-dialog__header>button{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8e2ee;border-radius:50%;color:#526174;background:#fff;cursor:pointer}.employee-face-revoke-dialog__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.1rem}.employee-face-revoke-dialog__body label{display:grid;gap:.4rem;color:#0f172a;font-size:.84rem;font-weight:700}.employee-face-revoke-dialog__body textarea{min-height:110px;resize:vertical;padding:.7rem;border:1px solid #d8e2ee;border-radius:.7rem;color:#0f172a;background:#fff;font:inherit}.employee-face-revoke-dialog__body label>span{justify-self:end;color:#64748b;font-size:.7rem;font-weight:500}.employee-face-revoke-dialog .employee-face-dialog__actions{padding-bottom:calc(.9rem + env(safe-area-inset-bottom,0px))}@media (max-width: 720px){.employee-face-profile__header{align-items:flex-start;flex-direction:column}.employee-face-profile__overview{align-items:stretch;flex-direction:column;gap:.85rem}.employee-face-profile__dates{justify-content:flex-start}.employee-face-profile__actions{display:grid;grid-template-columns:1fr}.employee-face-profile__actions .ui-button{width:100%;justify-content:center}.employee-face-profile__metadata,.employee-face-samples{grid-template-columns:1fr}.employee-face-layer{place-items:stretch;padding:0}.employee-face-dialog,.employee-face-revoke-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.employee-face-dialog__header,.employee-face-revoke-dialog__header{padding:calc(.8rem + env(safe-area-inset-top,0px)) .9rem .8rem}.employee-face-dialog__header h2,.employee-face-revoke-dialog__header h2{font-size:1.05rem}.employee-face-dialog__body,.employee-face-revoke-dialog__body{padding:.85rem .9rem 1rem}.employee-face-progress{gap:.25rem}.employee-face-progress__step small{font-size:.64rem}.employee-face-camera{width:min(100%,430px);max-height:min(52dvh,520px);aspect-ratio:4 / 5}.employee-face-camera__frame{top:14%;right:18%;bottom:14%;left:18%}.employee-face-capture-status{align-items:center}.employee-face-capture-status>span{text-align:right}.employee-face-dialog__actions{flex-direction:column-reverse;flex:0 0 auto;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px #0f172a14}.employee-face-dialog__actions .ui-button{min-height:44px;width:100%;justify-content:center}.employee-face-samples{gap:.45rem}.employee-face-capture-details__content{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-face-success{min-height:0;height:100%;padding:1.5rem 1rem}}.reopen-closing-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:135;display:grid;place-items:center;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reopen-closing-dialog{width:min(100%,520px);max-height:calc(100dvh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #d8e2ee;border-radius:20px;background:#fff;box-shadow:0 28px 72px #0f172a3d}.reopen-closing-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding:22px 24px 18px;border-bottom:1px solid var(--border)}.reopen-closing-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(37,99,235,.22);border-radius:999px;background:var(--color-accent-50);color:var(--color-accent)}.reopen-closing-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.reopen-closing-heading h2{margin:0 0 7px;color:var(--color-text);font-size:1.18rem;font-weight:850}.reopen-closing-heading p{margin:0;color:var(--color-muted);font-size:.92rem;line-height:1.55}.reopen-closing-body{min-height:0;display:grid;gap:18px;padding:18px 24px;overflow-y:auto;overscroll-behavior:contain}.reopen-closing-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.reopen-closing-context strong{color:var(--color-text);font-size:.92rem}.reopen-closing-context span{color:var(--color-muted);font-size:.86rem}.reopen-closing-field{display:grid;gap:7px}.reopen-closing-field>span{color:var(--color-text);font-size:.84rem;font-weight:800}.reopen-closing-field textarea{width:100%;min-height:118px;resize:vertical;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--color-text);font:inherit;line-height:1.45}.reopen-closing-field textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px var(--color-accent-50)}.reopen-closing-field.is-invalid textarea{border-color:var(--color-danger)}.reopen-closing-field small{justify-self:end;color:var(--color-muted);font-size:.78rem}.reopen-closing-field.is-invalid small{justify-self:start;color:var(--color-danger)}.reopen-closing-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff}.reopen-closing-actions .ui-button{min-width:126px;min-height:44px}@media (max-width: 560px){.reopen-closing-layer{align-items:end;padding:16px 16px 0}.reopen-closing-dialog{max-height:calc(100dvh - 16px);border-bottom:0;border-radius:18px 18px 0 0}.reopen-closing-heading{grid-template-columns:1fr;padding:18px 18px 16px}.reopen-closing-icon{width:42px;height:42px}.reopen-closing-body{padding:16px 18px}.reopen-closing-context{align-items:flex-start;flex-direction:column}.reopen-closing-actions{flex-direction:column-reverse;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.reopen-closing-actions .ui-button{width:100%}}.monthly-closings-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.monthly-closings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.monthly-closings-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.monthly-closings-summary span,.monthly-closings-section-heading>span,.monthly-closings-list-header>div>span,.monthly-closings-status-filter>span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.monthly-closings-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.monthly-closings-summary strong.is-positive{color:var(--color-success)}.monthly-closings-summary strong.is-warning{color:var(--color-warning)}.monthly-closings-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:14px;align-items:start}.monthly-closings-form,.monthly-closings-context,.monthly-closings-list-panel{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.monthly-closings-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);align-items:end;gap:12px;padding:18px}.monthly-closings-section-heading{grid-column:1 / -1;display:grid;gap:4px}.monthly-closings-section-heading h2,.monthly-closings-list-header h3{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.monthly-closings-section-heading p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.45}.monthly-closings-field{display:grid;min-width:0;gap:6px}.monthly-closings-field--notes{grid-column:1 / -1}.monthly-closings-field textarea{width:100%;min-width:0;min-height:84px;resize:vertical;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.monthly-closings-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:58px;margin:4px -18px -18px;padding:12px 18px;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--color-surface-muted)}.monthly-closings-actions>span{margin-right:auto;color:var(--color-muted);font-size:.84rem}.monthly-closings-context{display:grid;gap:18px;padding:18px}.monthly-closings-context-status{display:grid;justify-items:start;gap:10px;padding-block:4px}.monthly-closings-context-status strong{color:var(--color-text);font-size:clamp(1.7rem,4vw,2.2rem);font-weight:850;line-height:1}.monthly-closings-context-status small{color:var(--color-muted);font-size:.84rem;line-height:1.45}.monthly-closings-closed-alert{padding:12px 13px;border:1px solid rgba(194,119,5,.22);border-radius:var(--radius-md);background:var(--color-warning-soft);color:var(--color-warning);font-size:.86rem;font-weight:var(--font-weight-bold);line-height:1.45}.monthly-closings-list-panel{display:grid;gap:14px;padding:14px}.monthly-closings-list-header{display:flex;align-items:end;justify-content:space-between;gap:14px}.monthly-closings-list-header>div:first-child{display:grid;gap:4px}.monthly-closings-list-actions{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:8px}.monthly-closings-status-filter{display:grid;min-width:150px;gap:6px}.monthly-closings-status-filter select{min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.monthly-closings-grid{display:grid;gap:9px}.monthly-closing-card{position:relative;display:grid;gap:15px;padding:15px 15px 15px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);overflow:hidden}.monthly-closing-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--color-warning);content:""}.monthly-closing-card:has(.monthly-closing-status--closed):before{background:var(--color-success)}.monthly-closing-card-header,.monthly-closing-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.monthly-closing-card-header h3{margin:0 0 4px;color:var(--color-text);font-size:1rem;font-weight:850}.monthly-closing-card-header span,.monthly-closing-footer span{color:var(--color-muted);font-size:.86rem}.monthly-closing-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.monthly-closing-status--new{color:var(--color-muted);background:var(--color-surface-muted)}.monthly-closing-status--open{color:var(--color-warning);background:var(--color-warning-soft)}.monthly-closing-status--closed{color:var(--color-success);background:var(--color-success-soft)}.monthly-closing-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-block:1px solid var(--border)}.monthly-closing-metrics div{display:grid;gap:7px;min-width:0;padding:13px 10px;border-right:1px solid var(--border)}.monthly-closing-metrics div:last-child{border-right:0}.monthly-closing-metrics span{color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.monthly-closing-metrics strong{color:var(--color-text);font-size:.96rem;font-weight:850;overflow-wrap:anywhere}.monthly-closing-balance.is-positive{color:var(--color-success)}.monthly-closing-balance.is-negative{color:var(--color-danger)}.monthly-closing-balance.is-neutral{color:var(--color-text)}.monthly-closing-notes{display:grid;gap:8px}.monthly-closing-notes button{justify-self:start;border:0;padding:0;background:transparent;color:var(--color-accent);cursor:pointer;font-weight:var(--font-weight-medium)}.monthly-closing-notes p{margin:0;padding:11px 0 0;border-top:1px solid var(--border);color:var(--color-text);overflow-wrap:anywhere}.monthly-closing-footer{align-items:center}.monthly-closing-footer>div{display:grid;gap:4px}.monthly-closing-footer small{color:var(--color-muted);font-size:.8rem}@media (max-width: 1040px){.monthly-closings-workspace{grid-template-columns:1fr}.monthly-closings-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-closing-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.monthly-closing-metrics div:nth-child(3){border-right:0}.monthly-closing-metrics div:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media (max-width: 860px){.monthly-closings-list-header{align-items:stretch;flex-direction:column}.monthly-closings-list-actions{justify-content:flex-start}}@media (max-width: 620px){.monthly-closings-form{grid-template-columns:1fr}.monthly-closing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-closings-field--notes{grid-column:auto}.monthly-closings-form{padding:14px}.monthly-closings-actions{align-items:stretch;flex-direction:column;margin:4px -14px -14px;padding:12px 14px}.monthly-closings-actions>span{margin-right:0}.monthly-closings-actions .ui-button{width:100%}.monthly-closings-list-actions{align-items:stretch;flex-direction:column}.monthly-closings-list-actions>*,.monthly-closings-status-filter{width:100%}.monthly-closing-metrics div,.monthly-closing-metrics div:nth-child(3){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.monthly-closing-metrics div:nth-child(2n){border-right:0}.monthly-closing-metrics div:nth-last-child(-n+2){border-bottom:0}.monthly-closing-card-header,.monthly-closing-footer{align-items:stretch;flex-direction:column}.monthly-closing-status{align-self:flex-start}.monthly-closing-footer .ui-button{width:100%}}@media (max-width: 420px){.monthly-closings-summary{grid-template-columns:1fr}}.operational-pending-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.operational-pending-heading{min-width:0}.operational-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.operational-pending-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:clamp(20px,2.5vw,28px);border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.operational-pending-overview:before{position:absolute;inset:0 auto 0 0;width:5px;background:var(--color-success);content:""}.operational-pending-overview.has-pending:before{background:var(--color-warning)}.operational-pending-overview-main{display:grid;gap:8px;min-width:0}.operational-pending-overview-main>span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.operational-pending-overview-main strong{color:var(--color-text);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:850;letter-spacing:-.03em;line-height:1.05}.operational-pending-overview-main p{max-width:580px;margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.5}.operational-pending-overview-pills{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:8px;width:min(100%,360px)}.operational-pending-overview-pills span{display:flex;align-items:center;min-height:42px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-soft);font-size:.8rem;font-weight:var(--font-weight-bold)}.operational-pending-section{display:grid;align-content:start;gap:14px;padding:18px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.operational-pending-section--warning{border-color:#c277052e}.operational-pending-section--danger{border-color:#dc262629}.operational-pending-section header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.operational-pending-section h3{margin:0 0 4px;color:var(--color-text);font-size:.98rem;font-weight:800}.operational-pending-section p{margin:0;color:var(--color-muted);font-size:.84rem;line-height:1.4}.operational-pending-count,.operational-pending-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-bold)}.operational-pending-count{color:var(--color-accent);background:var(--color-accent-50);box-shadow:inset 0 0 0 1px #2563eb14}.operational-pending-badge--danger{color:var(--color-danger);background:var(--color-danger-soft)}.operational-pending-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.operational-pending-badge--neutral{color:var(--color-muted);background:var(--color-bg)}.operational-pending-list{display:grid;gap:9px}.operational-pending-item{display:grid;gap:7px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-decoration:none;transition:border-color .16s ease,background-color .16s ease}.operational-pending-item:hover{border-color:#2563eb2e;background:var(--color-accent-50)}.operational-pending-item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.operational-pending-item strong{color:var(--color-text);font-size:.94rem}.operational-pending-item span{color:var(--color-muted);font-size:.82rem}.operational-pending-action{justify-self:start;color:var(--color-accent)!important;font-weight:var(--font-weight-bold)}.operational-pending-empty{padding:14px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--color-muted);background:var(--color-surface-muted);font-size:.86rem}@media (max-width: 1080px){.operational-pending-overview{grid-template-columns:1fr}.operational-pending-overview-pills{width:100%}}@media (max-width: 900px){.operational-pending-grid{grid-template-columns:1fr}}@media (max-width: 640px){.operational-pending-item-main{align-items:stretch;flex-direction:column}.operational-pending-overview{padding:18px 16px 16px 20px}.operational-pending-overview-pills{grid-template-columns:1fr}.operational-pending-section{padding:14px}.operational-pending-section header{align-items:center}.operational-pending-action{min-height:32px;display:inline-flex;align-items:center}}.point-adjustments-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.point-adjustments-heading{min-width:0}.point-adjustments-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.point-adjustments-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.point-adjustments-summary span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.point-adjustments-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.point-adjustments-summary strong.is-positive{color:var(--color-success)}.point-adjustments-summary strong.is-negative{color:var(--color-danger)}.point-adjustments-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;align-items:start}.point-adjustments-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;padding:18px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-adjustments-form--manual{grid-template-columns:1fr}.point-adjustments-form-heading{grid-column:1 / -1;display:grid;gap:4px}.point-adjustments-form-heading h3{margin:0;color:var(--color-text);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.point-adjustments-form-heading p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.45}.point-adjustments-field{display:grid;gap:6px}.point-adjustments-field--reason,.point-adjustments-field--notes,.point-adjustments-field--employee{grid-column:1 / -1}.point-adjustments-field textarea{width:100%;min-height:84px;resize:vertical;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.point-adjustments-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:58px;margin:4px -18px -18px;padding:12px 18px;border-top:1px solid var(--border);background:var(--color-surface-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.point-adjustments-operational-message{color:var(--color-muted);font-size:.86rem;text-align:right}.point-adjustments-history{display:grid;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-adjustments-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.point-adjustments-history-header>div{display:grid;gap:4px}.point-adjustments-history-header span{color:var(--color-muted);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.06em}.point-adjustments-history-header h3{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.point-adjustments-list{display:grid;gap:9px}.point-adjustment-card{position:relative;display:grid;gap:13px;padding:14px 14px 14px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);overflow:hidden}.point-adjustment-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--border-strong);content:""}.point-adjustment-card:has(.point-adjustment-type--credit):before{background:var(--color-success)}.point-adjustment-card:has(.point-adjustment-type--debit):before{background:var(--color-danger)}.point-adjustment-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.point-adjustment-main h3{margin:0 0 4px;color:var(--color-text);font-size:.98rem;font-weight:800}.point-adjustment-main span{color:var(--color-muted);font-size:.82rem}.point-adjustment-type{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-bold)}.point-adjustment-type--credit{color:var(--color-success);background:var(--color-success-soft)}.point-adjustment-type--debit{color:var(--color-danger);background:var(--color-danger-soft)}.point-adjustment-details{display:grid;grid-template-columns:minmax(100px,140px) minmax(220px,1fr) minmax(180px,220px);gap:10px}.point-adjustment-details div{display:grid;gap:6px;min-height:72px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface)}.point-adjustment-details span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.point-adjustment-details strong{color:var(--color-text);font-size:.92rem;overflow-wrap:anywhere}.point-adjustment-notes{display:grid;gap:8px;padding-top:2px}.point-adjustment-notes button{justify-self:start;border:0;padding:0;background:transparent;color:var(--color-accent);cursor:pointer;font-weight:var(--font-weight-medium)}.point-adjustment-notes p{margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);overflow-wrap:anywhere}@media (max-width: 1040px){.point-adjustments-workspace{grid-template-columns:1fr}.point-adjustments-summary,.point-adjustment-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.point-adjustments-form,.point-adjustment-details{grid-template-columns:1fr}.point-adjustments-field--reason,.point-adjustments-field--notes{grid-column:auto}.point-adjustments-actions,.point-adjustment-main,.point-adjustments-history-header{align-items:stretch;flex-direction:column}.point-adjustments-operational-message{text-align:left}.point-adjustments-form{padding:14px}.point-adjustments-actions{margin:4px -14px -14px;padding:12px 14px}.point-adjustment-card{padding:13px 13px 13px 16px}.point-adjustments-actions .ui-button,.point-adjustments-history-header .ui-button{width:100%}}@media (max-width: 420px){.point-adjustments-summary{grid-template-columns:1fr}}.point-correction-page{display:grid;gap:18px}.point-correction-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.point-correction-form{display:grid;grid-template-columns:minmax(160px,190px) minmax(210px,240px) minmax(240px,1fr) auto;align-items:end;gap:12px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-correction-guide{display:grid;gap:18px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-correction-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.point-correction-guide-header span,.point-correction-section-title span{color:var(--color-muted);font-size:.78rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.point-correction-guide-header h2,.point-correction-section-title h2{margin:4px 0 0;color:var(--color-text);font-size:1.12rem}.point-correction-guide-header p{max-width:430px;margin:0;color:var(--color-muted);font-size:.92rem;line-height:1.5}.point-correction-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.point-correction-kind-option{display:grid;gap:6px;min-height:96px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);text-align:left;cursor:pointer}.point-correction-kind-option:hover{border-color:var(--color-primary)}.point-correction-kind-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.point-correction-kind-option strong{font-size:.96rem}.point-correction-kind-option span{color:var(--color-muted);font-size:.88rem;line-height:1.45}.point-correction-guided-form{display:grid;gap:14px}.point-correction-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.point-correction-wrong-time{display:grid;grid-template-columns:minmax(180px,220px) minmax(260px,1fr) minmax(180px,220px) minmax(170px,190px);align-items:start;gap:12px}.point-correction-record-panel{display:grid;gap:8px}.point-correction-record-panel-header{display:flex;align-items:center;justify-content:space-between;min-height:22px;color:var(--color-text);font-weight:var(--font-weight-medium)}.point-correction-record-list{display:grid;gap:8px}.point-correction-record-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.point-correction-record-option:hover{border-color:var(--color-primary)}.point-correction-record-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.point-correction-record-option span{color:var(--color-muted);font-size:.88rem}.point-correction-record-option strong{font-size:.92rem}.point-correction-original-summary{display:grid;grid-template-columns:auto 1fr;gap:7px 10px;min-height:76px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-bg)}.point-correction-original-summary span{color:var(--color-muted);font-size:.78rem}.point-correction-original-summary strong{color:var(--color-text);font-size:.9rem}.point-correction-form-actions,.point-correction-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.point-correction-form-actions{justify-content:flex-end}.point-correction-field{display:grid;gap:6px}.point-correction-field label{font-weight:var(--font-weight-medium);color:var(--color-text)}.point-correction-field input,.point-correction-field select,.point-correction-field textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.point-correction-list{display:grid;gap:12px}.point-correction-card{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-correction-main,.point-correction-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.point-correction-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.point-correction-main h3{margin:0 0 4px;font-size:1rem}.point-correction-main span,.point-correction-review span{color:var(--color-muted);font-size:.9rem}.point-correction-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.82rem;font-weight:var(--font-weight-medium);white-space:nowrap}.point-correction-status--pending{color:var(--color-warning);background:var(--color-warning-soft)}.point-correction-status--approved{color:var(--color-success);background:var(--color-success-soft)}.point-correction-status--rejected{color:var(--color-danger);background:var(--color-danger-soft)}.point-correction-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.point-correction-details div,.point-correction-review{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-bg)}.point-correction-details span{color:var(--color-muted);font-size:.78rem}.point-correction-details strong,.point-correction-review strong{color:var(--color-text);font-size:.92rem;overflow-wrap:anywhere}.point-correction-reject{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px}.confirm-dialog .point-correction-field{grid-column:1 / -1}.point-correction-page--review{gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.point-correction-page--review .point-correction-heading{min-width:0}.point-correction-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.point-correction-review-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.point-correction-review-summary span,.point-correction-review-queue-header span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.point-correction-review-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.point-correction-review-summary strong.is-warning{color:var(--color-warning)}.point-correction-review-summary strong.is-positive{color:var(--color-success)}.point-correction-review-summary strong.is-negative{color:var(--color-danger)}.point-correction-review-queue{display:grid;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-correction-review-queue-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.point-correction-review-queue-header>div{display:grid;gap:4px}.point-correction-review-queue-header h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.point-correction-review-queue-header p{margin:0;color:var(--color-muted);font-size:.84rem}.point-correction-review-queue-header>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.point-correction-page--review .point-correction-list{gap:9px}.point-correction-page--review .point-correction-card{position:relative;gap:13px;padding:14px 14px 14px 17px;border-color:var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);box-shadow:none;overflow:hidden}.point-correction-page--review .point-correction-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--border-strong);content:""}.point-correction-page--review .point-correction-card:has(.point-correction-status--pending):before{background:var(--color-warning)}.point-correction-page--review .point-correction-card:has(.point-correction-status--approved):before{background:var(--color-success)}.point-correction-page--review .point-correction-card:has(.point-correction-status--rejected):before{background:var(--color-danger)}.point-correction-page--review .point-correction-main h3{color:var(--color-text);font-size:.98rem;font-weight:800}.point-correction-page--review .point-correction-main span,.point-correction-page--review .point-correction-review span{font-size:.82rem}.point-correction-page--review .point-correction-status{font-size:.78rem;font-weight:var(--font-weight-bold)}.point-correction-page--review .point-correction-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.point-correction-page--review .point-correction-details div,.point-correction-page--review .point-correction-review{gap:6px;min-height:70px;padding:11px;border-radius:var(--radius-md);background:var(--color-surface)}.point-correction-page--review .point-correction-details span,.point-correction-page--review .point-correction-review span{color:var(--color-muted);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.point-correction-page--review .point-correction-details strong,.point-correction-page--review .point-correction-review strong{font-size:.88rem;line-height:1.4}.point-correction-page--review .point-correction-actions{align-items:center;padding-top:2px;color:var(--color-muted);font-size:.82rem}@media (max-width: 960px){.point-correction-form,.point-correction-details,.point-correction-form-grid,.point-correction-kind-grid,.point-correction-wrong-time,.point-correction-page--review .point-correction-details,.point-correction-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.point-correction-form,.point-correction-details,.point-correction-reject,.point-correction-form-grid,.point-correction-kind-grid,.point-correction-wrong-time{grid-template-columns:1fr}.point-correction-main,.point-correction-actions,.point-correction-guide-header,.point-correction-form-actions,.point-correction-section-title{align-items:stretch;flex-direction:column}.point-correction-page--review .point-correction-list{padding:0}.point-correction-page--review .point-correction-card{padding:13px 13px 13px 16px}.point-correction-page--review .point-correction-details{grid-template-columns:1fr}.point-correction-page--review .point-correction-actions>div,.point-correction-page--review .point-correction-actions .ui-button{width:100%}.point-correction-page--review .point-correction-actions>div{display:grid;grid-template-columns:1fr}.point-correction-review-queue-header{align-items:flex-start;flex-direction:column}}@media (max-width: 420px){.point-correction-review-summary{grid-template-columns:1fr}}.reason-dialog-layer{position:fixed;z-index:1400;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a75;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reason-dialog{width:min(100%,520px);max-height:calc(100dvh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #fecaca;border-radius:20px;background:var(--color-surface);box-shadow:0 28px 72px #0f172a3d}.reason-dialog-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:20px;border-bottom:1px solid var(--border)}.reason-dialog-header>div:nth-child(2){display:grid;gap:6px;min-width:0}.reason-dialog-header h2{margin:0;color:var(--color-text);font-size:1.16rem;font-weight:850}.reason-dialog-header p{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.5}.reason-dialog-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #fecaca;border-radius:999px;color:var(--color-danger);background:var(--color-danger-soft)}.reason-dialog-icon svg,.reason-dialog-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.reason-dialog-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:999px;color:var(--color-muted);background:var(--color-surface);cursor:pointer}.reason-dialog-form{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.reason-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px}.reason-dialog-field{display:grid;gap:7px}.reason-dialog-field>span{color:var(--color-text);font-size:.84rem;font-weight:var(--font-weight-bold)}.reason-dialog-field textarea{width:100%;min-height:132px;resize:vertical;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;line-height:1.45}.reason-dialog-field textarea:focus{border-color:#2563eb6b;outline:2px solid rgba(37,99,235,.18);box-shadow:0 0 0 4px var(--ring)}.reason-dialog-field.is-invalid textarea{border-color:var(--color-danger);background:var(--color-danger-soft)}.reason-dialog-field small{justify-self:end;color:var(--color-muted);font-size:.76rem}.reason-dialog-field.is-invalid small{justify-self:start;color:var(--color-danger);font-weight:var(--font-weight-medium)}.reason-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--color-surface)}.reason-dialog-actions .ui-button{min-width:120px}@media (max-width: 560px){.reason-dialog-layer{align-items:end;padding:0}.reason-dialog{width:100%;max-height:min(88dvh,720px);border-right:0;border-bottom:0;border-left:0;border-radius:20px 20px 0 0}.reason-dialog-header{grid-template-columns:minmax(0,1fr) auto;padding:16px 16px 14px}.reason-dialog-icon{display:none}.reason-dialog-body{padding:16px}.reason-dialog-actions{flex-direction:column-reverse;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.reason-dialog-actions .ui-button{width:100%}}.reports-page{display:grid;gap:18px;width:100%;max-width:1250px;margin-inline:auto}.reports-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;padding:16px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffffff5,#f8fbffe0);box-shadow:var(--shadow-sm)}.reports-filters--operator{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.reports-field{display:grid;gap:6px}.reports-field label{color:var(--color-text);font-size:.82rem;font-weight:var(--font-weight-bold)}.reports-field select,.reports-field input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffeb;color:var(--color-text);font:inherit}.reports-toggle-filter{display:inline-flex;align-items:center;gap:8px;min-height:38px;color:var(--color-text);font-size:.9rem;font-weight:var(--font-weight-medium)}.reports-toggle-filter input{width:16px;height:16px;accent-color:var(--color-accent)}.reports-results{display:grid;gap:14px}.reports-period-card,.reports-card,.reports-list-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffffff5,#f8fbffe0);box-shadow:var(--shadow-sm)}.reports-period-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;overflow:hidden;padding:clamp(18px,2.2vw,26px);position:relative}.reports-period-card:before{position:absolute;inset:0 auto 0 0;width:5px;background:var(--color-muted);content:""}.reports-period-card:has(.reports-balance.is-positive):before{background:var(--color-success)}.reports-period-card:has(.reports-balance.is-negative):before{background:var(--color-danger)}.reports-period-main span,.reports-card span,.reports-day-detail span{color:var(--color-muted);font-size:.82rem}.reports-period-main span,.reports-card span{font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.reports-period-main>strong{display:block;margin-top:8px;font-size:clamp(2.35rem,5vw,4rem);font-weight:820;letter-spacing:-.04em;line-height:.96}.reports-period-main p{margin:8px 0 0;color:var(--color-text);font-size:1rem;font-weight:740}.reports-period-meta{display:grid;justify-items:end;gap:10px;text-align:right}.reports-period-meta small{color:var(--color-muted)}.reports-situation{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;font-size:.82rem;font-weight:var(--font-weight-bold)}.reports-situation.is-positive{color:var(--color-success);background:var(--color-success-soft)}.reports-situation.is-negative{color:var(--color-danger);background:var(--color-danger-soft)}.reports-situation.is-neutral{color:var(--color-muted);background:var(--color-surface-muted)}.reports-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reports-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.reports-tabs button{display:inline-flex;flex:1 1 180px;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:0;border-radius:12px;background:transparent;color:var(--color-muted);cursor:pointer;font:inherit;font-size:.88rem;font-weight:var(--font-weight-bold)}.reports-tabs button:hover{background:var(--color-surface-muted);color:var(--color-text)}.reports-tabs button.is-active{background:#d7e5f7;color:#081a31}.reports-tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:2px 7px;border-radius:999px;background:#ffffffb8;font-size:.76rem}.reports-card{display:grid;gap:8px;min-height:92px;padding:15px 16px}.reports-card strong{color:var(--color-text);font-size:1.34rem;font-weight:760}.reports-balance{font-weight:var(--font-weight-bold)}.reports-balance.is-positive,.reports-card strong.is-positive{color:var(--color-success)}.reports-balance.is-negative,.reports-card strong.is-negative{color:var(--color-danger)}.reports-balance.is-neutral,.reports-card strong.is-neutral{color:var(--color-text)}.reports-list-card{overflow:hidden}.reports-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border)}.reports-list-header h3{margin:0 0 4px;color:var(--color-text);font-size:1rem;font-weight:760}.reports-list-header span{color:var(--color-muted)}.reports-list-header small{display:block;margin-top:4px;color:var(--color-muted);font-size:.76rem}.reports-list-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.reports-day-list{display:grid;gap:10px;padding:14px}.reports-day-card{border:1px solid #dfe7f1;border-radius:12px;background:#fff;overflow:hidden}.reports-day-card.is-problem,.reports-day-card.is-no-record{border-color:#c2770533}.reports-day-card.is-negative-balance{border-color:#dc26262e}.reports-day-card.has-adjustment{border-color:#2563eb29}.reports-day-main{display:grid;grid-template-columns:minmax(130px,.24fr) minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:14px 16px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.reports-day-main:hover{background:#2563eb0a}.reports-day-date{display:grid;gap:8px}.reports-day-date strong{color:var(--color-text);font-size:.94rem}.reports-day-metrics{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:10px;align-items:center}.reports-day-metrics.has-break{grid-template-columns:repeat(6,minmax(92px,1fr))}.reports-day-metrics span{display:grid;gap:3px;color:var(--color-text);font-size:.88rem}.reports-day-metrics small{color:var(--color-muted);font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.reports-day-schedule-state{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid rgba(30,41,59,.08);border-radius:10px;background:#f8fbffb8}.reports-day-schedule-state strong{color:var(--color-text);font-size:.92rem}.reports-day-schedule-state span,.reports-day-schedule-state small{color:var(--color-muted);line-height:1.35}.reports-day-schedule-state.is-day-off{border-color:#64748b24}.reports-day-schedule-state.is-missing-records{border-color:#c2770533;background:var(--color-warning-soft)}.reports-day-view-content{display:grid;gap:10px;min-width:0}.reports-day-view-summary{display:grid;gap:7px;min-width:0}.reports-day-view-summary>strong{color:var(--color-warning);font-size:.78rem}.reports-day-view-summary>div{display:flex;flex-wrap:wrap;gap:6px}.reports-day-view-summary span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;color:#854d0e;background:var(--color-warning-soft);font-size:.74rem;font-weight:var(--font-weight-bold)}.reports-labor-warnings{display:grid;gap:6px;min-width:0;padding:9px 10px;border:1px solid rgba(194,119,5,.18);border-radius:10px;background:var(--color-warning-soft)}.reports-labor-warnings>strong{color:var(--color-warning);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.reports-labor-warnings>div{display:flex;flex-wrap:wrap;gap:6px}.reports-labor-warnings span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;color:#854d0e;background:#ffffffb8;font-size:.74rem;font-weight:var(--font-weight-bold)}.reports-day-audit-summary{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:10px;min-width:0}.reports-day-audit-summary>span{display:grid;gap:3px;min-width:0}.reports-day-audit-summary small{color:var(--color-muted);font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase}.reports-day-audit-summary strong{font-size:.88rem}.reports-day-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.reports-mini-indicator,.reports-expand-label,.reports-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-bold);white-space:nowrap}.reports-mini-indicator.is-positive{color:var(--color-success);background:var(--color-success-soft)}.reports-mini-indicator.is-negative{color:var(--color-danger);background:var(--color-danger-soft)}.reports-mini-indicator.is-neutral,.reports-expand-label{color:var(--color-muted);background:var(--color-bg)}.reports-status--complete{color:var(--color-success);background:var(--color-success-soft)}.reports-status--incomplete{color:var(--color-warning);background:var(--color-warning-soft)}.reports-status--no_records{color:var(--color-muted);background:var(--color-bg)}.reports-day-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:14px;border-top:1px solid rgba(30,41,59,.08);background:#f8fbffb8}.reports-day-detail>div{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid #d8e2ee;border-radius:12px;background:var(--color-surface)}.reports-day-detail>div:first-child{display:none}.reports-day-detail span{font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.reports-day-detail strong{color:var(--color-text);font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.reports-filter-empty{padding:16px}@media (max-width: 1180px){.reports-filters,.reports-filters--operator{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-day-main{grid-template-columns:1fr}.reports-day-metrics,.reports-day-metrics.has-break{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-day-flags{justify-content:flex-start}}@media (max-width: 720px){.reports-filters,.reports-filters--operator,.reports-summary,.reports-tabs,.reports-period-card,.reports-day-detail{grid-template-columns:1fr}.reports-tabs{display:grid}.reports-period-meta{justify-items:start;text-align:left}.reports-list-header{flex-direction:column}.reports-list-actions{justify-content:flex-start}.reports-day-list{gap:8px;padding:10px}.reports-day-main{gap:12px;padding:13px}.reports-day-date{display:flex;align-items:center;justify-content:space-between;gap:10px}.reports-day-metrics,.reports-day-metrics.has-break,.reports-day-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.reports-day-metrics span,.reports-day-audit-summary>span{padding-bottom:7px;border-bottom:1px solid rgba(30,41,59,.07)}.reports-day-flags{align-items:center;justify-content:space-between}.reports-expand-label{min-height:32px;padding-inline:11px}}.reports-closing-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid rgba(5,150,105,.22);border-radius:var(--radius-lg);background:var(--color-success-soft);color:var(--color-text)}.reports-closing-banner>div{display:grid;gap:5px}.reports-closing-banner>div span{color:var(--color-success);font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.reports-closing-banner>div strong{font-size:.96rem}.reports-closing-banner dl{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;margin:0}.reports-closing-banner dl div{display:grid;gap:4px;min-width:130px}.reports-closing-banner dt{color:var(--color-muted);font-size:.75rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.reports-closing-banner dd{margin:0;color:var(--color-text);font-size:.92rem;font-weight:850}@media (max-width: 720px){.reports-closing-banner{align-items:stretch;flex-direction:column}.reports-closing-banner dl{justify-content:flex-start}}.reports-filters{grid-template-columns:1fr;align-items:stretch;gap:14px;padding:14px;background:var(--color-surface)}.reports-query-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.reports-query-fields{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(220px,.8fr);align-items:start;gap:12px;min-width:0}.reports-query-fields--operator{grid-template-columns:minmax(220px,360px)}.reports-query-fields>*,.reports-query-fields .month-field,.reports-query-fields .month-field>*{min-width:0;max-width:100%}.reports-query-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0;padding-top:12px;border-top:1px solid var(--border)}.reports-advanced{display:grid;gap:10px;min-width:0}.reports-advanced-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.reports-advanced-toggle span{color:var(--color-text);font-size:.86rem;font-weight:800;letter-spacing:0}.reports-advanced-toggle strong{color:var(--color-muted);font-size:.78rem;font-weight:var(--font-weight-bold)}.reports-advanced-panel{display:grid;grid-template-columns:minmax(170px,.8fr) repeat(4,minmax(160px,1fr));align-items:center;gap:10px 14px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--color-surface-muted)}.reports-advanced-panel>*{min-width:0}.reports-query-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;min-width:0}.reports-query-options .reports-toggle-filter{min-width:0;min-height:44px}.reports-query-options .reports-toggle-filter input{flex:0 0 auto}.reports-generate-button{flex:0 0 auto;min-width:112px}.reports-query-heading>div,.reports-result-heading>div{display:grid;gap:4px}.reports-query-heading span,.reports-result-heading span{color:var(--color-muted);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.06em}.reports-query-heading h2,.reports-result-heading h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.reports-query-heading p,.reports-result-heading p{margin:0;color:var(--color-muted);font-size:.84rem}.reports-result-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.reports-result-heading>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.reports-period-card,.reports-card,.reports-list-card{background:var(--color-surface)}.reports-card{background:var(--color-surface-muted)}@media (max-width: 720px){.reports-query-fields,.reports-query-fields--operator,.reports-advanced-panel{grid-template-columns:1fr}.reports-query-footer{align-items:stretch;flex-direction:column}.reports-query-options{display:grid;grid-template-columns:1fr;gap:4px}.reports-generate-button{width:100%}.reports-result-heading{align-items:flex-start;flex-direction:column}}@media (min-width: 721px) and (max-width: 1080px){.reports-query-fields,.reports-query-fields--operator,.reports-advanced-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.admin-page>*{min-width:0;max-width:100%}.admin-surface,.admin-record-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-form-surface{padding:var(--card-padding, 20px)}.admin-form-surface>*{min-width:0}.admin-section-heading{display:grid;gap:4px}.admin-section-heading>span,.admin-section-heading>h3{margin:0;color:var(--color-text);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-section-heading>p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.45}.admin-list{display:grid;gap:12px}.admin-record-card{padding:var(--card-padding, 20px)}.admin-metric-grid>div{min-width:0;border-color:var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.admin-metric-grid span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.admin-metric-grid strong{color:var(--color-text);overflow-wrap:anywhere}@media (max-width: 640px){.admin-page .admin-actions{width:100%}.admin-page .admin-actions>.ui-button{width:100%}}.admin-analytics-page .admin-filter-surface{padding:16px}.admin-analytics-page .admin-primary-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-analytics-page .time-bank-hero>div>strong,.admin-analytics-page .reports-period-main>strong{font-size:clamp(2rem,4vw,2.8rem);line-height:1}.admin-analytics-page .time-bank-summary,.admin-analytics-page .reports-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-analytics-page .admin-summary-grid{gap:10px}.admin-analytics-page .admin-summary-card{min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);box-shadow:none}.admin-analytics-page .admin-summary-card span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.admin-analytics-page .admin-summary-card strong{color:var(--color-text);font-size:1.25rem;font-weight:800}.admin-analytics-page .admin-list-panel{overflow:hidden;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-analytics-page .admin-list-panel-header{padding:18px 20px;border-bottom:1px solid var(--border)}.admin-analytics-page .admin-list-row{border-color:var(--border);border-radius:var(--radius-md);background:var(--color-surface)}.admin-analytics-page .reports-period-grid>div{border-color:var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.admin-analytics-page .reports-day-card{background:var(--color-surface)}.admin-analytics-page .admin-support-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}@media (max-width: 900px){.admin-analytics-page .admin-filter-surface{padding:14px}.admin-analytics-page .admin-list-panel-header{padding:16px}.admin-analytics-page .time-bank-summary,.admin-analytics-page .reports-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.admin-analytics-page .admin-filter-surface,.admin-analytics-page .admin-list-panel-header{padding:14px}.admin-analytics-page .admin-summary-grid{grid-template-columns:1fr}.admin-analytics-page .admin-list-panel-header,.admin-analytics-page .admin-list-panel-header>div{min-width:0;width:100%}}.requests-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.requests-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.requests-summary-card{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.requests-summary-card span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.requests-summary-card strong{color:var(--color-text);font-size:1.35rem;font-weight:850;line-height:1}.requests-summary-card--warning{border-color:#c277052e}.requests-summary-card--success{border-color:#0f9f6e2e}.requests-summary-card--danger{border-color:#dc262629}.requests-workspace{display:grid;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.requests-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.requests-workspace-header>div{display:grid;gap:4px}.requests-workspace-header span{color:var(--color-muted);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.06em}.requests-workspace-header h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.requests-workspace-header p{margin:0;color:var(--color-muted);font-size:.84rem}.requests-workspace-header>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.requests-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.requests-inbox{display:grid;gap:9px}.requests-inbox-item{position:relative;overflow:hidden;padding:14px 14px 14px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);transition:border-color .16s ease,background-color .16s ease}.requests-inbox-item:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--border);content:""}.requests-inbox-item:hover{border-color:#2563eb2e;background:var(--color-accent-50)}.requests-inbox-item--pending:before{background:var(--color-warning)}.requests-inbox-item--approved:before{background:var(--color-success)}.requests-inbox-item--rejected:before{background:var(--color-danger)}.requests-inbox-item--registered:before{background:var(--color-accent)}.requests-inbox-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.requests-inbox-copy{display:grid;gap:7px;min-width:0}.requests-inbox-kicker,.requests-inbox-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.requests-inbox-copy h3{margin:0;color:var(--color-text);font-size:.98rem;font-weight:800}.requests-inbox-copy p{margin:0;color:var(--color-muted);font-size:.86rem;line-height:1.5}.requests-inbox-meta span,.requests-inbox-actions span{color:var(--color-muted);font-size:.82rem}.requests-type,.requests-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-bold)}.requests-type{color:var(--color-accent);background:var(--color-accent-50)}.requests-status--pending{color:var(--color-warning);background:var(--color-warning-soft)}.requests-status--approved{color:var(--color-success);background:var(--color-success-soft)}.requests-status--rejected{color:var(--color-danger);background:var(--color-danger-soft)}.requests-status--registered{color:var(--color-accent);background:var(--color-accent-50)}.requests-inbox-actions{display:grid;justify-items:end;gap:8px}.requests-detail-link{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid rgba(37,99,235,.16);border-radius:var(--radius-sm);color:var(--color-accent);background:var(--color-surface);font-size:.84rem;font-weight:var(--font-weight-bold);text-decoration:none;transition:background-color .16s ease,border-color .16s ease}.requests-detail-link:hover{border-color:#2563eb47;background:var(--color-accent-50)}@media (max-width: 1120px){.requests-summary,.requests-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.requests-summary,.requests-filters,.requests-inbox-main{grid-template-columns:1fr}.requests-inbox-actions{justify-items:start}.requests-inbox{padding:0}.requests-inbox-item{padding:13px 13px 13px 16px}.requests-filters{padding:14px}.requests-filters .ui-button{width:100%}.requests-detail-link{min-height:44px}.requests-workspace-header{align-items:flex-start;flex-direction:column}}@media (max-width: 420px){.requests-summary{grid-template-columns:1fr}.requests-inbox-kicker,.requests-inbox-meta{align-items:flex-start;flex-direction:column}}.time-bank-page{display:grid;gap:18px;width:100%;max-width:1250px;margin-inline:auto}.time-bank-summary,.time-bank-support-grid{display:grid;gap:14px}.time-bank-admin-overview,.time-bank-admin-analysis{display:grid;gap:14px;min-width:0}.time-bank-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-inline:2px}.time-bank-section-heading>div{display:grid;gap:4px}.time-bank-section-heading span{color:var(--color-muted);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.06em}.time-bank-section-heading h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.time-bank-section-heading p{margin:0;color:var(--color-muted);font-size:.84rem}.time-bank-section-heading>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.time-bank-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.time-bank-support-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.time-bank-header-actions{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:10px}.time-bank-month-filter{display:grid;gap:5px;min-width:160px}.time-bank-month-filter span{color:var(--color-muted);font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.time-bank-month-filter input{min-height:38px;padding:8px 10px;border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.time-bank-summary-card,.time-bank-table-card,.time-bank-detail,.time-bank-hero,.time-bank-side-card{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.time-bank-summary-card{display:grid;gap:8px;min-height:92px;padding:15px 16px;background:var(--color-surface-muted)}.time-bank-summary-card span,.time-bank-table-header span,.time-bank-detail-header span,.time-bank-detail-meta,.time-bank-impact span,.time-bank-hero span,.time-bank-hero small,.time-bank-side-card>span{color:var(--color-muted);font-size:.84rem}.time-bank-summary-card span,.time-bank-hero span,.time-bank-detail-header span,.time-bank-side-card>span{font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.time-bank-summary-card strong{color:var(--color-text);font-size:1.52rem;font-weight:760;line-height:1}.time-bank-workspace{display:grid;grid-template-columns:minmax(360px,1fr) minmax(300px,.42fr);gap:18px;align-items:start}.time-bank-main-column,.time-bank-side-column,.time-bank-side-rail{display:grid;gap:16px}.time-bank-side-column,.time-bank-side-rail{align-content:start}.time-bank-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:136px;padding:clamp(18px,2.2vw,24px);overflow:hidden;position:relative}.time-bank-hero:before{position:absolute;inset:0 auto 0 0;width:5px;background:var(--color-muted);content:""}.time-bank-hero--positive:before{background:var(--color-success)}.time-bank-hero--negative:before{background:var(--color-danger)}.time-bank-hero--zero:before{background:var(--color-muted)}.time-bank-hero strong{display:block;margin-top:8px;font-size:clamp(2.15rem,5vw,3.6rem);font-weight:820;letter-spacing:-.04em;line-height:.96}.time-bank-hero p{margin:8px 0 0;color:var(--color-text);font-size:1rem;font-weight:740}.time-bank-hero-side{display:grid;justify-items:end;gap:10px;text-align:right}.time-bank-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,410px);gap:16px;align-items:start}.time-bank-table-card,.time-bank-detail{overflow:hidden}.time-bank-table-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.time-bank-table-header h3,.time-bank-detail-header h3{margin:0}.time-bank-table-header h3{margin-bottom:4px;font-size:1rem;font-weight:760}.time-bank-table-wrap{overflow-x:auto}.time-bank-mobile-list{display:none}.time-bank-table{width:100%;min-width:720px;border-collapse:collapse}.time-bank-table th,.time-bank-table td{padding:13px 16px;border-bottom:1px solid rgba(30,41,59,.07);text-align:left}.time-bank-table th{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;background:#f8fbffd1}.time-bank-table tbody tr{cursor:pointer;transition:background-color .14s ease}.time-bank-table tbody tr:hover,.time-bank-table tbody tr.is-selected{background:var(--color-accent-50)}.time-bank-employee-button{border:0;padding:0;background:transparent;color:var(--color-text);cursor:pointer;font:inherit;font-weight:var(--font-weight-bold)}.time-bank-balance{font-weight:var(--font-weight-bold);white-space:nowrap}.time-bank-balance.is-positive,.time-bank-summary-card strong.is-positive,.time-bank-hero strong.is-positive{color:var(--color-success)}.time-bank-balance.is-negative,.time-bank-summary-card strong.is-negative,.time-bank-hero strong.is-negative{color:var(--color-danger)}.time-bank-balance.is-neutral,.time-bank-hero strong.is-neutral{color:var(--color-text)}.time-bank-status{display:inline-flex;align-items:center;min-height:25px;padding:4px 10px;border-radius:999px;font-size:.82rem;font-weight:var(--font-weight-bold);white-space:nowrap}.time-bank-status--positive{color:var(--color-success);background:var(--color-success-soft)}.time-bank-status--negative{color:var(--color-danger);background:var(--color-danger-soft)}.time-bank-status--zero{color:var(--color-muted);background:var(--color-surface-muted)}.time-bank-detail{display:grid;gap:16px;padding:20px}.time-bank-detail--wide{position:static}.time-bank-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.time-bank-detail-header h3{margin-top:5px;font-size:1.08rem}.time-bank-detail-header>strong{font-size:1.35rem}.time-bank-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.time-bank-impact-list{display:grid;gap:9px}.time-bank-impact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid rgba(30,41,59,.07);border-radius:14px;background:linear-gradient(180deg,#ffffff,var(--color-surface-muted))}.time-bank-impact-copy{display:grid;gap:3px;min-width:0}.time-bank-impact strong,.time-bank-impact span,.time-bank-impact small{display:block}.time-bank-impact strong{color:var(--color-text);font-size:.92rem}.time-bank-impact small{color:var(--color-muted);font-size:.82rem}.time-bank-side-card{display:grid;gap:12px;padding:18px}.time-bank-side-card h3{margin:0;color:var(--color-text);font-size:1rem;font-weight:760}.time-bank-side-card p{margin:0;color:var(--color-muted);font-size:.9rem}.time-bank-period-list{display:grid;gap:8px}.time-bank-period-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:8px 0;border-bottom:1px solid rgba(30,41,59,.07)}.time-bank-period-list div:last-child{border-bottom:0}.time-bank-period-list small{color:var(--color-muted);font-size:.84rem}.time-bank-period-list strong{color:var(--color-text);font-size:1rem}@media (max-width: 900px){.time-bank-page{gap:var(--layout-gap)}.time-bank-header-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.time-bank-month-filter{min-width:0}.time-bank-summary,.time-bank-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-bank-workspace,.time-bank-layout{grid-template-columns:1fr}.time-bank-table-wrap{display:none}.time-bank-mobile-list{display:grid;gap:10px;padding:12px}.time-bank-mobile-card{width:100%;display:grid;gap:12px;padding:14px;border:1px solid rgba(30,41,59,.1);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.time-bank-mobile-card:hover,.time-bank-mobile-card.is-selected{border-color:#2563eb47;background:var(--color-accent-50)}.time-bank-mobile-card:focus-visible{outline-offset:2px}.time-bank-mobile-card-main,.time-bank-mobile-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.time-bank-mobile-card-main>span:first-child,.time-bank-mobile-card-meta>span:last-child{display:grid;gap:4px;min-width:0}.time-bank-mobile-card small{color:var(--color-muted);font-size:.72rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.time-bank-mobile-card-main strong{overflow-wrap:anywhere}.time-bank-mobile-card-meta>span:last-child{justify-items:end;text-align:right}.time-bank-mobile-card-meta>span:last-child strong{color:var(--color-text-soft);font-size:.84rem;font-weight:var(--font-weight-medium)}.time-bank-mobile-card--skeleton{cursor:default}.time-bank-hero{grid-template-columns:1fr}.time-bank-hero-side{justify-items:start;text-align:left}}@media (max-width: 1180px){.time-bank-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.time-bank-layout,.time-bank-workspace{grid-template-columns:1fr}}@media (max-width: 720px){.time-bank-summary,.time-bank-support-grid,.time-bank-header-actions{grid-template-columns:1fr}.time-bank-header-actions .ui-button{width:100%}.time-bank-section-heading{align-items:flex-start;flex-direction:column}.time-bank-detail-header,.time-bank-impact{align-items:stretch}.time-bank-detail-header{flex-direction:column}.time-bank-impact{grid-template-columns:1fr}.time-bank-mobile-card-main,.time-bank-mobile-card-meta{align-items:flex-start}}@media (max-width: 420px){.time-bank-mobile-card-main,.time-bank-mobile-card-meta{flex-direction:column}.time-bank-mobile-card-meta>span:last-child{justify-items:start;text-align:left}}.saas-container{display:grid;gap:16px}.saas-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.saas-header h1{margin:0 0 4px;font-size:1.2rem;font-weight:800;letter-spacing:.02em}.subtitle{margin:0;color:var(--color-muted);font-size:.86rem}.point-workspace{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.point-shell-skeleton{display:grid;grid-column:1 / -1;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:18px}.point-main-card,.point-summary-panel,.day-history{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.point-main-card{display:grid;gap:24px;padding:clamp(22px,3vw,34px);min-height:430px}.point-main-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.point-main-top strong{display:block;margin-top:5px;color:var(--color-text);font-size:1.05rem;font-weight:800;letter-spacing:-.01em}.point-kicker,.point-employee-select span,.point-last-record span,.point-section-title span{color:var(--color-muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.point-employee-select{display:grid;gap:6px;min-width:min(260px,100%)}.point-employee-select select{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.point-status-block{display:grid;justify-items:center;gap:10px;padding:18px 0 6px;text-align:center}.point-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#2563eb14;color:var(--color-accent);font-size:.82rem;font-weight:800}.point-status-pill.is-complete{border-color:#05966933;background:#05966914;color:var(--color-success)}.point-status-block h2{margin:0;color:var(--color-text);font-size:clamp(1.7rem,4vw,2.8rem);font-weight:850;letter-spacing:-.03em;line-height:1.02}.point-status-block p{margin:0;color:var(--color-muted);font-size:.95rem;text-transform:capitalize}.point-primary-action,.point-complete-action{width:100%;min-height:58px;border-radius:16px;font-size:1rem;font-weight:850}.point-complete-action{border:1px solid rgba(5,150,105,.18);background:#05966914;color:var(--color-success);cursor:default}.point-action-loading{min-height:58px;display:grid;place-items:center}.point-last-record{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.point-last-record strong{color:var(--color-text);font-size:.95rem}.point-support{display:grid;gap:14px}.point-summary-panel,.day-history{display:grid;gap:14px;padding:18px}.point-section-title,.history-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.point-section-title strong,.history-header strong{color:var(--color-text);font-size:.98rem;font-weight:800}.history-header span{color:var(--color-muted);font-size:.78rem}.point-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-card{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.summary-card-title{color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.summary-card-value{color:var(--color-text);font-size:1rem;font-weight:850}.day-history ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.day-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.day-history li span{color:var(--color-muted);font-size:.84rem;font-weight:700}.day-history li strong{color:var(--color-text);font-size:.92rem}@media (max-width: 1080px){.point-workspace,.point-shell-skeleton{grid-template-columns:1fr}.point-main-card{min-height:auto}}@media (max-width: 620px){.point-main-top{align-items:stretch;flex-direction:column}.point-summary-grid{grid-template-columns:1fr}.point-main-card,.point-summary-panel,.day-history{padding:14px}.point-status-block h2{font-size:1.65rem}}.vacation-request-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.vacation-request-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vacation-request-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.vacation-request-summary span,.vacation-request-queue-header span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.vacation-request-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.vacation-request-summary strong.is-warning{color:var(--color-warning)}.vacation-request-summary strong.is-positive{color:var(--color-success)}.vacation-request-summary strong.is-negative{color:var(--color-danger)}.vacation-request-queue{display:grid;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.vacation-request-queue-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.vacation-request-queue-header>div{display:grid;gap:4px}.vacation-request-queue-header h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.vacation-request-queue-header p{margin:0;color:var(--color-muted);font-size:.84rem}.vacation-request-queue-header>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.vacation-request-form{display:grid;grid-template-columns:repeat(2,minmax(150px,180px)) minmax(120px,140px) minmax(240px,1fr) auto;align-items:end;gap:12px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.vacation-request-field{display:grid;gap:6px}.vacation-request-field label{color:var(--color-text);font-weight:var(--font-weight-medium)}.vacation-request-field input,.vacation-request-field textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.vacation-request-list{display:grid;gap:9px}.vacation-request-card{position:relative;display:grid;gap:13px;padding:14px 14px 14px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);overflow:hidden}.vacation-request-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--border-strong);content:""}.vacation-request-card:has(.vacation-request-status--pending):before{background:var(--color-warning)}.vacation-request-card:has(.vacation-request-status--approved):before{background:var(--color-success)}.vacation-request-card:has(.vacation-request-status--rejected):before{background:var(--color-danger)}.vacation-request-main,.vacation-request-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vacation-request-main h3{margin:0 0 4px;color:var(--color-text);font-size:.98rem;font-weight:800}.vacation-request-main span,.vacation-request-review span{color:var(--color-muted);font-size:.9rem}.vacation-request-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-bold);white-space:nowrap}.vacation-request-status--pending{color:var(--color-warning);background:var(--color-warning-soft)}.vacation-request-status--approved{color:var(--color-success);background:var(--color-success-soft)}.vacation-request-status--rejected{color:var(--color-danger);background:var(--color-danger-soft)}.vacation-request-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vacation-request-details div,.vacation-request-review{display:grid;gap:4px;min-height:70px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface)}.vacation-request-details span{color:var(--color-muted);font-size:.74rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.vacation-request-details strong,.vacation-request-review strong{color:var(--color-text);font-size:.88rem;line-height:1.4;overflow-wrap:anywhere}.vacation-request-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.confirm-dialog .vacation-request-field{grid-column:1 / -1}@media (max-width: 980px){.vacation-request-form,.vacation-request-details,.vacation-request-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.vacation-request-form,.vacation-request-details{grid-template-columns:1fr}.vacation-request-main,.vacation-request-actions,.vacation-request-queue-header{align-items:stretch;flex-direction:column}.vacation-request-actions>div,.vacation-request-actions .ui-button{width:100%}.vacation-request-actions>div{display:grid;grid-template-columns:1fr}}@media (max-width: 420px){.vacation-request-summary{grid-template-columns:1fr}}.work-schedules-page{display:grid;gap:var(--layout-gap, 18px);width:100%;max-width:1250px;margin-inline:auto}.work-schedules-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.work-schedules-summary article{display:grid;gap:8px;min-height:86px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.work-schedules-summary span,.work-schedules-catalog-header span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.work-schedules-summary strong{color:var(--color-text);font-size:1.35rem;font-weight:850}.work-schedules-summary strong.is-positive{color:var(--color-success)}.work-schedules-compose{display:grid;width:100%}.work-schedule-panel{display:grid;gap:var(--section-gap, 16px)}.work-schedule-panel-header,.work-schedule-section-header{display:grid;gap:4px}.work-schedule-panel-header span,.work-schedule-section-header span,.work-schedule-section-header h3{margin:0;color:var(--color-text);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.work-schedule-panel-header p,.work-schedule-section-header p{margin:0;color:var(--color-muted);font-size:.86rem}.work-schedule-form{display:grid;gap:16px}.work-schedule-form-section,.work-schedule-tolerance{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.work-schedule-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.work-schedule-form-grid .is-wide{grid-column:span 3}.work-schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.work-schedule-summary div{display:grid;gap:4px;padding:12px;border:1px solid rgba(216,226,238,.72);border-radius:var(--radius-md);background:var(--color-surface)}.work-schedule-summary span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.work-schedule-summary strong{color:var(--color-text);font-size:1.05rem;font-weight:800}.work-schedule-form-actions{display:flex;justify-content:flex-end;gap:8px}.work-schedule-week-grid{display:grid;gap:8px}.work-schedule-week-head,.work-schedule-day-row{display:grid;grid-template-columns:92px repeat(3,minmax(110px,1fr)) minmax(96px,.8fr);gap:8px;align-items:center}.work-schedule-week-head{padding:0 10px;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.work-schedule-day-row{padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface)}.work-schedule-day-row.is-day-off{background:var(--color-surface-muted)}.work-schedule-day-row.is-invalid{border-color:var(--color-danger)}.work-schedule-day-field{display:grid;min-width:0;gap:5px}.work-schedule-day-field>span,.work-schedule-day-total>span{display:none;color:var(--color-muted);font-size:.7rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.work-schedule-day-field input{width:100%;min-width:0;min-height:36px}.work-schedule-day-total{display:grid;min-width:0;gap:5px}.work-schedule-day-total strong{color:var(--color-text);font-size:.9rem;font-weight:800;text-align:center}.work-schedule-day-row .form-error{grid-column:1 / -1}.work-schedule-day-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--color-text);font-size:.86rem;font-weight:800}.work-schedule-day-toggle input{width:16px;height:16px;margin:0}.work-schedules-list{display:grid;gap:9px}.work-schedules-catalog{display:grid;gap:14px;padding:14px;border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.work-schedules-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.work-schedules-catalog-header>div{display:grid;gap:4px}.work-schedules-catalog-header h2{margin:0;color:var(--color-text);font-size:1rem;font-weight:800}.work-schedules-catalog-header p{margin:0;color:var(--color-muted);font-size:.84rem}.work-schedules-catalog-header>strong{color:var(--color-text);font-size:.86rem;white-space:nowrap}.work-schedule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:var(--card-padding, 20px)}.work-schedule-card-main{display:grid;gap:14px;min-width:0}.work-schedule-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.work-schedule-card h3{margin:0 0 4px;color:var(--color-text);font-size:1rem;font-weight:800}.work-schedule-card p{margin:0;color:var(--color-muted);font-size:.84rem}.work-schedule-status{display:inline-flex;min-height:24px;align-items:center;white-space:nowrap;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:800}.work-schedule-status.is-active{color:var(--color-success);background:var(--color-success-soft)}.work-schedule-status.is-inactive{color:var(--color-muted);background:var(--color-bg)}.work-schedule-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.work-schedule-metrics div{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.work-schedule-metrics span{color:var(--color-muted);font-size:.76rem;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase}.work-schedule-metrics strong{color:var(--color-text);font-size:.9rem;font-weight:800;overflow-wrap:anywhere}.work-schedule-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 980px){.work-schedule-card{grid-template-columns:1fr}.work-schedule-actions{justify-content:flex-start}}@media (max-width: 820px){.work-schedule-form-grid,.work-schedule-metrics,.work-schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.work-schedule-form-grid .is-wide{grid-column:span 2}.work-schedule-week-head{display:none}.work-schedule-day-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.work-schedule-day-toggle,.work-schedule-day-total{grid-column:1 / -1}.work-schedule-day-field>span,.work-schedule-day-total>span{display:block}.work-schedule-day-total strong{text-align:left}.work-schedules-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.work-schedule-form-actions,.work-schedule-actions,.work-schedules-catalog-header{align-items:stretch;flex-direction:column}.work-schedule-form-grid,.work-schedule-metrics,.work-schedule-summary{grid-template-columns:1fr}.work-schedule-form-grid .is-wide{grid-column:auto}.work-schedule-day-row{grid-template-columns:repeat(2,minmax(0,1fr))}.work-schedule-form-actions .ui-button,.work-schedule-actions .ui-button{width:100%}}@media (max-width: 420px){.work-schedules-summary{grid-template-columns:1fr}}.kiosk-page{min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow-x:hidden;color:var(--color-text);background:#f3f7fb}.kiosk-header{min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:6px max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left));border-bottom:1px solid #d7e0ea;background:#fff}.kiosk-page.is-confirmation-active .kiosk-header{min-height:56px}.kiosk-header img{width:104px;height:auto}.kiosk-clock{display:grid;justify-items:center;gap:1px;text-transform:capitalize}.kiosk-clock strong{color:#081a31;font-size:clamp(1.35rem,3vw,1.72rem);font-weight:850;line-height:1;font-variant-numeric:tabular-nums}.kiosk-exit{justify-self:end;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid #d7e0ea;border-radius:var(--radius-sm);color:var(--color-text-muted);background:#fff;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer}.kiosk-exit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.kiosk-exit:hover{color:var(--color-text);border-color:#aebdce;background:#f7f9fc}.kiosk-content{width:min(100%,980px);min-height:0;margin-inline:auto;display:grid;align-items:center;padding:clamp(18px,3vw,32px) 24px}.kiosk-panel,.kiosk-success{width:100%;border:1px solid #d8e2ee;border-radius:18px;background:#fff;box-shadow:0 18px 55px #1f2a3d1a}.kiosk-panel{padding:clamp(28px,5vw,48px)}.kiosk-panel.is-camera-stage{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0;overflow:hidden;border-color:#cdd9e6;background:#091522}.kiosk-panel.is-confirmation-stage{min-height:min(680px,calc(100dvh - 160px));display:grid;place-items:center;padding:clamp(20px,4vw,40px);background:#fff}.kiosk-intro{margin-bottom:30px;text-align:center}.kiosk-eyebrow{display:block;margin-bottom:8px;color:#526174;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.kiosk-intro h1,.kiosk-success h1{margin:0;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}.kiosk-intro p{margin:10px 0 0;color:var(--color-text-muted)}.kiosk-face-card{width:100%;height:100%;min-height:0;margin-inline:auto;display:grid;grid-template-rows:minmax(0,1fr) auto}.kiosk-face-camera{position:relative;min-height:0;overflow:hidden;background:#091522}.kiosk-face-camera video{width:100%;height:100%;display:block;object-fit:cover;transform:scaleX(-1)}.kiosk-face-frame{position:absolute;width:min(48%,300px);aspect-ratio:.82;top:50%;left:50%;translate:-50% -52%;border:2px solid rgba(255,255,255,.68);border-radius:48% 48% 44% 44%;box-shadow:0 0 0 999px #030c1729;pointer-events:none}.kiosk-face-frame.is-success{border-color:#4ade80}.kiosk-face-frame.is-progress{border-color:#60a5fa}.kiosk-face-frame.is-warning{border-color:#fbbf24}.kiosk-face-frame.is-danger{border-color:#f87171}.kiosk-face-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;gap:10px;padding:18px;color:#fff;background:#030c17c7;font-size:.86rem;font-weight:700;text-align:center}.kiosk-face-overlay__retry{min-height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.42);border-radius:8px;color:#fff;background:#ffffff1f;font:inherit;cursor:pointer}.kiosk-recognition-status{position:absolute;z-index:2;left:50%;bottom:22px;width:min(calc(100% - 32px),430px);min-height:48px;display:grid;place-items:center;translate:-50% 0;padding:10px 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;background:#081a31d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.kiosk-recognition-status.is-success{border-color:#4ade80b3;color:#fff;background:#166534e0}.kiosk-recognition-status.is-progress{border-color:#60a5facc;color:#fff;background:#1e40afe0}.kiosk-recognition-status.is-warning{border-color:#fbbf24c7;color:#fff;background:#854d0ee6}.kiosk-recognition-status.is-danger{border-color:#f87171c7;color:#fff;background:#991b1be6}.kiosk-recognition-status strong{font-size:.82rem;line-height:1.35}.kiosk-validation-progress{position:absolute;z-index:3;left:50%;bottom:15px;width:min(calc(100% - 72px),360px);height:4px;translate:-50% 0;overflow:hidden;border-radius:999px;background:#dbeafe61}.kiosk-validation-progress span{height:100%;display:block;border-radius:inherit;background:#2563eb;transition:width .18s linear}.kiosk-manual-mode-trigger,.kiosk-face-mode-link{display:block;margin:20px auto 0;padding:10px 14px;border:0;color:#315b87;background:transparent;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}.kiosk-panel.is-camera-stage .kiosk-manual-mode-trigger{min-height:44px;margin:0;color:#315b87;background:#fff}.kiosk-manual-mode-trigger:hover,.kiosk-face-mode-link:hover{color:#081a31;text-decoration:underline}.kiosk-manual-panel{width:min(100%,520px);margin-inline:auto;padding:22px;border:1px solid #d8e2ee;border-radius:14px;background:#f8fbff}.kiosk-employee-field{display:grid;gap:8px}.kiosk-employee-field>span{font-size:.82rem;font-weight:700}.kiosk-employee-field select{width:100%;min-height:54px;padding:0 16px;border:1px solid #cdd9e6;border-radius:10px;color:var(--color-text);background:#fff;font:inherit;font-size:1rem}.kiosk-employee-field select:focus{border-color:#315b87;outline:3px solid rgba(49,91,135,.14)}.kiosk-avatar{width:72px;height:72px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;border-radius:50%;background:#e7eef6}.kiosk-avatar img{width:100%;height:100%;display:block;object-fit:cover}.kiosk-avatar--fallback{color:#315b87;font-size:1.1rem;font-weight:800;letter-spacing:.02em}.kiosk-avatar--prominent{width:clamp(220px,26vw,280px);height:clamp(220px,26vw,280px);border:6px solid #ffffff;box-shadow:0 0 0 1px #cbd8e6,0 18px 38px #1f2a3d29}.kiosk-avatar--prominent.kiosk-avatar--fallback{font-size:clamp(3.1rem,7vw,4.2rem)}.kiosk-confirmation-card{width:min(100%,520px);margin:0 auto;display:grid;gap:clamp(18px,3.5vw,28px);padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}.kiosk-confirmation-person{display:grid;justify-items:center;gap:clamp(18px,3vw,24px);padding:0;text-align:center}.kiosk-confirmation-person h1{max-width:100%;margin:0;color:var(--color-text);font-size:clamp(2rem,4.5vw,2.85rem);line-height:1;overflow-wrap:anywhere}.kiosk-confirmation-flow{display:grid;gap:clamp(14px,3vw,20px);justify-items:center;color:var(--color-text);text-align:center}.kiosk-confirmation-time{display:block}.kiosk-confirmation-time strong{color:#081a31;font-size:clamp(3.25rem,11vw,5rem);line-height:1;font-variant-numeric:tabular-nums}.kiosk-confirmation-actions{width:min(100%,360px);display:grid;gap:10px}.kiosk-action-main>span{color:#64748b;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.kiosk-action-main h2{min-width:min(100%,320px);margin:8px 0 0;padding:16px 20px;border:1px solid #d8e2ee;border-radius:16px;color:#081a31;background:#f7faff;font-size:clamp(1.25rem,4vw,1.75rem);line-height:1.15;text-transform:uppercase}.kiosk-location-status{margin:-4px 0 0;color:#64748b;font-size:.78rem;font-weight:700}.kiosk-location-status.is-available{color:#166534}.kiosk-location-status.is-denied,.kiosk-location-status.is-unavailable,.kiosk-location-status.is-timeout{color:#92400e}.kiosk-primary-action.ui-button,.kiosk-completed-action{width:100%;min-height:56px;margin-top:8px;justify-content:center;border-radius:14px;font-size:1rem;font-weight:800;letter-spacing:.04em}.kiosk-confirmation-actions .kiosk-primary-action.ui-button{margin-top:0}.kiosk-primary-action.ui-button{color:#fff;background:#081a31;border-color:#081a31}.kiosk-primary-action.ui-button:not(:disabled):hover{color:#fff;background:#17324f;border-color:#17324f}.kiosk-completed-action{border:1px solid #cdd9e6;color:#64748b;background:#edf2f7}.kiosk-not-me-action{min-height:44px;padding:0 12px;border:0;color:#526174;background:transparent;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.04em;cursor:pointer}.kiosk-not-me-action:hover{color:#081a31;text-decoration:underline}.kiosk-last-record{margin:0;padding-top:14px;border-top:1px solid #d8e2ee;color:#64748b;font-size:.76rem}.kiosk-loading{min-height:120px;display:grid;place-items:center}.kiosk-error{margin-top:16px;padding:12px 14px;border:1px solid #fecaca;border-radius:9px;color:#991b1b;background:#fef2f2;font-size:.88rem}.kiosk-unlock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#081a3175}.kiosk-unlock-dialog{width:min(100%,430px);max-height:min(100%,620px);display:grid;gap:18px;overflow:auto;padding:22px;border:1px solid #d8e2ee;border-radius:18px;background:#fff;box-shadow:0 24px 70px #081a313d}.kiosk-unlock-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.kiosk-unlock-header span{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.kiosk-unlock-header h2{margin:5px 0 0;color:#081a31;font-size:1.45rem;line-height:1.1}.kiosk-unlock-close{width:44px;height:44px;border:1px solid #d8e2ee;border-radius:12px;color:#526174;background:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.kiosk-unlock-close:disabled{cursor:not-allowed;opacity:.6}.kiosk-unlock-dialog p{margin:0;color:#526174;font-size:.93rem;line-height:1.45}.kiosk-unlock-field{display:grid;gap:8px}.kiosk-unlock-field span{color:#526174;font-size:.78rem;font-weight:750}.kiosk-unlock-field input{width:100%;min-width:0;min-height:48px;box-sizing:border-box;padding:0 14px;border:1px solid #cdd9e6;border-radius:12px;color:#081a31;background:#fff;font:inherit}.kiosk-unlock-field input:focus{border-color:#315b87;outline:3px solid rgba(49,91,135,.14)}.kiosk-unlock-error{padding:12px 14px;border:1px solid #fecaca;border-radius:12px;color:#991b1b;background:#fef2f2;font-size:.86rem}.kiosk-unlock-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kiosk-unlock-actions .ui-button,.kiosk-unlock-cancel{min-height:48px;justify-content:center}.kiosk-unlock-cancel{border:1px solid #d8e2ee;border-radius:12px;color:#526174;background:#fff;font:inherit;font-weight:750;cursor:pointer}.kiosk-unlock-cancel:disabled{cursor:not-allowed;opacity:.65}.kiosk-success{min-height:min(620px,calc(100dvh - 128px));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(34px,7vw,64px) 28px;text-align:center}.kiosk-success-icon{width:clamp(112px,24vw,150px);height:clamp(112px,24vw,150px);display:grid;place-items:center;margin-bottom:clamp(22px,4vw,34px);border-radius:50%;color:#166534;background:#dcfce7;box-shadow:0 0 0 1px #a7f3d0,0 22px 44px #16653424}.kiosk-success-icon svg{width:48%;height:48%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.kiosk-success p{margin:12px 0 0;color:#526174;font-size:clamp(1rem,3vw,1.25rem);font-weight:700}.kiosk-success h1{margin:0;color:#081a31;font-size:clamp(2rem,6vw,3rem);line-height:1}.kiosk-success>strong{margin-top:22px;color:#081a31;font-size:clamp(3rem,13vw,5rem);line-height:1;font-variant-numeric:tabular-nums}.kiosk-success>span:last-child{margin-top:16px;padding:12px 18px;border:1px solid #a7f3d0;border-radius:999px;color:#166534;background:#ecfdf3;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.kiosk-footer{padding:14px 24px 20px;color:var(--color-text-muted);font-size:.75rem;text-align:center}.kiosk-camera-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:14px max(24px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-top:1px solid #d7e0ea;background:#fff}.kiosk-camera-step{min-width:0;display:flex;align-items:center;justify-content:center;gap:9px;color:#7b8999}.kiosk-camera-step>span{width:26px;height:26px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cdd9e6;border-radius:50%;background:#f7f9fc;font-size:.72rem;font-weight:800}.kiosk-camera-step>div{min-width:0;display:grid;gap:1px}.kiosk-camera-step strong{color:#526174;font-size:.76rem}.kiosk-camera-step small{overflow:hidden;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.kiosk-camera-step.is-active>span,.kiosk-camera-step.is-complete>span{border-color:#315b87;color:#fff;background:#315b87}.kiosk-camera-step.is-active strong,.kiosk-camera-step.is-complete strong{color:#081a31}@media (max-width: 640px){.kiosk-header{min-height:58px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:6px max(10px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left))}.kiosk-header img{width:86px}.kiosk-clock strong{font-size:clamp(1.08rem,5vw,1.35rem)}.kiosk-exit{min-width:44px;padding-inline:9px;gap:5px;font-size:.72rem}.kiosk-exit svg{width:16px;height:16px}.kiosk-content{min-height:0;align-items:start;padding:0}.kiosk-panel{padding:22px 16px;border-radius:0}.kiosk-panel.is-camera-stage{border:0;box-shadow:none}.kiosk-panel.is-confirmation-stage{min-height:100%;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border:0;box-shadow:none}.kiosk-face-camera{height:100%;min-height:0}.kiosk-face-frame{width:min(64%,245px);translate:-50% -54%}.kiosk-recognition-status{bottom:18px;width:calc(100% - 28px);min-height:46px;padding-inline:13px}.kiosk-validation-progress{bottom:12px}.kiosk-face-overlay{font-size:.82rem}.kiosk-confirmation-card{gap:18px}.kiosk-confirmation-person{gap:18px;text-align:center}.kiosk-avatar--prominent{width:clamp(190px,58vw,245px);height:clamp(190px,58vw,245px);border-width:5px}.kiosk-confirmation-person h1{font-size:clamp(2rem,9vw,2.55rem)}.kiosk-confirmation-flow{gap:14px}.kiosk-confirmation-time strong{font-size:clamp(3rem,17vw,4.35rem)}.kiosk-action-main h2{min-width:min(100%,300px);padding:14px 18px}.kiosk-confirmation-actions{width:min(100%,320px);gap:6px}.kiosk-not-me-action{width:100%}.kiosk-unlock-dialog{gap:16px;padding:18px;border-radius:16px}.kiosk-unlock-actions{grid-template-columns:1fr}.kiosk-camera-steps{gap:5px;padding:10px max(8px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.kiosk-camera-step{flex-direction:column;gap:4px;text-align:center}.kiosk-camera-step>div{gap:0}.kiosk-camera-step strong{font-size:.68rem}.kiosk-camera-step small{display:none}}.face-lab-page{min-height:100dvh;padding:clamp(24px,4vw,52px);color:var(--color-text);background:#f3f7fb}.face-lab-header{width:min(100%,1320px);margin:0 auto 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.face-lab-header span,.face-lab-card-heading span{display:block;color:#526174;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.face-lab-header h1{margin:5px 0 4px;font-size:clamp(1.65rem,3vw,2.2rem)}.face-lab-header p,.face-lab-control-card p,.face-lab-notice p{margin:0;color:var(--color-text-muted)}.face-lab-grid{width:min(100%,1320px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:24px}.face-lab-camera-card,.face-lab-control-card,.face-lab-notice{border:1px solid #d8e2ee;border-radius:14px;background:#fff;box-shadow:0 10px 30px #1f2a3d12}.face-lab-camera-card{padding:18px}.face-lab-camera{position:relative;overflow:hidden;aspect-ratio:16 / 10;border-radius:11px;background:#091522}.face-lab-camera video{width:100%;height:100%;display:block;object-fit:cover;transform:scaleX(-1)}.face-lab-frame{position:absolute;top:12%;right:29%;bottom:12%;left:29%;border:2px solid rgba(255,255,255,.7);border-radius:46% 46% 42% 42%;box-shadow:0 0 0 999px #030c1733;pointer-events:none}.face-lab-frame.is-success{border-color:#4ade80}.face-lab-frame.is-warning{border-color:#fbbf24}.face-lab-frame.is-danger{border-color:#f87171}.face-lab-camera-message{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;color:#fff;background:#030c17c7;font-weight:700;text-align:center}.face-lab-detection{margin-top:14px;display:grid;gap:3px;padding:13px 15px;border:1px solid #fde68a;border-radius:9px;color:#854d0e;background:#fffbeb}.face-lab-detection.is-success{border-color:#a7f3d0;color:#166534;background:#ecfdf3}.face-lab-detection.is-danger{border-color:#fecaca;color:#991b1b;background:#fef2f2}.face-lab-detection span{font-size:.76rem}.face-lab-message{margin:12px 2px 0;color:#315b87;font-size:.84rem}.face-lab-controls{display:grid;align-content:start;gap:16px}.face-lab-control-card,.face-lab-notice{padding:22px}.face-lab-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.face-lab-card-heading h2{margin:4px 0 0;font-size:1.05rem}.face-lab-card-heading>strong{color:#315b87;font-size:1rem}.face-lab-control-card p{margin:14px 0 18px;font-size:.86rem;line-height:1.55}.face-lab-control-card .ui-button{width:100%;justify-content:center}.face-lab-employee-field{display:grid;gap:7px;margin-bottom:14px}.face-lab-employee-field>span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.face-lab-employee-field select{width:100%;min-height:42px;padding:0 11px;border:1px solid #d1dce8;border-radius:8px;color:var(--color-text);background:#fff;font:inherit;font-size:.84rem}.face-lab-employee-field select:focus{border-color:#315b87;outline:3px solid rgba(49,91,135,.12)}.face-lab-template{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #a7f3d0;border-radius:9px;color:#166534;background:#ecfdf3}.face-lab-enrollment-review{margin-top:16px;display:grid;gap:12px}.face-lab-enrollment-heading,.face-lab-consistency-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.face-lab-enrollment-heading strong{font-size:.82rem}.face-lab-enrollment-heading span{color:var(--color-text-muted);font-size:.7rem}.face-lab-enrollment-samples{display:grid;gap:8px}.face-lab-enrollment-sample{padding:11px;border:1px solid #d8e2ee;border-radius:8px;background:#fff}.face-lab-enrollment-sample.is-good{border-color:#a7f3d0}.face-lab-enrollment-sample.is-attention{border-color:#fde68a}.face-lab-enrollment-sample.is-bad,.face-lab-enrollment-sample.is-divergent{border-color:#fca5a5;background:snow}.face-lab-enrollment-sample-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.face-lab-enrollment-sample-title strong{font-size:.78rem}.face-lab-enrollment-sample-title span{padding:3px 7px;border-radius:999px;color:#526174;background:#eef3f8;font-size:.66rem;font-weight:750}.face-lab-enrollment-sample.is-good .face-lab-enrollment-sample-title span{color:#166534;background:#dcfce7}.face-lab-enrollment-sample.is-attention .face-lab-enrollment-sample-title span{color:#854d0e;background:#fef3c7}.face-lab-enrollment-sample.is-bad .face-lab-enrollment-sample-title span,.face-lab-enrollment-sample.is-divergent .face-lab-enrollment-sample-title span{color:#991b1b;background:#fee2e2}.face-lab-enrollment-sample dl,.face-lab-consistency dl{margin:10px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.face-lab-enrollment-sample dl div,.face-lab-consistency dl div{display:grid;gap:1px}.face-lab-enrollment-sample dt,.face-lab-consistency dt{color:var(--color-text-muted);font-size:.65rem}.face-lab-enrollment-sample dd,.face-lab-consistency dd{margin:0;font-size:.75rem;font-weight:700}.face-lab-enrollment-sample p{margin:9px 0 0;color:#991b1b;font-size:.7rem;line-height:1.4}.face-lab-enrollment-sample>button{margin-top:9px;padding:0;border:0;color:#315b87;background:transparent;font:inherit;font-size:.7rem;font-weight:750;cursor:pointer}.face-lab-consistency{padding:12px;border:1px solid #d8e2ee;border-radius:8px;background:#f8fbff}.face-lab-consistency.is-high{border-color:#a7f3d0;background:#f0fdf4}.face-lab-consistency.is-attention{border-color:#fde68a;background:#fffbeb}.face-lab-consistency.is-low{border-color:#fca5a5;background:#fef2f2}.face-lab-consistency-heading>div{display:grid;gap:2px}.face-lab-consistency-heading span{color:var(--color-text-muted);font-size:.66rem}.face-lab-consistency-heading strong{font-size:.82rem}.face-lab-consistency-heading>strong{font-size:1rem}.face-lab-pair-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.face-lab-pair-grid div{min-width:0;display:grid;gap:2px;padding:7px;border-radius:6px;background:#ffffffbf}.face-lab-pair-grid span{color:var(--color-text-muted);font-size:.62rem}.face-lab-pair-grid strong{font-size:.74rem}.face-lab-template div{display:grid;gap:2px}.face-lab-template span{font-size:.72rem}.face-lab-template small{color:#3f6f51;font-size:.66rem;line-height:1.35}.face-lab-template button{border:0;color:#166534;background:transparent;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.face-lab-duplicate-alert{display:grid;gap:10px;padding:13px;border:1px solid #fdba74;border-radius:9px;color:#9a3412;background:#fff7ed}.face-lab-duplicate-alert>div:first-child{display:grid;gap:3px}.face-lab-duplicate-alert span{font-size:.66rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.face-lab-duplicate-alert strong{font-size:.8rem;line-height:1.4}.face-lab-duplicate-alert dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.face-lab-duplicate-alert dl div{min-width:0;display:grid;gap:2px;padding:8px;border-radius:7px;background:#ffffffb8}.face-lab-duplicate-alert dt{color:#b45309;font-size:.62rem}.face-lab-duplicate-alert dd{margin:0;font-size:.74rem;font-weight:750;overflow-wrap:anywhere}.face-lab-duplicate-alert p{margin:0;color:#9a3412;font-size:.72rem;line-height:1.45}.face-lab-enrollment-actions{display:grid;gap:8px}.face-lab-profile-list{margin-top:16px;padding-top:14px;border-top:1px solid #e1e8f0}.face-lab-profile-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.face-lab-profile-list>div strong{font-size:.78rem}.face-lab-profile-list>div span,.face-lab-profile-list>p{color:var(--color-text-muted);font-size:.7rem}.face-lab-profile-list>p{margin:10px 0 0}.face-lab-profile-list ul{margin:10px 0 0;padding:0;display:grid;gap:6px;list-style:none}.face-lab-profile-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:7px;background:#f8fbff}.face-lab-profile-list li span{min-width:0;overflow:hidden;font-size:.76rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.face-lab-profile-list li button{border:0;color:#991b1b;background:transparent;font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.face-lab-match{margin-top:14px;display:grid;gap:3px;padding:14px;border-radius:9px}.face-lab-match span{font-weight:750}.face-lab-match strong{font-size:1.45rem}.face-lab-match b{font-size:.82rem}.face-lab-match small{font-size:.72rem;line-height:1.4}.face-lab-match.is-recognized{border:1px solid #86efac;color:#166534;background:#ecfdf3}.face-lab-match.is-low_confidence{border:1px solid #fde68a;color:#854d0e;background:#fffbeb}.face-lab-match.is-ambiguous{border:1px solid #fdba74;color:#9a3412;background:#fff7ed}.face-lab-match.is-not_recognized{border:1px solid #fecaca;color:#991b1b;background:#fef2f2}.face-lab-diagnostics{margin-top:14px;padding:14px;border:1px solid #d8e2ee;border-radius:9px;background:#f8fbff}.face-lab-diagnostic-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.face-lab-diagnostic-heading strong{font-size:.82rem}.face-lab-diagnostic-heading span{color:var(--color-text-muted);font-size:.7rem}.face-lab-diagnostics dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.face-lab-diagnostics dl div{min-width:0;display:grid;gap:2px;padding:9px;border:1px solid #e1e8f0;border-radius:7px;background:#fff}.face-lab-diagnostics dt,.face-lab-sample-scores span,.face-lab-quality-diagnostics span{color:var(--color-text-muted);font-size:.68rem}.face-lab-diagnostics dd{margin:0;font-size:.83rem;font-weight:750;overflow-wrap:anywhere}.face-lab-sample-scores{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.face-lab-sample-scores div{display:grid;gap:2px;padding:9px;border-radius:7px;color:#315b87;background:#eaf2fb}.face-lab-sample-scores strong{font-size:.82rem}.face-lab-quality-diagnostics{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 12px}.face-lab-notice{box-shadow:none}.face-lab-notice strong{font-size:.82rem}.face-lab-notice p{margin-top:7px;font-size:.78rem;line-height:1.5}@media (max-width: 900px){.face-lab-grid{grid-template-columns:1fr}}@media (max-width: 640px){.face-lab-page{padding:18px 12px 28px}.face-lab-header{align-items:stretch;flex-direction:column}.face-lab-header .ui-button{width:100%;justify-content:center}.face-lab-camera-card{padding:10px}.face-lab-camera{aspect-ratio:3 / 4}.face-lab-frame{top:15%;right:18%;bottom:15%;left:18%}.face-lab-diagnostics dl,.face-lab-pair-grid,.face-lab-duplicate-alert dl{grid-template-columns:1fr}}:root{--color-bg:#eef3f9;--color-bg-soft:#f7faff;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-surface-muted:#f8fbff;--color-surface-glass:rgba(255,255,255,.76);--color-text:#1e293b;--color-text-soft:#334155;--color-muted:#64748b;--color-accent:#2563eb;--color-accent-50:#eef5ff;--color-accent-100:#d9e8ff;--color-accent-600:#1d4ed8;--color-accent-strong:#06b6d4;--color-success:#0f9f6e;--color-success-soft:rgba(15,159,110,.1);--color-danger:#dc2626;--color-danger-soft:rgba(220,38,38,.1);--color-warning:#c27705;--color-warning-soft:rgba(194,119,5,.12);--sidebar-bg:#000a23;--sidebar-bg-soft:#061334;--sidebar-surface:rgba(255,255,255,.065);--sidebar-surface-hover:rgba(255,255,255,.105);--sidebar-text:#f4f8ff;--sidebar-muted:#93a3bd;--sidebar-border:rgba(255,255,255,.1);--border:rgba(30,41,59,.1);--border-strong:rgba(30,41,59,.16);--card-border:rgba(30,41,59,.09);--ring:rgba(59,130,246,.24);--shadow-xs:0 1px 2px rgba(30,41,59,.06);--shadow-sm:0 10px 28px rgba(30,41,59,.07);--shadow-md:0 18px 44px rgba(30,41,59,.1);--shadow-lg:0 28px 64px rgba(30,41,59,.16);--radius-xs:6px;--radius-sm:9px;--radius-md:12px;--radius-lg:16px;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--layout-gap:18px;--section-gap:16px;--card-padding:20px;--page-padding-inline:52px;--page-padding-block:26px;--control-min-height:40px;--touch-target-min:44px;--font-family:Inter, ui-sans-serif, system-ui, sans-serif;--font-size-base:14px;--font-weight-regular:400;--font-weight-medium:600;--font-weight-bold:700}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-min-height);padding:8px 14px;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);border:1px solid transparent;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease,opacity .12s ease}.ui-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ui-button--primary{background:linear-gradient(180deg,var(--color-accent),var(--color-accent-600));color:#fff;box-shadow:0 10px 22px #2563eb2e}.ui-button--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--border);box-shadow:var(--shadow-xs)}.ui-button--danger{background:linear-gradient(180deg,#ef4444,var(--color-danger));color:#fff;box-shadow:0 10px 22px #dc262629}.ui-button--ghost{background:transparent;color:var(--color-text);border-color:transparent}.ui-button:not(:disabled):hover{transform:translateY(-1px)}.ui-button--primary:not(:disabled):hover{box-shadow:0 14px 28px #2563eb38}.ui-button--secondary:not(:disabled):hover{background:var(--color-surface-muted);border-color:var(--border-strong)}.ui-button--ghost:not(:disabled):hover{background:var(--color-surface-muted)}.ui-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ui-button--secondary .ui-spinner,.ui-button--ghost .ui-spinner{border-color:#1018281f;border-top-color:currentColor}@media (max-width:900px){:root{--layout-gap:16px;--section-gap:14px;--card-padding:18px;--page-padding-inline:24px;--page-padding-block:22px;--control-min-height:44px}body button:not([data-compact-touch]),body [role=button]{min-height:var(--touch-target-min)}body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select:not([multiple]){width:100%;min-width:0;max-width:100%;min-height:var(--touch-target-min)}body textarea:not([data-compact-touch]){width:100%;min-width:0;max-width:100%;min-height:max(var(--touch-target-min),5rem)}body form,body form>*,body fieldset{min-width:0;max-width:100%}}@media (max-width:640px){:root{--layout-gap:14px;--section-gap:12px;--card-padding:16px;--page-padding-inline:16px;--page-padding-block:16px}}@media (max-width: 900px){body input:is([type=date],[type=time],[type=datetime-local]),body select:not([multiple]){box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis}body :is(.form-field,.reports-field,.time-bank-month-filter,.monthly-closings-field,.point-adjustments-field,.work-schedule-day-row){width:100%;min-width:0;max-width:100%;min-inline-size:0;max-inline-size:100%}body input:is([type=date],[type=time],[type=datetime-local])::-webkit-date-and-time-value{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis}body input:is([type=date],[type=time],[type=datetime-local])::-webkit-datetime-edit{min-width:0;overflow:hidden;padding:0}body input:is([type=date],[type=time],[type=datetime-local])::-webkit-calendar-picker-indicator{flex:0 0 auto;margin-left:auto}}
