@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root,[data-theme=dark]{--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-2: #22263a;--color-surface-3: #2a2f47;--color-border: #2e3350;--color-border-light: #3a4060;--color-primary: #5b6ef0;--color-primary-dark: #4458e0;--color-primary-glow: rgba(91,110,240,.18);--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #38bdf8;--color-text: #e8eaf6;--color-text-2: #9ba3c7;--color-text-3: #6b7280;--color-text-inverse: #0f1117;--sidebar-width: 244px;--sidebar-collapsed-width: 68px;--sidebar-current-width: var(--sidebar-width);--sidebar-bg: #12152a;--sidebar-border: #1e2340;--bg-primary: var(--color-bg);--bg-secondary: var(--color-surface);--bg-tertiary: var(--color-surface-2);--bg-hover: var(--color-surface-2);--bg-selected: var(--color-primary-glow);--bg-sidebar: var(--sidebar-bg);--card-bg: var(--color-surface);--input-bg: var(--color-surface-2);--table-header-bg: var(--color-surface-2);--table-row-bg: var(--color-surface);--table-hover-bg: var(--color-surface-2);--text-primary: var(--color-text);--text-secondary: var(--color-text-2);--text-muted: var(--color-text-3);--border-color: var(--color-border);--border-color-light: var(--color-border-light);--modal-overlay: rgba(0,0,0,.65);--badge-success-bg: rgba(34,197,94,.12);--badge-warning-bg: rgba(245,158,11,.12);--badge-danger-bg: rgba(239,68,68,.12);--badge-info-bg: rgba(56,189,248,.12);--alert-error-bg: rgba(239,68,68,.1);--alert-error-border: rgba(239,68,68,.3);--alert-error-text: #fca5a5;--alert-success-bg: rgba(34,197,94,.1);--alert-success-border: rgba(34,197,94,.3);--alert-success-text: #86efac;--alert-warning-bg: rgba(245,158,11,.1);--alert-warning-border: rgba(245,158,11,.3);--alert-warning-text: #fcd34d;--button-primary-text: #ffffff;--button-danger-text: #ffffff;--color-danger-dark: #dc2626;--danger-subtle: rgba(239,68,68,.3);--header-height: 60px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--transition: all .2s ease;color-scheme:dark}[data-theme=light]{--color-bg: #f6f7fb;--color-surface: #ffffff;--color-surface-2: #f3f4f6;--color-surface-3: #eef2f7;--color-border: #e5e7eb;--color-border-light: #d1d5db;--color-primary: #5b6ef0;--color-primary-dark: #4458e0;--color-primary-glow: rgba(91,110,240,.12);--color-success: #15803d;--color-warning: #b45309;--color-danger: #dc2626;--color-info: #0284c7;--color-text: #111827;--color-text-2: #475569;--color-text-3: #64748b;--color-text-inverse: #ffffff;--sidebar-bg: #ffffff;--sidebar-border: #e5e7eb;--bg-primary: #f6f7fb;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--bg-hover: #f3f4f6;--bg-selected: rgba(91,110,240,.1);--bg-sidebar: #ffffff;--card-bg: #ffffff;--input-bg: #ffffff;--table-header-bg: #f8fafc;--table-row-bg: #ffffff;--table-hover-bg: #f8fafc;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #6b7280;--border-color: #e5e7eb;--border-color-light: #d1d5db;--modal-overlay: rgba(17,24,39,.42);--badge-success-bg: rgba(21,128,61,.1);--badge-warning-bg: rgba(180,83,9,.1);--badge-danger-bg: rgba(220,38,38,.1);--badge-info-bg: rgba(2,132,199,.1);--alert-error-bg: rgba(220,38,38,.08);--alert-error-border: rgba(220,38,38,.22);--alert-error-text: #991b1b;--alert-success-bg: rgba(21,128,61,.08);--alert-success-border: rgba(21,128,61,.22);--alert-success-text: #166534;--alert-warning-bg: rgba(180,83,9,.08);--alert-warning-border: rgba(180,83,9,.22);--alert-warning-text: #92400e;--button-primary-text: #ffffff;--button-danger-text: #ffffff;--color-danger-dark: #b91c1c;--danger-subtle: rgba(220,38,38,.18);--shadow-sm: 0 1px 3px rgba(15,23,42,.08);--shadow-md: 0 8px 18px rgba(15,23,42,.1);--shadow-lg: 0 16px 34px rgba(15,23,42,.14);color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}body,.sidebar,.header,.card,.stat-card,.form-input,.form-select,.table-wrapper,thead th,tbody td,.modal,.login-box,.pagination__btn{transition:background-color .15s ease,color .15s ease,border-color .15s ease}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark)}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.layout{display:flex;min-height:100vh;width:100%}.layout__main{flex:1;min-width:0;width:100%;display:flex;flex-direction:column}.layout__content{--content-padding-x: clamp(12px, 1.2vw, 24px);--content-padding-y: clamp(12px, 1.2vw, 24px);flex:1;padding:var(--content-padding-y) var(--content-padding-x);max-width:none;min-width:0;width:100%}.layout__content>*{max-width:100%;min-width:0}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--sidebar-border);flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:100;overflow-y:auto}.sidebar__logo{padding:20px 20px 16px;border-bottom:1px solid var(--sidebar-border)}.sidebar__logo-title{font-size:1.25rem;font-weight:800;letter-spacing:.06em;background:linear-gradient(135deg,#5b6ef0,#8b9ff7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar__logo-sub{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.sidebar__nav{flex:1;padding:12px 0}.sidebar__section{padding:12px 16px 4px;font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.sidebar__item{display:flex;align-items:center;gap:10px;padding:9px 16px;margin:1px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-secondary);font-size:.875rem;font-weight:500;text-decoration:none}.sidebar__item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__item.active{background:var(--bg-selected);color:var(--color-primary);font-weight:600}.sidebar__item-icon{font-size:1rem;width:18px;text-align:center;flex-shrink:0}.sidebar__footer{padding:12px 16px;border-top:1px solid var(--sidebar-border)}.sidebar__user{display:flex;align-items:center;gap:10px}.sidebar__avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-selected);border:1px solid var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-primary);flex-shrink:0}.sidebar__user-info{flex:1;min-width:0}.sidebar__user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);truncate:ellipsis;overflow:hidden;white-space:nowrap}.sidebar__user-role{font-size:.68rem;color:var(--text-muted)}.theme-toggle{width:32px;height:32px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1;transition:var(--transition);flex-shrink:0}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--border-color-light)}.sidebar--module{width:var(--sidebar-current-width);transition:width .18s ease,background-color .15s ease,border-color .15s ease}.sidebar__logo--module{align-items:center;display:grid;gap:10px;grid-template-columns:38px minmax(0,1fr) 36px;padding:16px 14px}.sidebar__brand-mark{align-items:center;background:linear-gradient(135deg,var(--color-primary),#8b9ff7);border-radius:12px;color:var(--button-primary-text);display:inline-flex;font-size:1.28rem;font-weight:900;height:38px;justify-content:center;line-height:1;text-shadow:0 1px 3px rgba(15,23,42,.18);width:38px}.sidebar__brand-copy{min-width:0}.sidebar__collapse{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:800;height:32px;justify-content:center;transition:var(--transition);width:32px}.sidebar__collapse:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--text-primary)}.sidebar__nav--module{display:flex;flex-direction:column;gap:6px;padding:12px 10px}.sidebar-module{display:flex;flex-direction:column;gap:4px}.sidebar-module__button{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:grid;font-size:.92rem;font-weight:700;gap:10px;grid-template-columns:28px minmax(0,1fr) 18px;min-height:42px;padding:8px 10px;position:relative;text-align:left;transition:background-color .15s ease,border-color .15s ease,color .15s ease;width:100%}.sidebar-module__button:before{background:var(--color-primary);border-radius:99px;content:"";height:22px;left:-5px;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s ease;width:3px}.sidebar-module__button:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-module__button.active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 18%,transparent);box-shadow:none;color:var(--color-primary)}.sidebar-module__button.active:before{background:var(--color-primary);opacity:1}.sidebar-module__button.expanded{color:var(--text-primary)}.sidebar-module__button.active.expanded{color:var(--color-primary)}.sidebar-module__icon{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:9px;display:inline-flex;font-size:1rem;height:28px;justify-content:center;width:28px}.sidebar-module__button.active .sidebar-module__icon{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-color:color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--color-primary)}.sidebar-module__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-module__chevron{color:var(--text-muted);font-size:.8rem;text-align:center}.sidebar-module__button.active .sidebar-module__chevron{color:var(--color-primary)}.sidebar-module__children{border-left:1px solid var(--border-color);display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 24px;padding-left:14px}.sidebar-subitem{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.82rem;font-weight:600;gap:8px;min-height:32px;padding:7px 9px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.sidebar-subitem:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-subitem.active{background:var(--bg-selected);color:var(--color-primary)}.sidebar-subitem__dot{background:currentColor;border-radius:99px;height:5px;opacity:.6;width:5px}.sidebar--collapsed .sidebar__logo--module{grid-template-columns:38px;justify-content:center;padding-inline:12px}.sidebar--collapsed .sidebar__brand-copy,.sidebar--collapsed .sidebar-module__label,.sidebar--collapsed .sidebar-module__chevron,.sidebar--collapsed .sidebar-module__children,.sidebar--collapsed .sidebar-product-menu,.sidebar--collapsed .sidebar__user-info{display:none}.sidebar--collapsed .sidebar__collapse{width:38px}.sidebar--collapsed .sidebar__nav--module{padding-inline:10px}.sidebar--collapsed .sidebar-module__button{display:flex;justify-content:center;padding-inline:8px}.sidebar--collapsed .sidebar-module__button:before{left:-3px}.sidebar--collapsed .sidebar__footer{padding-inline:10px}.sidebar--collapsed .sidebar__user{flex-direction:column;gap:8px}.sidebar--collapsed .btn--sm{padding-inline:8px;width:32px}.sidebar-module__coming-soon{border-left:1px solid var(--border-color);color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;margin:2px 0 6px 24px;padding:7px 0 7px 14px;text-transform:uppercase}.sidebar-svg-icon{display:block;height:18px;width:18px}.sidebar-product-menu{border-left:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px;margin:2px 0 6px 24px;padding:4px 0 4px 14px}.sidebar-product-group{display:flex;flex-direction:column;gap:4px}.sidebar-product-group__button{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:grid;font-size:.78rem;font-weight:800;gap:8px;grid-template-columns:18px minmax(0,1fr) 14px;min-height:30px;padding:5px 8px 5px 4px;text-align:left;width:100%}.sidebar-product-group__button:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-product-group__icon,.sidebar-product-link__icon{align-items:center;color:currentColor;display:inline-flex;justify-content:center}.sidebar-product-group__icon .sidebar-svg-icon,.sidebar-product-link__icon .sidebar-svg-icon{height:16px;width:16px}.sidebar-product-group__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-product-group__chevron{color:var(--text-muted);font-size:.76rem;font-weight:900;text-align:right}.sidebar-product-group__children{display:flex;flex-direction:column;gap:2px;padding-left:18px}.sidebar-product-link{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);display:grid;font-size:.8rem;font-weight:650;gap:8px;grid-template-columns:18px minmax(0,1fr);min-height:32px;padding:7px 9px;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.sidebar-product-link span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-product-link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-product-link.active{background:var(--bg-selected);border-color:transparent;box-shadow:none;color:var(--color-primary)}.sidebar-product-link.active .sidebar-product-link__icon{color:currentColor}.product-placeholder-page__body{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:320px;padding:40px}.header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 32px;gap:16px;position:sticky;top:0;z-index:50}.header__title{font-size:1rem;font-weight:600;color:var(--text-primary);flex:1}.header__actions{display:flex;align-items:center;gap:8px}.header__btn{padding:7px 14px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.8rem;font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:6px}.header__btn--ghost{background:transparent;color:var(--text-secondary)}.header__btn--ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0;padding:clamp(14px,1vw,20px) clamp(16px,1.15vw,24px)}.card--hover{transition:var(--transition);cursor:pointer}.card--hover:hover{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card__title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.card__subtitle{font-size:.75rem;color:var(--text-muted);margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(10px,.8vw,16px);margin-bottom:clamp(16px,1.25vw,24px);width:100%}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0;padding:clamp(14px,1vw,20px);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent, var(--color-primary))}.stat-card__icon{font-size:1.5rem;margin-bottom:8px;display:block}.stat-card__value{font-size:clamp(1.3rem,1.25vw,1.7rem);font-weight:800;color:var(--text-primary);line-height:1}.stat-card__label{font-size:.75rem;color:var(--text-muted);margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--button-primary-text)}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover)}.btn--danger{background:var(--color-danger);color:var(--button-danger-text)}.btn--danger:hover:not(:disabled){background:var(--color-danger-dark)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn--sm{padding:5px 10px;font-size:.78rem}.btn--lg{padding:12px 24px;font-size:.95rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.form-input,.form-select{padding:9px 12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;transition:var(--transition);outline:none;width:100%}.form-input:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-input::placeholder{color:var(--text-muted)}.form-select option{background:var(--input-bg);color:var(--text-primary)}.form-error{font-size:.75rem;color:var(--color-danger)}.table-wrapper{width:100%;max-width:100%;min-width:0;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--table-row-bg)}table{width:100%;border-collapse:collapse;font-size:.85rem}thead th{background:var(--table-header-bg);padding:11px 16px;text-align:left;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);white-space:nowrap}tbody td{padding:12px 16px;background:var(--table-row-bg);border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--table-hover-bg)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:99px;font-size:.7rem;font-weight:600;letter-spacing:.03em}.badge--success{background:var(--badge-success-bg);color:var(--color-success)}.badge--warning{background:var(--badge-warning-bg);color:var(--color-warning)}.badge--danger{background:var(--badge-danger-bg);color:var(--color-danger)}.badge--info{background:var(--badge-info-bg);color:var(--color-info)}.badge--neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal__title{font-size:1.05rem;font-weight:700}.modal__close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;padding:4px;border-radius:4px}.modal__close:hover{color:var(--text-primary);background:var(--bg-hover)}.modal__body{display:flex;flex-direction:column;gap:16px}.modal__footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.tab{padding:9px 16px;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--transition);background:none;border-top:none;border-left:none;border-right:none}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.filters-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;width:100%}.filters-bar .form-input{flex:1 1 240px;min-width:0;width:auto}.filters-bar .form-select{flex:0 1 180px;min-width:140px;width:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(16px,1.25vw,24px);min-width:0;width:100%;flex-wrap:wrap}.page-title{font-size:clamp(1rem,1.05vw,1.25rem);font-weight:700}.page-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:2px}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{display:flex;align-items:center;justify-content:center;height:100vh;gap:12px;color:var(--text-muted)}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:.85rem;display:flex;align-items:flex-start;gap:8px}.alert--error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-text)}.alert--success{background:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.alert--warning{background:var(--alert-warning-bg);border:1px solid var(--alert-warning-border);color:var(--alert-warning-text)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted)}.pagination__controls{display:flex;gap:4px}.pagination__btn{padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:var(--transition)}.pagination__btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn.active{background:var(--color-primary);color:var(--button-primary-text);border-color:var(--color-primary)}.permission-matrix{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.permission-matrix table th{background:var(--table-header-bg)}.perm-check{cursor:pointer;accent-color:var(--color-primary);width:16px;height:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-muted);gap:8px}.empty-state__icon{font-size:2.5rem;margin-bottom:8px}.empty-state__text{font-size:.9rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,rgba(91,110,240,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(91,110,240,.06) 0%,transparent 50%)}.login-box{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.login-logo{text-align:center;margin-bottom:32px}.login-logo__title{font-size:1.8rem;font-weight:800;letter-spacing:.06em;background:linear-gradient(135deg,#5b6ef0,#8b9ff7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo__sub{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:16px}.login-submit{width:100%;padding:12px;font-size:.95rem;margin-top:8px}.text-muted{color:var(--text-muted)}.text-sm{font-size:.8rem}.text-xs{font-size:.72rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,Courier New,monospace}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.w-full{width:100%}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width: 768px){.layout__content{--content-padding-x: 12px;--content-padding-y: 12px}.stat-grid{grid-template-columns:repeat(2,1fr)}}.attendance-today-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}@media (max-width: 768px){.attendance-today-grid{grid-template-columns:1fr}}.employee-attendance-page{display:flex;flex-direction:column;gap:18px;min-width:0;width:100%}.employee-attendance-hero{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:16px;justify-content:space-between;padding:20px 22px}.employee-attendance-hero h1{color:var(--text-primary);font-size:1.45rem;font-weight:800;line-height:1.2;margin:0 0 4px}.employee-attendance-hero p{color:var(--text-secondary);margin:0}.employee-attendance-clock,.employee-clock-time{color:var(--color-primary);font-size:2rem;font-weight:850;line-height:1;white-space:nowrap}.employee-attendance-loading{align-items:center;color:var(--text-secondary);display:flex;gap:10px;justify-content:center;min-height:180px}.employee-attendance-today,.employee-clock-layout,.employee-schedule-layout,.employee-report-layout{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 340px}.employee-attendance-status-card,.employee-attendance-quick-card,.employee-clock-card,.employee-clock-detail,.employee-schedule-detail{min-width:0}.employee-schedule-month-view .employee-schedule-detail .employee-clock-detail-list{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-attendance-status-grid,.employee-clock-detail-list{display:grid;gap:10px}.employee-attendance-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-attendance-status-grid div,.employee-clock-detail-list div{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:0;padding:10px 12px}.employee-attendance-status-grid span,.employee-clock-detail-list span{color:var(--text-muted);display:block;font-size:.74rem;font-weight:700;margin-bottom:3px}.employee-attendance-status-grid strong,.employee-clock-detail-list strong{color:var(--text-primary);display:block;overflow-wrap:anywhere}.employee-attendance-actions,.employee-clock-actions,.employee-filter-row,.employee-month-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.employee-attendance-actions{margin-top:16px}.employee-month-controls{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px}.employee-month-controls strong{min-width:132px;text-align:center}.employee-attendance-quick-list{display:grid;gap:8px}.employee-attendance-quick-link{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:700;padding:10px 12px;text-decoration:none}.employee-attendance-quick-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.employee-attendance-quick-link.disabled{color:var(--text-muted);cursor:not-allowed;opacity:.7}.employee-attendance-stats{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.employee-attendance-stat-hint{color:var(--text-muted);font-size:.74rem;margin-top:4px}.employee-attendance-alert-list{display:grid;gap:8px}.attendance-today-page{background:#f6f8fc;color:#111827;font-family:Inter,var(--font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);margin:-24px;min-height:calc(100vh - 64px);padding:24px}.attendance-today-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.attendance-today-header h1{color:#111827;font-size:1.35rem;font-weight:700;letter-spacing:0;line-height:1.25;margin:0}.attendance-today-header p{color:#64748b;font-size:.88rem;margin:4px 0 0;text-transform:capitalize}.attendance-today-link{align-items:center;background:#fff;border:1px solid #e7eaf0;border-radius:10px;color:#334155;display:inline-flex;font-size:.88rem;font-weight:700;height:40px;justify-content:center;padding:0 14px;text-decoration:none;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;white-space:nowrap}.attendance-today-link:hover{border-color:color-mix(in srgb,var(--color-primary) 34%,#e7eaf0);box-shadow:0 8px 18px #0f172a0f;color:var(--color-primary);transform:translateY(-1px)}.attendance-today-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.attendance-today-main-card,.attendance-today-info-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;box-shadow:0 10px 28px #0f172a09}.attendance-today-main-card{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:360px;padding:40px 28px;text-align:center}.attendance-today-clock-block{align-items:center;display:flex;flex-direction:column;gap:12px}.attendance-today-time{color:color-mix(in srgb,var(--color-primary) 86%,#111827);font-size:clamp(2.25rem,5vw,3rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:0;line-height:1}.attendance-today-clock-block p{color:#64748b;font-size:.9rem;line-height:1.45;margin:0;max-width:420px}.attendance-today-status{border-radius:999px;font-size:.82rem;font-weight:700;margin-top:2px;padding:7px 12px}.attendance-today-status.badge--warning,.attendance-today-status.badge--danger{background:#fff7ed;color:#c2410c}.attendance-today-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px;width:100%}.attendance-today-action{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;height:44px;justify-content:center;min-width:132px;padding:0 20px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.attendance-today-action:disabled{cursor:not-allowed;opacity:.58;transform:none}.attendance-today-action:not(:disabled):hover{transform:translateY(-1px)}.attendance-today-action--primary{background:color-mix(in srgb,var(--color-primary) 88%,#ffffff);border:1px solid color-mix(in srgb,var(--color-primary) 88%,#ffffff);box-shadow:0 10px 20px color-mix(in srgb,var(--color-primary) 18%,transparent);color:#fff}.attendance-today-action--primary:not(:disabled):hover{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 12px 24px color-mix(in srgb,var(--color-primary) 22%,transparent)}.attendance-today-action--secondary{background:#fff;border:1px solid #e7eaf0;color:#334155}.attendance-today-action--secondary:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1;color:#111827}.attendance-today-side{display:grid;gap:16px}.attendance-today-info-card{padding:16px}.attendance-today-info-card h2{color:#111827;font-size:.98rem;font-weight:700;letter-spacing:0;line-height:1.25;margin:0 0 14px}.attendance-today-info-list{display:grid;gap:12px}.attendance-today-info-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;min-width:0;padding-bottom:12px}.attendance-today-info-row:last-child{border-bottom:0;padding-bottom:0}.attendance-today-info-row span{color:#64748b;font-size:.8rem;font-weight:600;line-height:1.35}.attendance-today-info-row strong{color:#111827;font-size:.96rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere;text-align:right}@media (max-width: 1024px){.attendance-today-layout{grid-template-columns:1fr}.attendance-today-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.attendance-today-page{margin:-16px;padding:16px}.attendance-today-header{align-items:flex-start;flex-direction:column;gap:12px}.attendance-today-link,.attendance-today-action{width:100%}.attendance-today-main-card{min-height:300px;padding:28px 16px}.attendance-today-actions{flex-direction:column}.attendance-today-side{grid-template-columns:1fr}.attendance-today-info-row{align-items:flex-start;flex-direction:column;gap:4px}.attendance-today-info-row strong{text-align:left}}.attendance-unified-page{background:#f6f8fc;color:#111827;display:grid;font-family:Inter,var(--font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);gap:16px;margin:-24px;min-height:calc(100vh - 64px);padding:24px}.attendance-unified-header,.attendance-unified-section-head{align-items:center;display:flex;gap:16px;justify-content:space-between}.attendance-unified-header h1{color:#111827;font-size:1.38rem;font-weight:700;letter-spacing:0;line-height:1.25;margin:0}.attendance-unified-header p{color:#64748b;font-size:.9rem;margin:4px 0 0;text-transform:capitalize}.attendance-unified-report-link{align-items:center;background:#fff;border:1px solid #e7eaf0;border-radius:10px;color:#334155;display:inline-flex;font-size:.88rem;font-weight:700;height:40px;justify-content:center;padding:0 14px;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;white-space:nowrap}.attendance-unified-report-link:hover{border-color:color-mix(in srgb,var(--color-primary) 34%,#e7eaf0);box-shadow:0 8px 18px #0f172a0f;color:var(--color-primary);transform:translateY(-1px)}.attendance-unified-today{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.attendance-unified-clock-card,.attendance-unified-shift-card,.attendance-unified-stat,.attendance-unified-recent,.attendance-unified-tabs-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;box-shadow:0 10px 28px #0f172a08}.attendance-unified-clock-card{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:34px 24px;text-align:center}.attendance-unified-time{color:color-mix(in srgb,var(--color-primary) 86%,#111827);font-size:clamp(2.25rem,4.6vw,2.85rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:0;line-height:1}.attendance-unified-clock-card p{color:#64748b;font-size:.9rem;line-height:1.45;margin:12px 0 0;max-width:420px}.attendance-unified-status{border-radius:999px;font-size:.82rem;font-weight:700;margin-top:14px;padding:7px 12px}.attendance-unified-status.badge--warning,.attendance-unified-status.badge--danger{background:#fff7ed;color:#c2410c}.attendance-unified-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}.attendance-unified-action{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;height:44px;justify-content:center;min-width:132px;padding:0 20px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.attendance-unified-action:disabled{cursor:not-allowed;opacity:.58}.attendance-unified-action:not(:disabled):hover{transform:translateY(-1px)}.attendance-unified-action--primary{background:color-mix(in srgb,var(--color-primary) 88%,#ffffff);border:1px solid color-mix(in srgb,var(--color-primary) 88%,#ffffff);box-shadow:0 10px 20px color-mix(in srgb,var(--color-primary) 18%,transparent);color:#fff}.attendance-unified-action--primary:not(:disabled):hover{background:var(--color-primary);border-color:var(--color-primary)}.attendance-unified-action--secondary{background:#fff;border:1px solid #e7eaf0;color:#334155}.attendance-unified-action--secondary:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1;color:#111827}.attendance-unified-shift-card{padding:16px}.attendance-unified-shift-card h2,.attendance-unified-section-head h2{color:#111827;font-size:1rem;font-weight:700;letter-spacing:0;line-height:1.25;margin:0}.attendance-unified-info-list{display:grid;gap:11px;margin-top:14px}.attendance-unified-info-list>div:not(.attendance-unified-divider){align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding-bottom:11px}.attendance-unified-info-list>div:last-child{border-bottom:0;padding-bottom:0}.attendance-unified-info-list span{color:#64748b;font-size:.8rem;font-weight:600}.attendance-unified-info-list strong{color:#111827;font-size:.95rem;font-weight:700;text-align:right}.attendance-unified-divider{border-top:1px dashed #e7eaf0;height:1px}.attendance-unified-stats{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-unified-stat{border-left:3px solid var(--stat-tone, #dbeafe);padding:16px}.attendance-unified-stat--green{--stat-tone: #86efac}.attendance-unified-stat--blue{--stat-tone: #93c5fd}.attendance-unified-stat--amber{--stat-tone: #fcd34d}.attendance-unified-stat span{color:#94a3b8;display:block;font-size:.76rem;font-weight:700;margin-bottom:8px}.attendance-unified-stat strong{color:#111827;display:block;font-size:1.45rem;font-weight:800;line-height:1.1}.attendance-unified-stat p{color:#64748b;font-size:.85rem;font-weight:700;margin:6px 0 0}.attendance-unified-recent,.attendance-unified-tabs-card{padding:16px}.attendance-unified-section-head span{color:#64748b;font-size:.82rem;font-weight:600}.attendance-unified-recent-list{display:grid;gap:8px;margin-top:12px}.attendance-unified-recent-row{align-items:center;background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;display:grid;gap:12px;grid-template-columns:70px 1fr 1fr 1.4fr;padding:10px 12px}.attendance-unified-recent-row strong{color:#111827;font-size:.9rem}.attendance-unified-recent-row span,.attendance-unified-recent-row em{color:#64748b;font-size:.86rem;font-style:normal;font-weight:650}.attendance-unified-tabs{align-items:center;background:#eef2f7;border-radius:999px;display:inline-flex;gap:4px;margin-bottom:16px;padding:4px}.attendance-unified-tabs button{background:transparent;border:0;border-radius:999px;color:#64748b;cursor:pointer;font-size:.9rem;font-weight:800;height:38px;padding:0 16px;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.attendance-unified-tabs button.active{background:#fff;box-shadow:0 6px 16px #0f172a14;color:var(--color-primary)}.attendance-unified-tab-panel{min-width:0}.attendance-unified-tab-panel>.employee-attendance-page{margin:0}.attendance-unified-tab-panel .employee-monthly-calendar{border:0;box-shadow:none;padding:0}.attendance-unified-tab-panel .employee-monthly-calendar__header{margin-bottom:14px}.attendance-unified-loading,.attendance-unified-empty{align-items:center;color:#64748b;display:flex;gap:10px;justify-content:center;min-height:150px}.attendance-unified-empty{align-items:flex-start;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;flex-direction:column;padding:20px}.attendance-unified-empty strong{color:#111827}.attendance-unified-schedule-list{display:grid;gap:12px}.attendance-unified-schedule-item{align-items:center;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;display:grid;gap:14px;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(140px,1fr));padding:14px}.attendance-unified-schedule-item div{min-width:0}.attendance-unified-schedule-item span{color:#64748b;display:block;font-size:.78rem;font-weight:650;margin-top:3px}.attendance-unified-schedule-item strong{color:#111827;display:block;font-size:.95rem;font-weight:750;overflow-wrap:anywhere}@media (max-width: 1100px){.attendance-unified-today{grid-template-columns:minmax(0,1fr) minmax(280px,320px)}.attendance-unified-stats,.attendance-unified-schedule-item{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 820px){.attendance-unified-today{grid-template-columns:1fr}}@media (max-width: 640px){.attendance-unified-page{margin:-16px;padding:16px}.attendance-unified-header{align-items:flex-start;flex-direction:column;gap:12px}.attendance-unified-report-link,.attendance-unified-action{width:100%}.attendance-unified-clock-card{min-height:280px;padding:28px 16px}.attendance-unified-actions{flex-direction:column;width:100%}.attendance-unified-stats,.attendance-unified-schedule-item{grid-template-columns:1fr}.attendance-unified-recent-row{align-items:flex-start;grid-template-columns:1fr;gap:4px}.attendance-unified-tabs{max-width:100%;overflow-x:auto}.attendance-unified-tabs button{white-space:nowrap}}.attendance-unified-page{gap:16px;padding:22px 28px}.attendance-unified-header{margin-bottom:4px}.attendance-unified-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.attendance-unified-request-btn,.attendance-unified-report-link{align-items:center;border-radius:10px;display:inline-flex;gap:8px;height:42px;justify-content:center;padding:0 16px}.attendance-unified-request-menu{position:relative}.attendance-unified-request-btn svg,.attendance-unified-report-link svg,.attendance-unified-card-title svg,.attendance-unified-section-head svg,.attendance-unified-stat__icon svg,.attendance-unified-sync svg,.attendance-unified-action__icon svg{display:block;height:18px;width:18px}.attendance-unified-request-btn{background:#fff;border:1px solid color-mix(in srgb,var(--color-primary) 22%,#e7eaf0);color:var(--color-primary);cursor:pointer;font-size:.88rem;font-weight:750;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.attendance-unified-request-btn:hover,.attendance-unified-request-btn.is-open{background:color-mix(in srgb,var(--color-primary) 7%,#ffffff);border-color:color-mix(in srgb,var(--color-primary) 34%,#e7eaf0);box-shadow:0 8px 18px color-mix(in srgb,var(--color-primary) 10%,transparent)}.attendance-unified-request-popover{background:#fff;border:1px solid #e7eaf0;border-radius:12px;box-shadow:0 18px 45px #0f172a24;display:grid;gap:6px;min-width:260px;padding:8px;position:absolute;right:0;top:calc(100% + 10px);z-index:30}.attendance-unified-request-popover:before{background:#fff;border-left:1px solid #e7eaf0;border-top:1px solid #e7eaf0;content:"";height:10px;position:absolute;right:24px;top:-6px;transform:rotate(45deg);width:10px}.attendance-unified-request-popover button{background:transparent;border:0;border-radius:9px;color:#111827;cursor:pointer;display:grid;gap:4px;padding:12px;position:relative;text-align:left;transition:background .16s ease,color .16s ease;z-index:1}.attendance-unified-request-popover button:hover{background:#f6f8fc}.attendance-unified-request-popover strong{color:#111827;font-size:.9rem;font-weight:750;line-height:1.25}.attendance-unified-request-popover span{color:#64748b;font-size:.8rem;font-weight:600;line-height:1.35}.attendance-unified-report-link{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 86%,#ffffff),#6675f6);border:1px solid transparent;box-shadow:0 10px 22px color-mix(in srgb,var(--color-primary) 20%,transparent);color:#fff}.attendance-unified-report-link:hover{border-color:transparent;color:#fff}.attendance-request-modal{align-items:center;background:#0f172a66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:1200}.attendance-request-modal__panel{background:#fff;border:1px solid rgba(231,234,240,.9);border-radius:16px;box-shadow:0 28px 80px #0f172a47;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:90vh;max-width:1120px;overflow:hidden;width:min(1120px,100%)}.attendance-request-modal__header{align-items:center;border-bottom:1px solid #e7eaf0;display:flex;justify-content:space-between;padding:18px 22px}.attendance-request-modal__heading{align-items:center;display:flex;gap:14px;min-width:0}.attendance-request-modal__heading>span{align-items:center;background:#eef2ff;border-radius:12px;color:var(--color-primary);display:inline-flex;flex:0 0 auto;height:46px;justify-content:center;width:46px}.attendance-request-modal__heading svg,.attendance-request-modal__close svg,.attendance-request-modal__menu svg,.attendance-request-info svg,.attendance-request-upload svg,.attendance-request-modal__submit svg{display:block;height:20px;width:20px}.attendance-request-modal__heading h2{color:#111827;font-size:1.22rem;font-weight:750;line-height:1.25;margin:0}.attendance-request-modal__heading p{color:#64748b;font-size:.9rem;font-weight:600;line-height:1.35;margin:4px 0 0}.attendance-request-modal__close{align-items:center;background:transparent;border:0;border-radius:10px;color:#64748b;cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.attendance-request-modal__close:hover{background:#f6f8fc;color:#111827}.attendance-request-modal__body{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0}.attendance-request-modal__menu{border-right:1px solid #e7eaf0;display:grid;gap:8px;grid-row:1 / span 2;padding:16px}.attendance-request-modal__menu button{align-items:flex-start;background:#fff;border:1px solid transparent;border-radius:12px;color:#475569;cursor:pointer;display:flex;gap:12px;padding:14px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.attendance-request-modal__menu button:hover{background:#f8fafc}.attendance-request-modal__menu button.active{background:#eef2ff;border-color:#c7d2fe;box-shadow:inset 3px 0 0 var(--color-primary);color:var(--color-primary)}.attendance-request-modal__menu button>span{align-items:center;background:#f8fafc;border-radius:10px;color:currentColor;display:inline-flex;flex:0 0 auto;height:38px;justify-content:center;width:38px}.attendance-request-modal__menu button.active>span{background:#fff}.attendance-request-modal__menu strong{color:#111827;display:block;font-size:.9rem;font-weight:750;line-height:1.3}.attendance-request-modal__menu button.active strong{color:var(--color-primary)}.attendance-request-modal__menu small{color:#64748b;display:block;font-size:.78rem;font-weight:600;line-height:1.35;margin-top:4px}.attendance-request-modal__content{display:flex;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding:22px}.attendance-request-form__intro h3{color:#111827;font-size:1.05rem;font-weight:750;line-height:1.3;margin:0}.attendance-request-form__intro p{color:#64748b;font-size:.9rem;font-weight:600;line-height:1.45;margin:6px 0 0}.attendance-request-form__grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-request-form__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-request-field{color:#111827;display:flex;flex-direction:column;font-size:.86rem;font-weight:750;gap:8px;min-width:0}.attendance-request-input,.attendance-request-textarea{background:#fff;border:1px solid #e7eaf0;border-radius:10px;color:#111827;font:inherit;font-size:.9rem;font-weight:650;outline:none;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.attendance-request-input{height:44px;padding:0 12px}.attendance-request-time-picker{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.attendance-request-time-picker select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:#fff;border:1px solid #e7eaf0;border-radius:10px;color:#111827;cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;height:44px;outline:none;padding:0 10px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.attendance-request-time-picker select:focus{border-color:color-mix(in srgb,var(--color-primary) 48%,#e7eaf0);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 12%,transparent)}.attendance-request-time-picker span{color:#64748b;font-size:1.05rem;font-weight:800}.attendance-request-textarea{min-height:120px;padding:12px;resize:vertical}.attendance-request-input:focus,.attendance-request-textarea:focus{border-color:color-mix(in srgb,var(--color-primary) 48%,#e7eaf0);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 12%,transparent)}.attendance-request-field>small{align-self:flex-end;color:#64748b;font-size:.78rem;font-weight:650}.attendance-request-modal__field-error{color:#dc2626;font-size:.78rem;font-weight:650;line-height:1.35}.attendance-request-info{align-items:flex-start;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;color:#334155;display:flex;gap:12px;padding:14px 16px}.attendance-request-info>span{align-items:center;background:#dbeafe;border-radius:999px;color:#2563eb;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;width:28px}.attendance-request-info strong{color:#1e293b;font-size:.88rem;font-weight:750}.attendance-request-info p,.attendance-request-info li{color:#475569;font-size:.84rem;font-weight:600;line-height:1.45}.attendance-request-info p,.attendance-request-info ul{margin:6px 0 0}.attendance-request-info ul{padding-left:18px}.attendance-request-duration{background:#f8fafc;border:1px solid #e7eaf0;border-radius:10px;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:72px;padding:12px}.attendance-request-duration span{color:#64748b;font-size:.78rem;font-weight:700}.attendance-request-duration strong{color:#111827;font-size:1rem;font-weight:800}.attendance-request-upload{align-items:center;background:#fbfdff;border:1px dashed #bfdbfe;border-radius:12px;color:#64748b;cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:92px;padding:16px;text-align:center;transition:background .16s ease,border-color .16s ease;width:100%}.attendance-request-upload:hover{background:#f8fbff;border-color:color-mix(in srgb,var(--color-primary) 45%,#bfdbfe)}.attendance-request-upload span{color:var(--color-primary)}.attendance-request-upload strong{color:#475569;font-size:.88rem;font-weight:750}.attendance-request-upload small{color:#64748b;font-size:.78rem;font-weight:600}.attendance-request-files{display:grid;gap:8px;margin-top:10px}.attendance-request-files__item{align-items:center;background:#f8fafc;border:1px solid #e7eaf0;border-radius:9px;display:flex;gap:10px;justify-content:space-between;padding:9px 10px}.attendance-request-files__item span{color:#334155;font-size:.82rem;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-request-files__item button{background:transparent;border:0;color:#dc2626;cursor:pointer;font-size:.78rem;font-weight:750}.attendance-request-modal__footer{align-items:center;border-top:1px solid #e7eaf0;display:flex;gap:12px;grid-column:2;justify-content:flex-end;padding:16px 22px}.attendance-request-modal__cancel,.attendance-request-modal__submit{align-items:center;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:750;gap:8px;height:44px;justify-content:center;padding:0 18px}.attendance-request-modal__cancel{background:#fff;border:1px solid #e7eaf0;color:#334155}.attendance-request-modal__cancel:hover{background:#f8fafc}.attendance-request-modal__submit{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 88%,#ffffff),#6675f6);border:1px solid transparent;box-shadow:0 10px 22px color-mix(in srgb,var(--color-primary) 18%,transparent);color:#fff}.attendance-request-modal__submit:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.58}.attendance-unified-today{grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr)}.attendance-unified-clock-card,.attendance-unified-shift-card{min-height:260px}.attendance-unified-clock-card{justify-content:flex-start;padding:18px 22px 24px}.attendance-unified-clock-top{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:24px;width:100%}.attendance-unified-mini-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.attendance-unified-live-pill,.attendance-unified-worked-pill,.attendance-unified-sync,.attendance-unified-state-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:800;gap:8px;line-height:1}.attendance-unified-live-pill{background:#f1f5f9;color:#64748b;padding:9px 12px}.attendance-unified-live-pill i{background:currentColor;border-radius:999px;height:9px;width:9px}.attendance-unified-live-pill.is-active{background:#dcfce7;color:#16a34a}.attendance-unified-worked-pill{background:#f1f5f9;color:#475569;padding:9px 12px}.attendance-unified-sync{color:#64748b;font-size:.78rem;font-weight:750;white-space:nowrap}.attendance-unified-sync svg{height:16px;width:16px}.attendance-unified-time{font-size:clamp(2.4rem,4.2vw,3rem);margin-top:2px}.attendance-unified-clock-card p{margin-top:8px}.attendance-unified-state-pill{margin-top:16px;padding:9px 12px}.attendance-unified-state-pill--neutral{background:#f1f5f9;color:#64748b}.attendance-unified-state-pill--warning{background:#fff7ed;color:#c2410c}.attendance-unified-state-pill--success{background:#dcfce7;color:#16a34a}.attendance-unified-actions{margin-top:20px}.attendance-unified-action{gap:12px;height:64px;min-width:220px;padding:0 28px;text-align:left}.attendance-unified-action>span:last-child{display:grid;gap:3px}.attendance-unified-action strong{font-size:.95rem;line-height:1.1}.attendance-unified-action small{font-size:.78rem;font-weight:700;opacity:.78}.attendance-unified-action__icon{align-items:center;display:inline-flex}.attendance-unified-action--done{background:#f1f5f9;border:1px solid #e7eaf0;color:#64748b}.attendance-unified-shift-card{padding:18px 20px}.attendance-unified-card-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.attendance-unified-card-title h2,.attendance-unified-section-head h2{align-items:center;display:inline-flex;gap:9px}.attendance-unified-card-title h2 span,.attendance-unified-section-head h2 span{color:var(--color-primary)}.attendance-unified-card-title button,.attendance-unified-section-head button{background:transparent;border:0;color:var(--color-primary);cursor:pointer;font-size:.82rem;font-weight:800;padding:0}.attendance-unified-info-list{gap:10px;margin-top:18px}.attendance-unified-info-list strong.is-danger{color:#dc2626}.attendance-unified-info-list strong.is-success{color:#16a34a}.attendance-unified-stats{gap:14px}.attendance-unified-stat{align-items:center;border-left:0;display:flex;gap:14px;min-height:96px;padding:16px}.attendance-unified-stat__icon{align-items:center;border-radius:12px;display:grid!important;flex:0 0 auto;height:56px;justify-content:center;line-height:0;margin:0!important;padding:0;place-items:center;width:56px}.attendance-unified-stat__icon svg{display:block;height:34px!important;margin:auto;stroke-width:2.65;width:34px!important}.attendance-unified-stat--green .attendance-unified-stat__icon{background:#dcfce7;color:#16a34a}.attendance-unified-stat--blue .attendance-unified-stat__icon{background:#eef2ff;color:var(--color-primary)}.attendance-unified-stat--amber .attendance-unified-stat__icon{background:#fff7ed;color:#f97316}.attendance-unified-stat--red .attendance-unified-stat__icon{background:#ffe4e6;color:#ef4444}.attendance-unified-stat p{margin:0 0 6px}.attendance-unified-stat strong{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px}.attendance-unified-stat strong small{color:#64748b;font-size:.85rem;font-weight:750}.attendance-unified-lower-grid{align-items:start;display:grid;gap:16px;grid-template-columns:1fr}.attendance-unified-recent,.attendance-unified-tabs-card{min-width:0;padding:16px}.attendance-unified-recent-table{margin-top:14px;overflow-x:auto}.attendance-unified-recent-table table{border-collapse:collapse;min-width:600px;width:100%}.attendance-unified-recent-table th{background:#f8fafc;color:#64748b;font-size:.78rem;font-weight:800;padding:12px;text-align:left}.attendance-unified-recent-table td{border-top:1px solid #eef2f7;color:#475569;font-size:.88rem;font-weight:650;height:46px;padding:8px 12px;white-space:nowrap}.attendance-unified-recent-table td:first-child{color:#111827;font-weight:800}.attendance-unified-recent-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:800;padding:7px 10px}.attendance-unified-recent-badge--success{background:#dcfce7;color:#16a34a}.attendance-unified-recent-badge--warning{background:#fff7ed;color:#c2410c}.attendance-unified-recent-badge--danger{background:#ffe4e6;color:#dc2626}.attendance-unified-recent-badge--info{background:#eef2ff;color:var(--color-primary)}.attendance-unified-recent-badge--neutral{background:#f1f5f9;color:#64748b}.attendance-unified-tabs{margin-bottom:14px}.attendance-unified-tab-panel .employee-monthly-calendar__header{align-items:flex-start;gap:12px}.attendance-unified-tab-panel .employee-monthly-calendar__title-group h1{font-size:1rem;line-height:1.25}.attendance-unified-tab-panel .employee-monthly-calendar__title-group p,.attendance-unified-tab-panel .employee-monthly-calendar__tabs{display:none}.attendance-unified-tab-panel .monthly-calendar-grid__cell{min-height:112px;padding:12px}.attendance-unified-tab-panel .monthly-calendar-grid__weekday{padding:11px 8px}.attendance-unified-tab-panel .monthly-calendar-grid__work-unit,.attendance-unified-tab-panel .monthly-calendar-grid__hours,.attendance-unified-tab-panel .monthly-calendar-grid__time,.attendance-unified-tab-panel .monthly-calendar-grid__issue,.attendance-unified-tab-panel .monthly-calendar-grid__state-text{font-size:.84rem;line-height:1.35}.attendance-unified-tab-panel .monthly-calendar-grid__today-badge{display:inline-flex}@media (max-width: 1280px){.attendance-unified-lower-grid{grid-template-columns:1fr}}@media (max-width: 1100px){.attendance-unified-today,.attendance-unified-lower-grid{grid-template-columns:1fr}.attendance-request-modal__body{grid-template-columns:250px minmax(0,1fr)}.attendance-request-form__grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-request-duration{grid-column:1 / -1}}@media (max-width: 760px){.attendance-unified-page{padding:16px}.attendance-unified-header,.attendance-unified-clock-top{align-items:flex-start;flex-direction:column}.attendance-unified-header-actions,.attendance-unified-request-menu,.attendance-unified-request-btn,.attendance-unified-report-link,.attendance-unified-actions,.attendance-unified-action{width:100%}.attendance-unified-request-popover{left:0;min-width:0;right:0;width:100%}.attendance-unified-stats{grid-template-columns:1fr}.attendance-unified-action{justify-content:center;min-width:0}.attendance-request-modal{align-items:stretch;padding:10px}.attendance-request-modal__panel{border-radius:14px;max-height:none;min-height:0;width:100%}.attendance-request-modal__header{align-items:flex-start;padding:14px}.attendance-request-modal__heading{gap:10px}.attendance-request-modal__heading>span{height:40px;width:40px}.attendance-request-modal__heading h2{font-size:1rem}.attendance-request-modal__heading p{font-size:.8rem}.attendance-request-modal__body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.attendance-request-modal__menu{border-bottom:1px solid #e7eaf0;border-right:0;display:flex;gap:8px;grid-row:auto;overflow-x:auto;padding:10px 14px}.attendance-request-modal__menu button{flex:0 0 230px;padding:10px}.attendance-request-modal__content{gap:14px;padding:16px 14px}.attendance-request-form__grid,.attendance-request-form__grid--three{grid-template-columns:1fr}.attendance-request-duration{grid-column:auto}.attendance-request-modal__footer{grid-column:1;padding:12px 14px}.attendance-request-modal__cancel,.attendance-request-modal__submit{flex:1;min-width:0}}.employee-attendance-alert-row{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:grid;gap:10px;grid-template-columns:max-content 110px minmax(0,1fr) max-content;padding:8px 10px}.employee-clock-card{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:340px;text-align:center}.employee-clock-status{margin:20px 0}.employee-clock-actions{justify-content:center}.employee-card-header-wrap{align-items:flex-start;gap:12px}.employee-filter-row .form-select{min-width:190px}.employee-schedule-month-view{display:flex;flex-direction:column;gap:10px;width:100%}.employee-schedule-card{overflow:hidden}.employee-schedule-card .card__header{margin-bottom:10px}.employee-schedule-calendar{align-items:stretch;display:grid;gap:3px;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:88px;margin-bottom:10px;overflow:visible;padding-bottom:0}.employee-schedule-day{color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:3px;font:inherit;min-height:88px;overflow:hidden;padding:5px 6px;text-align:left}.employee-schedule-calendar .employee-schedule-day:not(.off-day):not(.missing-day){background:#fff;color:#111827}.employee-schedule-calendar .schedule-calendar__cell--empty{min-height:88px;padding:5px 6px}.employee-schedule-calendar .schedule-calendar__header{font-size:.64rem;padding:4px 2px}.employee-schedule-calendar .schedule-calendar__day{font-size:.72rem;margin-bottom:0}.employee-schedule-day.selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.employee-schedule-day.off-day{background:var(--bg-tertiary);color:var(--text-muted)}.employee-schedule-day.off-day:not(.today){border-color:var(--border-color)}.employee-schedule-calendar .employee-schedule-day.missing-day{background:#f43f5e1f;border-color:#f43f5e52}.employee-schedule-calendar .employee-schedule-day.missing-day.selected{border-color:#f43f5eb8;box-shadow:inset 0 0 0 1px #f43f5eb8}.employee-schedule-day-head{align-items:center;display:flex;gap:6px;justify-content:space-between;min-width:0}.employee-schedule-off-label{background:var(--border-color);border-radius:99px;color:var(--text-muted);font-size:.58rem;font-weight:800;line-height:1;padding:3px 5px}.employee-schedule-shift-time,.employee-schedule-record,.employee-schedule-time-row,.employee-schedule-missing{display:block;min-width:0}.employee-schedule-shift-time{color:var(--text-secondary);font-size:.68rem;font-weight:750}.employee-schedule-record{display:flex;flex-direction:column;gap:2px}.employee-schedule-time-row{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:nowrap;font-size:.64rem;font-variant-numeric:tabular-nums;gap:3px;white-space:nowrap}.employee-schedule-time-separator{color:var(--text-muted)}.employee-schedule-danger-text{color:var(--color-danger)}.employee-schedule-missing{font-size:.62rem;font-weight:800;line-height:1.25}.employee-schedule-danger-text small{display:block;font-size:.74rem;font-weight:800;margin-top:3px}.employee-schedule-off-dot{background:var(--border-color)}.employee-monthly-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;min-width:0;overflow-x:auto;overflow-y:hidden;width:100%}.employee-monthly-calendar__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:20px 24px 16px}.employee-monthly-calendar__title-group{min-width:0}.employee-monthly-calendar__title-group h1{color:#0f172a;font-size:1.18rem;font-weight:800;letter-spacing:0;line-height:1.25;margin:0}.employee-monthly-calendar__title-group p{color:#64748b;font-size:.92rem;font-weight:650;margin:4px 0 14px}.employee-monthly-calendar__tabs{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:inline-flex;padding:3px}.employee-monthly-calendar__tabs button{background:transparent;border:0;border-radius:6px;color:#64748b;cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;padding:7px 12px}.employee-monthly-calendar__tabs button.active{background:#2563eb;box-shadow:0 1px 2px #2563eb38;color:#fff}.employee-monthly-calendar__controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.employee-monthly-calendar__select{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;display:inline-flex;gap:8px;height:38px;padding:0 10px}.employee-monthly-calendar__select span{border:1.5px solid #64748b;border-radius:3px;color:#64748b;display:inline-block;flex:0 0 auto;height:15px;position:relative;width:15px}.employee-monthly-calendar__select span:before{background:#64748b;content:"";height:1.5px;left:2px;position:absolute;right:2px;top:4px}.employee-monthly-calendar__select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#0f172a;cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;outline:0;min-width:130px}.employee-monthly-calendar__controls>button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;cursor:pointer;display:inline-flex;font:inherit;font-size:1rem;font-weight:800;height:38px;justify-content:center;width:38px}.employee-monthly-calendar__controls>button:hover,.employee-monthly-calendar__select:hover{border-color:#cbd5e1}.monthly-calendar-grid{border-top:1px solid #edf0f4;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:840px;overflow:hidden}.monthly-calendar-grid__weekday{align-items:center;background:#f8fafc;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;color:#475569;display:flex;font-size:.9rem;font-weight:700;height:48px;justify-content:center}.monthly-calendar-grid__weekday:nth-child(7n){border-right:0}.monthly-calendar-grid__cell{background:#fff;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;color:#0f172a;min-height:126px;min-width:0;padding:14px 14px 14px 18px;position:relative}.monthly-calendar-grid__cell>*{position:relative;z-index:1}.monthly-calendar-grid__cell:nth-child(7n){border-right:0}.monthly-calendar-grid__cell:nth-last-child(-n+7){border-bottom:0}.monthly-calendar-grid__cell--empty{background:#fff;color:transparent}.monthly-calendar-grid__cell--holiday,.monthly-calendar-grid__cell--incomplete,.monthly-calendar-grid__cell--complete,.monthly-calendar-grid__cell--off{color:#334155}.monthly-calendar-grid__cell--scheduled{background:#fff;color:#64748b}.monthly-calendar-grid__cell--future{background:#fff;color:transparent}.monthly-calendar-grid__cell--holiday:before,.monthly-calendar-grid__cell--incomplete:before,.monthly-calendar-grid__cell--complete:before,.monthly-calendar-grid__cell--off:before{border-radius:999px;content:"";bottom:12px;left:6px;pointer-events:none;position:absolute;top:12px;width:3px;z-index:0}.monthly-calendar-grid__cell--holiday:before{background:#f59e0b}.monthly-calendar-grid__cell--incomplete:before{background:#ef4444}.monthly-calendar-grid__cell--complete:before{background:#22c55e}.monthly-calendar-grid__cell--off:before{background:#94a3b8}.monthly-calendar-grid__cell.is-today{box-shadow:inset 0 0 0 2px #5b6ef5;z-index:1}.monthly-calendar-legend{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin:0 0 12px}.monthly-calendar-legend span{align-items:center;color:#475569;display:inline-flex;font-size:.84rem;font-weight:700;gap:7px}.monthly-calendar-legend__dot{border-radius:999px;display:inline-flex;height:9px;width:9px}.monthly-calendar-legend__dot--complete{background:#16a34a}.monthly-calendar-legend__dot--incomplete{background:#e11d48}.monthly-calendar-legend__dot--off{background:#94a3b8}.monthly-calendar-legend__dot--holiday{background:#f97316}.monthly-calendar-grid__cell-head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:13px;min-width:0}.monthly-calendar-grid__date{color:#334155;font-size:1.05rem;font-weight:700;line-height:1}.monthly-calendar-grid__today-badge{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#4f46e5;flex:0 0 auto;font-size:.72rem;font-weight:800;line-height:1;padding:4px 8px}.monthly-calendar-grid__work-unit{color:#334155;font-size:1.24rem;font-weight:800;line-height:1.1;margin-bottom:5px}.monthly-calendar-grid__hours,.monthly-calendar-grid__time,.monthly-calendar-grid__state-text{color:#64748b;font-size:.92rem;font-weight:700;line-height:1.45}.monthly-calendar-grid__hours,.monthly-calendar-grid__time{opacity:1}.monthly-calendar-grid__time{color:#64748b;font-variant-numeric:tabular-nums;margin-top:8px}.monthly-calendar-grid__issue{align-items:center;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:inline-flex;font-size:.78rem;font-weight:800;line-height:1.2;margin:7px 6px 0 0;padding:3px 6px;width:fit-content}.monthly-calendar-grid__issue--warning{background:#fff7ed;border-color:#fed7aa;color:#d97706}.monthly-calendar-grid__issue--danger{background:#fef2f2;border-color:#fecaca;color:#dc2626}.monthly-calendar-grid__cell--holiday .monthly-calendar-grid__state-text{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;color:#c2410c;display:inline-flex;font-size:.78rem;font-weight:800;line-height:1.2;padding:3px 6px}.monthly-calendar-grid__cell--off .monthly-calendar-grid__state-text{color:#94a3b8;font-weight:700}.monthly-calendar-list{border-top:1px solid #e2e8f0;display:grid;min-width:720px}.monthly-calendar-list__row{align-items:center;border-bottom:1px solid #e2e8f0;display:grid;gap:12px;grid-template-columns:90px 90px 120px minmax(0,1fr);min-height:48px;padding:10px 24px}.monthly-calendar-list__row:last-child{border-bottom:0}.monthly-calendar-list__row span,.monthly-calendar-list__row strong,.monthly-calendar-list__row em,.monthly-calendar-list__row small{color:inherit;font-size:.86rem;font-style:normal}.monthly-calendar-list__row--holiday{background:#fffaf0;color:#c2410c}.monthly-calendar-list__row--incomplete{background:#fff7f8;color:#be123c}.monthly-calendar-list__row--complete{background:#f7fef9;color:#047d3c}.monthly-calendar-list__row--off{background:#f9fafb;color:#64748b}.monthly-calendar-list__row--scheduled{background:#fff;color:#64748b}.monthly-attendance-table{border-top:1px solid #e2e8f0;overflow-x:auto}.monthly-attendance-table__scroll{max-height:calc(100vh - 260px);min-height:320px;overflow:auto}.monthly-attendance-table table{border-collapse:separate;border-spacing:0;min-width:1120px;table-layout:fixed;width:100%}.monthly-attendance-table th,.monthly-attendance-table td{background:#fff;border-bottom:1px solid #e2e8f0;color:#0f172a;padding:14px 24px;text-align:left;vertical-align:middle}.monthly-attendance-table th{background:#f8fafc;color:#475569;font-size:.74rem;font-weight:750;height:58px;letter-spacing:0;position:sticky;top:0;z-index:3}.monthly-attendance-table td{font-size:.9rem;height:78px}.monthly-attendance-table th:nth-child(1),.monthly-attendance-table td:nth-child(1){width:170px}.monthly-attendance-table th:nth-child(2),.monthly-attendance-table th:nth-child(3),.monthly-attendance-table td:nth-child(2),.monthly-attendance-table td:nth-child(3){width:120px}.monthly-attendance-table th:nth-child(4),.monthly-attendance-table td:nth-child(4){width:220px}.monthly-attendance-table th:nth-child(5),.monthly-attendance-table th:nth-child(7),.monthly-attendance-table td:nth-child(5),.monthly-attendance-table td:nth-child(7){width:44px}.monthly-attendance-table th:nth-child(6),.monthly-attendance-table td:nth-child(6){width:170px}.monthly-attendance-table th:nth-child(8),.monthly-attendance-table td:nth-child(8){width:210px}.monthly-attendance-table tfoot td{background:#eff6ff;border-bottom:0;border-top:1px solid #bfdbfe;bottom:0;position:sticky;z-index:2}.monthly-attendance-table__row--holiday td{background:#fffaf0;color:#c2410c}.monthly-attendance-table__row--incomplete td{background:#fff7f8}.monthly-attendance-table__row--complete td{background:#f7fef9}.monthly-attendance-table__row--off td{background:#f9fafb;color:#64748b}.monthly-attendance-table__row--future td{background:#fff;color:#cbd5e1}.monthly-attendance-table__date-main{color:#0f172a;font-size:.92rem;font-weight:750;line-height:1.25}.monthly-attendance-table__date-sub{color:#64748b;font-size:.78rem;font-weight:600;line-height:1.3;margin-top:4px}.monthly-attendance-table__value{font-size:1rem;font-weight:850;line-height:1.2}.monthly-attendance-table__value--complete{color:#00a86b}.monthly-attendance-table__value--incomplete{color:#ff0054}.monthly-attendance-table__value--empty,.monthly-attendance-table__value--future{color:#475569}.monthly-attendance-table__value--overtime{color:#7c3aed}.monthly-attendance-table__value--holiday{color:#ff4d00}.monthly-attendance-table__minutes{color:#64748b;font-size:.78rem;font-weight:650;margin-top:4px}.monthly-attendance-table__issue{color:#ff0054;font-size:.78rem;font-weight:750;line-height:1.3;margin-top:5px}.monthly-attendance-table__holiday-label{color:#ff4d00;font-size:.78rem;font-weight:750;line-height:1.3;margin-top:5px}.monthly-attendance-table__plus{color:#475569;font-weight:800;padding-left:0;padding-right:0;text-align:center}.employee-report-bars{display:grid;gap:12px}.employee-report-bar-row{align-items:center;display:grid;gap:10px;grid-template-columns:130px minmax(0,1fr) 32px 42px}.employee-report-bar-row span,.employee-report-bar-row strong,.employee-report-bar-row em{font-size:.82rem}.employee-report-bar-row em{color:var(--text-muted);font-style:normal}.employee-report-bar-track{background:var(--bg-tertiary);border-radius:999px;height:9px;overflow:hidden}.employee-report-bar-fill{border-radius:inherit;height:100%}@media (max-width: 1180px){.employee-attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-attendance-status-grid,.employee-schedule-month-view .employee-schedule-detail .employee-clock-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.employee-attendance-today,.employee-clock-layout,.employee-schedule-layout,.employee-report-layout{grid-template-columns:1fr}.employee-attendance-hero{align-items:flex-start;flex-direction:column}.employee-monthly-calendar__header{flex-direction:column}.employee-monthly-calendar__controls{justify-content:flex-start;width:100%}}@media (max-width: 640px){.employee-attendance-stats,.employee-attendance-status-grid,.employee-attendance-alert-row,.employee-report-bar-row,.employee-schedule-month-view .employee-schedule-detail .employee-clock-detail-list{grid-template-columns:1fr}.employee-month-controls,.employee-filter-row,.employee-filter-row .form-select,.employee-filter-row .btn{width:100%}.employee-monthly-calendar__header{padding:16px}.employee-monthly-calendar__title-group h1{font-size:1rem}.monthly-calendar-grid{min-width:760px}.monthly-calendar-grid__cell{min-height:125px;padding:12px}.monthly-calendar-list{min-width:640px}}.sidebar__avatar--staff{background:linear-gradient(135deg,#5b6ef02e,#8b9ff71f);border-color:var(--color-primary)}.staff-dashboard{display:flex;flex-direction:column;gap:24px;min-width:0;width:100%}.staff-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.staff-header__greeting{font-size:1.6rem;font-weight:800;color:var(--text-primary);line-height:1.2}.staff-header__sub{font-size:.9rem;color:var(--text-muted);margin-top:4px}.staff-clock-display{text-align:right;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 20px;min-width:200px}.staff-clock-display__time{font-size:1.8rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-primary);letter-spacing:.04em}.staff-clock-display__date{font-size:.75rem;color:var(--text-muted);margin-top:2px}.staff-stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.staff-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start;min-width:0;width:100%}.staff-content-grid__main,.staff-content-grid__aside{display:flex;flex-direction:column;gap:20px;min-width:0}@media (max-width: 900px){.staff-content-grid{grid-template-columns:1fr}.staff-header{flex-direction:column}.staff-clock-display{text-align:left}}.staff-clock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.staff-clock-item{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:14px 16px;border:1px solid var(--border-color)}.staff-clock-item__label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:6px}.staff-clock-item__value{font-size:1.25rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.staff-clock-item__value--in{color:var(--color-success)}.staff-clock-item__value--out{color:var(--color-warning)}.staff-clock-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.staff-shift-info{display:flex;flex-direction:column;gap:12px}.staff-shift-info__name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.staff-shift-info__row{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.staff-shift-info__icon{font-size:1rem;width:20px;text-align:center}.staff-quick-links{display:flex;flex-direction:column;gap:8px}.staff-quick-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:var(--transition);border:1px solid var(--border-color);background:var(--bg-tertiary)}.staff-quick-link:hover{background:var(--bg-selected);color:var(--color-primary);border-color:var(--color-primary)}.my-shift-detail__name{font-size:1.4rem;font-weight:800;color:var(--text-primary)}.my-shift-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.my-shift-info-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.my-shift-info-item__icon{font-size:1.1rem;margin-top:2px}.my-shift-info-item__label{font-size:.72rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.my-shift-info-item__value{font-size:1rem;font-weight:700;color:var(--text-primary);margin-top:2px}.schedule-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.schedule-calendar__header{padding:8px 4px;text-align:center;font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.schedule-calendar__cell{min-height:70px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--card-bg);transition:var(--transition);cursor:default}.schedule-calendar__cell--empty{background:transparent;border-color:transparent}.schedule-calendar__cell.today{border-color:var(--color-primary);background:var(--bg-selected)}.schedule-calendar__cell.weekend{background:var(--bg-tertiary)}.schedule-calendar__day{font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.schedule-calendar__cell.today .schedule-calendar__day{color:var(--color-primary)}.schedule-calendar__status{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.schedule-calendar__times{font-size:.62rem;color:var(--text-muted);margin-top:2px;font-variant-numeric:tabular-nums}.schedule-calendar__shift{font-size:.62rem;color:var(--text-muted)}.schedule-legend{display:flex;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--border-color)}.schedule-legend__item{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-secondary)}.schedule-legend__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.schedule-shift-badge{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg-selected);border-radius:var(--radius-sm);border:1px solid var(--color-primary);color:var(--color-primary);font-size:.875rem}.leave-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.leave-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;transition:var(--transition);text-align:left;position:relative;overflow:hidden}.leave-type-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--leave-color, var(--color-primary));transition:width .2s ease}.leave-type-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.leave-type-card:hover:before{width:5px}.leave-type-card__icon{font-size:1.5rem}.leave-type-card__label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.leave-type-card__desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.leave-type-card__action{font-size:.78rem;color:var(--color-primary);font-weight:500;margin-top:auto}@media (max-width: 640px){.leave-type-grid,.staff-clock-grid{grid-template-columns:1fr}.schedule-calendar{gap:2px}.schedule-calendar__cell{min-height:50px;padding:4px}.employee-schedule-day{min-height:108px}}.ov-page{display:flex;flex-direction:column;gap:20px}.ov-header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px 28px}.ov-header__greeting{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.ov-header__sub{font-size:.85rem;color:var(--text-secondary);margin:0}.ov-header__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.ov-header__clock-block{display:flex;align-items:center;gap:8px}.ov-header__clock-icon{font-size:1rem}.ov-header__clock-date{font-size:.82rem;color:var(--text-secondary);text-transform:capitalize}.ov-header__clock-time{font-size:1.5rem;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:.02em}.ov-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ov-stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.ov-stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ov-card-bg);pointer-events:none}.ov-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ov-stat-card__icon-wrap{width:48px;height:48px;border-radius:12px;background:var(--ov-card-bg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;position:relative;z-index:1}.ov-stat-card__body{position:relative;z-index:1}.ov-stat-card__value{font-size:1.8rem;font-weight:800;color:var(--ov-card-color);line-height:1}.ov-stat-card__label{font-size:.78rem;font-weight:600;color:var(--text-primary);margin-top:4px}.ov-stat-card__sub{font-size:.7rem;color:var(--text-muted);margin-top:2px}.ov-body{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start;min-width:0;width:100%}.ov-body__main{display:flex;flex-direction:column;gap:18px;min-width:0}.ov-body__aside{display:flex;flex-direction:column;gap:16px}.ov-table-card{min-width:0}.ov-table-filters{display:flex;gap:8px;align-items:center;padding-bottom:14px;flex-wrap:wrap}.ov-table-filters .form-input,.ov-table-filters .form-select{flex:1;min-width:110px}.ov-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px}.ov-table-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border-color);margin-top:4px}.ov-emp-cell{display:flex;align-items:center;gap:10px}.ov-emp-cell__avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary-glow);color:var(--color-primary);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ov-emp-cell__name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.ov-emp-cell__code{font-size:.7rem}.ov-time-cell{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500}.ov-time-cell--in{color:var(--color-success)}.ov-time-cell--out{color:var(--color-info)}.ov-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.ov-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;transition:all .15s;text-align:center}.ov-action-btn:hover{background:var(--action-color, var(--color-primary));border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.ov-action-btn__icon{font-size:1.5rem}.ov-action-btn__label{font-size:.78rem;font-weight:600;color:var(--text-primary)}.ov-action-btn:hover .ov-action-btn__label{color:#fff}.ov-monthly-card__link{display:flex;justify-content:center;width:100%;margin-top:12px}.ov-donut-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:4px 0 8px}.ov-donut-svg{width:140px;height:140px;transform:rotate(-90deg)}.ov-donut-center-num{font-size:18px;font-weight:800;fill:var(--text-primary);transform:rotate(90deg);transform-origin:60px 60px}.ov-donut-center-label{font-size:9px;fill:var(--text-secondary);transform:rotate(90deg);transform-origin:60px 60px}.ov-donut-legend{width:100%;display:flex;flex-direction:column;gap:7px}.ov-donut-legend__item{display:flex;align-items:center;gap:8px;font-size:.78rem}.ov-donut-legend__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ov-donut-legend__label{flex:1;color:var(--text-secondary);white-space:nowrap}.ov-donut-legend__val{font-weight:700;color:var(--text-primary);min-width:20px;text-align:right}.ov-donut-legend__pct{min-width:32px;text-align:right}.ov-shifts-list{display:flex;flex-direction:column;gap:10px}.ov-shift-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.ov-shift-item__icon{font-size:1.1rem;flex-shrink:0;margin-top:2px}.ov-shift-item__info{flex:1;min-width:0}.ov-shift-item__name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.ov-shift-item__time{font-size:.75rem;line-height:1.4}.ov-notif-list{display:flex;flex-direction:column;gap:0}.ov-notif-item{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border-color)}.ov-notif-item:last-child{border-bottom:none}.ov-notif-item__dot{width:8px;height:8px;background:var(--color-primary);border-radius:50%;flex-shrink:0;margin-top:5px}.ov-notif-item__body{flex:1;min-width:0}.ov-notif-item__title{font-weight:500;color:var(--text-primary);line-height:1.4}.ov-notif-item__meta{margin-top:2px;line-height:1.3}.attendance-report-page{background:#f7f8fc;color:#111827;display:flex;flex-direction:column;gap:16px;margin:-24px;min-height:calc(100vh - 1px);padding:24px}.attendance-report-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.attendance-report-header h1{color:#111827;font-size:1.34rem;font-weight:750;letter-spacing:0;line-height:1.2;margin:0}.attendance-report-header p{color:#64748b;font-size:.9rem;font-weight:500;margin:4px 0 0}.attendance-report-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.attendance-report-btn{align-items:center;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:inline-flex;font:inherit;font-size:.86rem;font-weight:700;gap:8px;height:40px;justify-content:center;padding:0 14px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.attendance-report-btn svg{height:16px;width:16px}.attendance-report-btn--primary{background:color-mix(in srgb,var(--color-primary) 90%,#ffffff);border-color:color-mix(in srgb,var(--color-primary) 88%,#ffffff);color:#fff}.attendance-report-btn--secondary,.attendance-report-btn--ghost{background:#fff;color:#334155}.attendance-report-btn--ghost:disabled{cursor:not-allowed;opacity:.72}.attendance-report-btn:not(:disabled):hover{border-color:color-mix(in srgb,var(--color-primary) 28%,#e5e7eb)}.attendance-report-filterbar{align-items:end;background:#fff;border:1px solid #e7eaf0;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;min-height:76px;padding:14px 16px}.attendance-report-filterbar label{display:grid;gap:5px}.attendance-report-filterbar label span{color:#64748b;font-size:.76rem;font-weight:700;line-height:1}.attendance-report-filterbar input,.attendance-report-filterbar select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font:inherit;font-size:.88rem;font-weight:650;height:40px;outline:0;padding:0 11px}.attendance-report-filterbar input{width:150px}.attendance-report-filterbar select{width:170px}.attendance-report-stats{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-report-stat{align-items:center;background:#fff;border:1px solid #e7eaf0;border-radius:12px;display:flex;gap:12px;min-width:0;padding:16px}.attendance-report-stat__icon{align-items:center;border-radius:10px;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;width:40px}.attendance-report-stat__icon svg{height:21px;width:21px}.attendance-report-stat strong{color:#111827;display:block;font-size:1.34rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.attendance-report-stat span{color:#64748b;display:block;font-size:.8rem;font-weight:650;margin-top:3px}.attendance-report-stat small{display:block;font-size:.72rem;font-weight:700;margin-top:2px}.attendance-report-stat--blue .attendance-report-stat__icon{background:#eff6ff;color:#2563eb}.attendance-report-stat--green .attendance-report-stat__icon{background:#ecfdf5;color:#059669}.attendance-report-stat--amber .attendance-report-stat__icon{background:#fffbeb;color:#d97706}.attendance-report-stat--red .attendance-report-stat__icon{background:#fff1f2;color:#e11d48}.attendance-report-stat--gray .attendance-report-stat__icon{background:#f1f5f9;color:#64748b}.attendance-report-stat--blue strong{color:#2563eb}.attendance-report-stat--green strong{color:#059669}.attendance-report-stat--amber strong{color:#d97706}.attendance-report-stat--red strong{color:#e11d48}.attendance-report-stat--gray strong{color:#64748b}.attendance-report-employee-section{display:grid;gap:18px;grid-template-columns:minmax(320px,.42fr) minmax(0,.58fr)}.attendance-report-guide-card,.attendance-report-requests-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.attendance-report-employee-card-head{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:16px 18px}.attendance-report-employee-card-head--soft{background:linear-gradient(90deg,#eff6ff,#fff)}.attendance-report-employee-card-head h2{align-items:center;color:#111827;display:inline-flex;font-size:1.08rem;font-weight:800;gap:10px;line-height:1.25;margin:0}.attendance-report-employee-card-head h2 svg{color:#2563eb;height:22px;width:22px}.attendance-report-employee-card-head p{color:#64748b;font-size:.84rem;font-weight:650;line-height:1.35;margin:0;text-align:right}.attendance-report-guide-list{display:grid;gap:16px;padding:16px 18px}.attendance-report-guide-item{align-items:flex-start;display:flex;gap:14px}.attendance-report-guide-item__icon{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.attendance-report-guide-item__icon svg{height:21px;width:21px}.attendance-report-guide-item__icon--green{background:#dcfce7;color:#16a34a}.attendance-report-guide-item__icon--red{background:#ffe4e6;color:#f43f5e}.attendance-report-guide-item__icon--blue{background:#dbeafe;color:#2563eb}.attendance-report-guide-item__icon--purple{background:#f3e8ff;color:#7c3aed}.attendance-report-guide-item__icon--gray{background:#f1f5f9;color:#64748b}.attendance-report-guide-item strong{color:#111827;display:block;font-size:.92rem;font-weight:800;line-height:1.3}.attendance-report-guide-item p{color:#64748b;font-size:.84rem;font-weight:600;line-height:1.4;margin:3px 0 0}.attendance-report-guide-action{align-items:center;background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;color:#2563eb;cursor:pointer;display:flex;font:inherit;font-size:.88rem;font-weight:800;justify-content:space-between;margin:0 18px 16px;padding:13px 14px;transition:background .16s ease,border-color .16s ease;width:calc(100% - 36px)}.attendance-report-guide-action:hover{background:#eff6ff;border-color:#bfdbfe}.attendance-report-guide-action span,.attendance-report-request-detail,.attendance-report-requests-footer button{align-items:center;display:inline-flex;gap:8px}.attendance-report-guide-action svg,.attendance-report-request-detail svg,.attendance-report-requests-footer svg{height:17px;width:17px}.attendance-report-request-stats{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 16px 14px}.attendance-report-request-stat{align-items:center;background:#fff;border:1px solid #e7eaf0;border-radius:12px;cursor:pointer;display:flex;gap:12px;min-width:0;padding:12px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.attendance-report-request-stat:hover,.attendance-report-request-stat.active{box-shadow:0 10px 24px #0f172a14;transform:translateY(-1px)}.attendance-report-request-stat>span{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;width:40px}.attendance-report-request-stat svg{height:21px;width:21px}.attendance-report-request-stat strong{display:block;font-size:1.08rem;font-weight:850;line-height:1.1}.attendance-report-request-stat small{color:#64748b;display:block;font-size:.78rem;font-weight:700;margin-top:3px}.attendance-report-request-stat--pending>span{background:#fff7ed;color:#f59e0b}.attendance-report-request-stat--approved>span{background:#dcfce7;color:#16a34a}.attendance-report-request-stat--rejected>span{background:#ffe4e6;color:#e11d48}.attendance-report-request-stat--cancelled>span{background:#f1f5f9;color:#64748b}.attendance-report-request-stat--pending strong{color:#d97706}.attendance-report-request-stat--approved strong{color:#059669}.attendance-report-request-stat--rejected strong{color:#e11d48}.attendance-report-request-stat--cancelled strong{color:#475569}.attendance-report-request-stat.active{border-color:color-mix(in srgb,var(--color-primary) 38%,#e7eaf0)}.attendance-report-request-list{display:grid;gap:10px;padding:0 16px 12px}.attendance-report-request-empty{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;display:grid;gap:5px;justify-items:center;min-height:120px;padding:18px;text-align:center}.attendance-report-request-empty strong{color:#334155;font-size:.92rem;font-weight:800}.attendance-report-request-empty span{font-size:.84rem;font-weight:600;line-height:1.4}.attendance-report-request-row{align-items:center;background:#fff;border:1px solid #e7eaf0;border-radius:12px;display:grid;gap:14px;grid-template-columns:44px minmax(130px,1fr) minmax(150px,1.25fr) minmax(150px,1fr) auto auto;padding:12px 14px}.attendance-report-request-row__icon{align-items:center;border-radius:999px;display:inline-flex;height:40px;justify-content:center;width:40px}.attendance-report-request-row__icon svg{height:20px;width:20px}.attendance-report-request-row__icon--attendance{background:#dbeafe;color:#2563eb}.attendance-report-request-row__icon--overtime{background:#f3e8ff;color:#7c3aed}.attendance-report-request-row__main,.attendance-report-request-row__content,.attendance-report-request-row__created{display:grid;gap:5px;min-width:0}.attendance-report-request-row strong{color:#111827;font-size:.9rem;font-weight:800;line-height:1.25}.attendance-report-request-row small{color:#94a3b8;font-size:.76rem;font-weight:750;line-height:1}.attendance-report-request-row span{color:#475569;font-size:.84rem;font-weight:650;line-height:1.25}.attendance-report-request-row__main span,.attendance-report-request-row__created span{align-items:center;display:inline-flex;gap:7px}.attendance-report-request-row__main svg,.attendance-report-request-row__created svg{color:#64748b;height:15px;width:15px}.attendance-report-request-badge{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;justify-content:center;line-height:1;padding:8px 11px;white-space:nowrap}.attendance-report-request-badge--pending{background:#fff7ed;color:#d97706}.attendance-report-request-badge--approved{background:#dcfce7;color:#059669}.attendance-report-request-badge--rejected{background:#ffe4e6;color:#e11d48}.attendance-report-request-badge--cancelled{background:#f1f5f9;color:#64748b}.attendance-report-request-detail,.attendance-report-requests-footer button{background:transparent;border:0;color:#2563eb;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;white-space:nowrap}.attendance-report-requests-footer{display:flex;justify-content:flex-end;padding:0 16px 16px}.attendance-report-requests-footer button{border:1px solid color-mix(in srgb,var(--color-primary) 28%,#dbeafe);border-radius:10px;height:38px;padding:0 14px}.attendance-report-policy-modal{align-items:center;background:#0f172a5c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:1300}.attendance-report-policy-modal__panel{background:#fff;border-radius:16px;box-shadow:0 24px 70px #0f172a3d;max-width:520px;overflow:hidden;width:100%}.attendance-report-policy-modal__head{align-items:center;border-bottom:1px solid #e7eaf0;display:flex;justify-content:space-between;padding:16px 18px}.attendance-report-policy-modal__head h2{align-items:center;color:#111827;display:inline-flex;font-size:1rem;font-weight:800;gap:9px;margin:0}.attendance-report-policy-modal__head svg{color:#2563eb;height:20px;width:20px}.attendance-report-policy-modal__head button{background:transparent;border:0;color:#64748b;cursor:pointer;font-size:1.4rem;line-height:1}.attendance-report-policy-modal__body{color:#475569;display:grid;font-size:.9rem;font-weight:600;gap:10px;line-height:1.55;padding:18px}.attendance-report-policy-modal__body p{margin:0}.attendance-report-table-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;overflow:hidden}.attendance-report-table-card__header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:16px 18px}.attendance-report-table-card__header h2{color:#111827;font-size:1rem;font-weight:750;line-height:1.2;margin:0}.attendance-report-table-card__header span{color:#64748b;font-size:.84rem;font-weight:700}.attendance-report-loading,.attendance-report-empty{align-items:center;color:#64748b;display:flex;justify-content:center;min-height:220px;padding:24px}.attendance-report-table-wrap{overflow-x:auto}.attendance-report-table-wrap table{border-collapse:separate;border-spacing:0;min-width:920px;width:100%}.attendance-report-table-wrap th,.attendance-report-table-wrap td{border-top:1px solid #e7eaf0;color:#111827;font-size:.88rem;padding:13px 16px;text-align:left;vertical-align:middle}.attendance-report-table-wrap th{background:#f8fafc;color:#475569;font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.attendance-report-table-wrap tbody tr:hover td{background:#f8fafc}.attendance-report-employee{display:grid;gap:3px}.attendance-report-employee strong{color:#111827;font-size:.92rem;font-weight:700}.attendance-report-employee span{color:#94a3b8;font-size:.78rem;font-weight:650}.attendance-report-pill{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;line-height:1;padding:6px 9px;white-space:nowrap}.attendance-report-pill--success{background:#ecfdf5;color:#059669}.attendance-report-pill--warning{background:#fffbeb;color:#d97706}.attendance-report-pill--danger{background:#fff1f2;color:#e11d48}.attendance-report-pill--info{background:#eff6ff;color:#2563eb}.attendance-report-pill--neutral{background:#f1f5f9;color:#64748b}.attendance-report-dash{color:#94a3b8;font-weight:700}.salary-page{background:#f6f8fc;color:#111827;display:flex;flex-direction:column;gap:16px;margin:-24px;min-height:calc(100vh - 1px);padding:24px}.salary-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.salary-header h1{color:#111827;font-size:1.34rem;font-weight:800;line-height:1.2;margin:0}.salary-header p{color:#64748b;font-size:.9rem;font-weight:600;margin:4px 0 0}.salary-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.salary-header__actions input,.salary-header__actions select,.salary-header__actions button{background:#fff;border:1px solid #e7eaf0;border-radius:10px;color:#111827;font:inherit;font-size:.88rem;font-weight:700;height:40px;padding:0 12px}.salary-header__actions button{align-items:center;color:var(--color-primary);cursor:pointer;display:inline-flex;gap:8px}.salary-header__actions svg{height:17px;width:17px}.salary-error{align-items:center;background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;color:#be123c;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.salary-error button{background:#fff;border:1px solid #fecdd3;border-radius:8px;color:#be123c;cursor:pointer;font:inherit;font-weight:800;height:34px;padding:0 12px}.salary-hero-card,.payslip-summary-card{align-items:flex-start;background:#fff;border:1px solid #e7eaf0;border-radius:16px;display:flex;gap:18px;justify-content:space-between;overflow:hidden;padding:22px 24px;position:relative}.salary-hero-card:before,.payslip-summary-card:before{background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 74%,#ffffff),#8aa0ff);content:"";inset:0 auto 0 0;position:absolute;width:5px}.salary-hero-card span,.payslip-summary-card span:first-child{color:#64748b;display:block;font-size:.82rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.salary-hero-card strong,.payslip-summary-card strong{color:#111827;display:block;font-size:clamp(2rem,4vw,3rem);font-weight:850;line-height:1.1;margin-top:8px}.salary-hero-card p,.payslip-summary-card p{color:#64748b;font-size:.9rem;font-weight:650;margin:10px 0 0}.salary-hero-card small{color:#334155;display:block;font-size:.86rem;font-weight:750;margin-top:8px}.salary-hero-card em{background:#fff7ed;border-radius:999px;color:#d97706;font-size:.82rem;font-style:normal;font-weight:850;padding:8px 12px}.salary-notice{align-items:flex-start;border-radius:12px;display:flex;gap:10px;padding:12px 14px}.salary-notice svg{flex:0 0 auto;height:20px;width:20px}.salary-notice span{font-size:.88rem;font-weight:650;line-height:1.45}.salary-notice--info{background:#eff6ff;border:1px solid #dbeafe;color:#2563eb}.salary-notice--warning{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.salary-stats-grid,.salary-skeleton-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.salary-stat-card{align-items:center;background:#fff;border:1px solid #e7eaf0;border-radius:12px;display:flex;gap:13px;min-width:0;padding:16px}.salary-stat-card>span{align-items:center;border-radius:12px;display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.salary-stat-card svg{height:21px;width:21px}.salary-stat-card p{color:#64748b;font-size:.8rem;font-weight:750;margin:0}.salary-stat-card strong{color:#111827;display:block;font-size:1.12rem;font-weight:850;line-height:1.2;margin-top:4px;overflow-wrap:anywhere}.salary-stat-card small{color:#94a3b8;display:block;font-size:.75rem;font-weight:650;margin-top:4px}.salary-stat-card--blue>span{background:#eff6ff;color:#2563eb}.salary-stat-card--green>span{background:#ecfdf5;color:#059669}.salary-stat-card--amber>span{background:#fff7ed;color:#d97706}.salary-stat-card--red>span{background:#fff1f2;color:#e11d48}.salary-stat-card--purple>span{background:#f3e8ff;color:#7c3aed}.salary-skeleton{background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 37%,#eef2f7 63%);background-size:400% 100%;border-radius:12px;height:92px;animation:salaryShimmer 1.2s ease-in-out infinite}@keyframes salaryShimmer{0%{background-position:100% 0}to{background-position:0 0}}.salary-content-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.salary-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;overflow:hidden}.salary-card__head{align-items:center;border-bottom:1px solid #e7eaf0;display:flex;gap:12px;justify-content:space-between;padding:15px 18px}.salary-card__head h2{color:#111827;font-size:1rem;font-weight:800;margin:0}.salary-card__head span{color:#64748b;font-size:.82rem;font-weight:750}.salary-breakdown,.salary-info-list{display:grid;gap:0;padding:8px 18px 16px}.salary-breakdown h3{color:#64748b;font-size:.78rem;font-weight:850;letter-spacing:.02em;margin:16px 0 6px;text-transform:uppercase}.salary-breakdown div,.salary-info-list div{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;min-height:42px}.salary-breakdown span,.salary-info-list span{color:#64748b;font-size:.88rem;font-weight:650}.salary-breakdown strong,.salary-info-list strong{color:#111827;font-size:.9rem;font-weight:800;text-align:right}.salary-breakdown__total span,.salary-breakdown__total strong{color:#334155}.salary-breakdown__final{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;margin-top:10px;padding:0 12px}.salary-breakdown__final span,.salary-breakdown__final strong{color:var(--color-primary)}.salary-empty{align-items:center;color:#64748b;display:flex;font-size:.9rem;font-weight:700;justify-content:center;min-height:140px;padding:20px;text-align:center}.salary-side-stack{display:grid;gap:16px}.bank-account-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;padding:16px}.bank-account-card__head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.bank-account-card__head h2{align-items:center;color:#111827;display:inline-flex;font-size:1rem;font-weight:850;gap:9px;margin:0}.bank-account-card__head svg{color:var(--color-primary);height:20px;width:20px}.bank-account-card__head button,.bank-account-state button,.bank-account-eye,.employee-bank-cell button{background:#fff;border:1px solid #e7eaf0;border-radius:9px;color:var(--color-primary);cursor:pointer;font:inherit;font-size:.82rem;font-weight:850;height:34px;padding:0 12px}.bank-account-state{align-items:center;background:#f8fafc;border:1px dashed #dbe3ef;border-radius:12px;color:#64748b;display:grid;gap:10px;justify-items:start;padding:18px}.bank-account-state strong{color:#334155;font-size:.9rem}.bank-account-list,.employee-bank-detail{display:grid;gap:10px}.bank-account-list>div,.employee-bank-detail>div{align-items:center;border-bottom:1px solid #eef2f7;display:flex;gap:12px;justify-content:space-between;padding:9px 0}.bank-account-list>div:last-child,.employee-bank-detail>div:last-child{border-bottom:0}.bank-account-list span,.employee-bank-detail span{color:#64748b;font-size:.82rem;font-weight:750}.bank-account-list strong,.employee-bank-detail strong{align-items:center;color:#111827;display:inline-flex;font-size:.92rem;font-weight:850;gap:8px;text-align:right}.bank-account-eye{align-items:center;display:inline-flex;height:30px;justify-content:center;padding:0;width:34px}.bank-account-eye svg{height:16px;width:16px}.bank-account-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;color:#be123c;font-size:.84rem;font-weight:750;margin-top:12px;padding:10px 12px}.bank-account-modal{align-items:center;background:#0f172a6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:1300}.bank-account-modal__panel{background:#fff;border-radius:16px;box-shadow:0 24px 70px #0f172a3d;max-width:560px;overflow:hidden;width:100%}.bank-account-modal__panel header,.bank-account-modal__panel footer{align-items:center;display:flex;justify-content:space-between;padding:16px 18px}.bank-account-modal__panel header{border-bottom:1px solid #e7eaf0}.bank-account-modal__panel h2{font-size:1.05rem;font-weight:850;margin:0}.bank-account-modal__panel header button{align-items:center;background:transparent;border:0;color:#64748b;cursor:pointer;display:inline-flex}.bank-account-modal__panel header svg{height:20px;width:20px}.bank-account-modal__body{display:grid;gap:12px;padding:18px}.bank-account-modal__body label{display:grid;gap:7px}.bank-account-modal__body label span{color:#334155;font-size:.82rem;font-weight:800}.bank-account-modal__body input,.bank-account-modal__body select{border:1px solid #e5e7eb;border-radius:10px;color:#111827;font:inherit;height:40px;padding:0 12px}.bank-account-modal__panel footer{border-top:1px solid #e7eaf0;gap:10px;justify-content:flex-end}.bank-account-modal__panel footer button{background:#fff;border:1px solid #e7eaf0;border-radius:10px;color:#475569;cursor:pointer;font:inherit;font-size:.86rem;font-weight:850;height:38px;padding:0 14px}.bank-account-modal__panel footer button.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.employee-bank-cell{display:grid;gap:4px}.employee-bank-cell strong{color:#111827;font-size:.84rem;font-weight:850}.employee-bank-cell span,.employee-bank-cell em{color:#64748b;font-size:.78rem;font-style:normal;font-weight:700}.employee-bank-cell button{height:28px;justify-self:start;margin-top:4px;padding:0 9px}.payslip-summary-card h2{color:#111827;font-size:1rem;font-weight:850;line-height:1.3;margin:8px 0 0}.payslip-status{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:850;line-height:1;padding:8px 11px;white-space:nowrap}.payslip-status--success{background:#ecfdf5;color:#059669}.payslip-status--warning{background:#fff7ed;color:#d97706}.payslip-status--info{background:#eff6ff;color:#2563eb}.payslip-status--neutral{background:#f1f5f9;color:#64748b}.payslip-table-wrap{overflow-x:auto}.payslip-table-wrap table{border-collapse:separate;border-spacing:0;min-width:760px;width:100%}.payslip-table-wrap th,.payslip-table-wrap td{border-top:1px solid #e7eaf0;color:#111827;font-size:.88rem;padding:13px 16px;text-align:left}.payslip-table-wrap th{background:#f8fafc;color:#475569;font-size:.76rem;font-weight:850;text-transform:uppercase}.payslip-view-btn{align-items:center;background:transparent;border:0;color:var(--color-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.82rem;font-weight:850;gap:6px}.payslip-view-btn svg{height:16px;width:16px}.payslip-modal{align-items:center;background:#0f172a61;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:1300}.payslip-modal__panel{background:#fff;border-radius:16px;box-shadow:0 24px 70px #0f172a3d;max-width:560px;overflow:hidden;width:100%}.payslip-modal__head{align-items:center;border-bottom:1px solid #e7eaf0;display:flex;justify-content:space-between;padding:16px 18px}.payslip-modal__head h2{align-items:center;color:#111827;display:inline-flex;font-size:1rem;font-weight:850;gap:9px;margin:0}.payslip-modal__head svg{color:var(--color-primary);height:20px;width:20px}.payslip-modal__head button{align-items:center;background:transparent;border:0;color:#64748b;cursor:pointer;display:inline-flex}.attendance-approval-page{color:#111827;display:grid;gap:16px}.attendance-approval-header{align-items:center;display:flex;justify-content:space-between}.attendance-approval-header h1{font-size:1.38rem;font-weight:850;margin:0 0 5px}.attendance-approval-header p{color:#64748b;font-size:.88rem;font-weight:650;margin:0}.attendance-approval-header button,.attendance-approval-toolbar select,.attendance-approval-actions button,.attendance-approval-modal footer button{border-radius:10px;font:inherit}.attendance-approval-header button{background:#fff;border:1px solid #e7eaf0;color:var(--color-primary);cursor:pointer;font-size:.86rem;font-weight:850;height:38px;padding:0 14px}.attendance-approval-alert{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#9a3412;font-size:.88rem;font-weight:750;padding:12px 14px}.attendance-approval-toolbar{align-items:end;background:#fff;border:1px solid #e7eaf0;border-radius:12px;display:flex;gap:12px;padding:14px}.attendance-approval-toolbar label{display:grid;gap:6px}.attendance-approval-toolbar label span,.attendance-approval-toolbar>div span{color:#64748b;font-size:.76rem;font-weight:800}.attendance-approval-toolbar select{background:#fff;border:1px solid #e5e7eb;color:#111827;font-size:.88rem;font-weight:750;height:40px;min-width:180px;padding:0 12px}.attendance-approval-toolbar>div{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;display:grid;gap:3px;min-width:140px;padding:10px 12px}.attendance-approval-toolbar>div strong{font-size:1.15rem;font-weight:850}.attendance-approval-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;padding:16px}.attendance-approval-card__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.attendance-approval-card__head h2{font-size:1rem;font-weight:850;margin:0}.attendance-approval-card__head span{color:#64748b;font-size:.82rem;font-weight:750}.attendance-approval-empty{align-items:center;background:#f8fafc;border:1px dashed #dbe3ef;border-radius:12px;color:#64748b;display:flex;font-size:.9rem;font-weight:750;justify-content:center;min-height:170px}.attendance-approval-table{overflow-x:auto}.attendance-approval-table table{border-collapse:collapse;min-width:1180px;width:100%}.attendance-approval-table th,.attendance-approval-table td{border-bottom:1px solid #eef2f7;font-size:.84rem;padding:12px;text-align:left;vertical-align:top}.attendance-approval-table th{background:#f8fafc;color:#64748b;font-size:.74rem;font-weight:850;text-transform:uppercase}.attendance-approval-table tbody tr:hover{background:#f8fafc}.attendance-approval-employee{display:grid;gap:3px}.attendance-approval-employee strong,.attendance-approval-table td>strong{color:#111827;font-weight:850}.attendance-approval-employee span,.attendance-approval-sub{color:#94a3b8;display:block;font-size:.76rem;font-weight:750;margin-top:3px}.attendance-approval-badge{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:850;padding:7px 10px;white-space:nowrap}.attendance-approval-badge--pending{background:#fff7ed;color:#ea580c}.attendance-approval-badge--approved{background:#dcfce7;color:#16a34a}.attendance-approval-badge--rejected{background:#ffe4e6;color:#e11d48}.attendance-approval-badge--cancelled{background:#f1f5f9;color:#64748b}.attendance-approval-actions{display:flex;flex-wrap:wrap;gap:7px}.attendance-approval-actions button,.attendance-approval-modal footer button{background:#fff;border:1px solid #e7eaf0;color:#475569;cursor:pointer;font-size:.8rem;font-weight:850;height:34px;padding:0 11px}.attendance-approval-actions button.approve,.attendance-approval-modal footer button.approve{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.attendance-approval-actions button.reject,.attendance-approval-modal footer button.reject{background:#fff1f2;border-color:#fecdd3;color:#e11d48}.attendance-approval-modal{align-items:center;background:#0f172a6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:1300}.attendance-approval-modal__panel{background:#fff;border-radius:16px;box-shadow:0 24px 70px #0f172a3d;max-width:760px;overflow:hidden;width:100%}.attendance-approval-modal__panel header,.attendance-approval-modal footer{align-items:center;display:flex;justify-content:space-between;padding:16px 18px}.attendance-approval-modal__panel header{border-bottom:1px solid #e7eaf0}.attendance-approval-modal__panel header h2{font-size:1.05rem;font-weight:850;margin:0 0 4px}.attendance-approval-modal__panel header p{color:#64748b;font-size:.86rem;font-weight:700;margin:0}.attendance-approval-modal__panel header button{background:transparent;border:0;color:#64748b;cursor:pointer;font-size:1.6rem;line-height:1}.attendance-approval-compare{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.attendance-approval-compare div,.attendance-approval-detail,.attendance-approval-note{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;display:grid;gap:8px;padding:14px}.attendance-approval-compare span,.attendance-approval-detail span,.attendance-approval-note span{color:#64748b;font-size:.78rem;font-weight:850;text-transform:uppercase}.attendance-approval-compare strong,.attendance-approval-detail p{color:#111827;font-size:.92rem;font-weight:800;line-height:1.55;margin:0}.attendance-approval-detail,.attendance-approval-note,.attendance-approval-preview{margin:0 18px 14px}.attendance-approval-note textarea{border:1px solid #e5e7eb;border-radius:10px;font:inherit;min-height:86px;padding:11px 12px;resize:vertical}.attendance-approval-preview{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1d4ed8;font-size:.86rem;font-weight:750;padding:12px 14px}.attendance-approval-modal footer{border-top:1px solid #e7eaf0;gap:10px;justify-content:flex-end}.dashboard-page{color:#111827;display:grid;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;gap:16px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;min-height:44px}.dashboard-header h1{color:#111827;font-size:1.38rem;font-weight:800;line-height:1.2;margin:0 0 5px}.dashboard-header p{color:#64748b;font-size:.88rem;font-weight:650;margin:0}.dashboard-error,.dashboard-card-state{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#9a3412;display:flex;font-size:.88rem;font-weight:700;gap:10px;justify-content:space-between;padding:12px 14px}.dashboard-card-state{background:#f8fafc;border-color:#e7eaf0;color:#64748b;justify-content:center;min-height:150px;text-align:center}.dashboard-error button,.dashboard-card-state button{background:#fff;border:1px solid #e7eaf0;border-radius:8px;color:var(--color-primary);cursor:pointer;font:inherit;font-size:.82rem;font-weight:850;height:34px;padding:0 12px}.dashboard-kpi-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-kpi-card,.dashboard-skeleton-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;min-height:106px}.dashboard-kpi-card{align-items:center;box-shadow:0 10px 28px #0f172a0a;display:flex;gap:14px;padding:16px}.dashboard-kpi-card>span{align-items:center;border-radius:12px;display:inline-flex;flex:0 0 42px;height:42px;justify-content:center;width:42px}.dashboard-kpi-card>span svg{height:22px;width:22px}.dashboard-kpi-card strong{color:#111827;display:block;font-size:1.55rem;font-weight:850;line-height:1;margin-bottom:6px}.dashboard-kpi-card p{color:#475569;font-size:.88rem;font-weight:800;line-height:1.25;margin:0 0 4px}.dashboard-kpi-card small{color:#94a3b8;display:block;font-size:.76rem;font-weight:700;line-height:1.3}.dashboard-kpi-card--primary>span{background:#eef2ff;color:#6366f1}.dashboard-kpi-card--success>span{background:#dcfce7;color:#16a34a}.dashboard-kpi-card--warning>span{background:#fff7ed;color:#f97316}.dashboard-kpi-card--danger>span{background:#ffe4e6;color:#e11d48}.dashboard-skeleton-card,.dashboard-attendance-skeleton,.dashboard-activity-skeleton{animation:salaryShimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 37%,#eef2f7 63%);background-size:400% 100%}.dashboard-mid-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,.34fr)}.dashboard-attendance-card,.dashboard-activity-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;box-shadow:0 10px 28px #0f172a0a;min-width:0;padding:16px}.dashboard-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.dashboard-card-head h2{align-items:center;color:#111827;display:inline-flex;font-size:1rem;font-weight:850;gap:9px;line-height:1.25;margin:0}.dashboard-card-head h2 svg{color:var(--color-primary);height:20px;width:20px}.dashboard-card-head a{color:var(--color-primary);font-size:.82rem;font-weight:850;text-decoration:none;white-space:nowrap}.dashboard-attendance-skeleton{border-radius:12px;height:210px}.dashboard-attendance-list{display:grid;gap:12px}.dashboard-attendance-row{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;padding:13px 14px;position:relative}.dashboard-attendance-row span,.dashboard-attendance-row strong{position:relative;z-index:1}.dashboard-attendance-row span{color:#475569;font-size:.9rem;font-weight:800}.dashboard-attendance-row strong{color:#111827;font-size:1rem;font-weight:850}.dashboard-attendance-row i{background:#6366f11f;bottom:0;display:block;left:0;position:absolute;top:0}.dashboard-attendance-row--success i{background:#22c55e1f}.dashboard-attendance-row--warning i{background:#f9731621}.dashboard-attendance-row--neutral i{background:#64748b1f}.dashboard-attendance-row--danger i{background:#f43f5e1f}.dashboard-activity-card{padding-bottom:10px}.dashboard-activity-table{overflow-x:auto}.dashboard-activity-table table{border-collapse:collapse;min-width:720px;width:100%}.dashboard-activity-table th,.dashboard-activity-table td{border-bottom:1px solid #eef2f7;font-size:.86rem;padding:12px 14px;text-align:left;vertical-align:middle}.dashboard-activity-table th{background:#f8fafc;color:#64748b;font-size:.76rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.dashboard-activity-table td{color:#334155;font-weight:700}.dashboard-activity-table tbody tr:hover{background:#f8fafc}.dashboard-activity-skeleton{border-radius:12px;height:220px}.dashboard-actor{align-items:center;display:flex;gap:10px;min-width:0}.dashboard-actor span{align-items:center;background:#eef2ff;border-radius:999px;color:var(--color-primary);display:inline-flex;flex:0 0 30px;font-size:.72rem;font-weight:850;height:30px;justify-content:center;width:30px}.dashboard-actor strong{color:#111827;font-size:.86rem;font-weight:800}.dashboard-module-pill{background:#f1f5f9;border-radius:999px;color:#475569;display:inline-flex;font-size:.78rem;font-weight:850;line-height:1;padding:7px 10px;white-space:nowrap}.dashboard-main-grid{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,.34fr)}.birthday-card{background:#fff;border:1px solid #e7eaf0;border-radius:12px;min-width:0;padding:16px}.birthday-card__header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.birthday-card__header h2{align-items:center;color:#111827;display:inline-flex;font-size:1rem;font-weight:800;gap:9px;line-height:1.25;margin:0}.birthday-card__header h2 svg{color:#a855f7;height:20px;width:20px}.birthday-card__header button{background:transparent;border:0;color:var(--color-primary);cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;padding:0}.birthday-card__header button:disabled{color:#94a3b8;cursor:not-allowed}.birthday-list{display:grid}.birthday-row{align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr) auto;padding:11px 0}.birthday-row:last-child{border-bottom:0}.birthday-row--today{background:#faf5ff;border-radius:10px;margin:2px -8px;padding-left:8px;padding-right:8px}.birthday-row__avatar{border-radius:999px;display:inline-flex;height:38px;object-fit:cover;width:38px}.birthday-row__avatar--fallback{align-items:center;background:#eef2ff;color:var(--color-primary);font-size:.78rem;font-weight:850;justify-content:center}.birthday-row__person{display:grid;gap:3px;min-width:0}.birthday-row__person strong{color:#111827;font-size:.9rem;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-row__person span{color:#64748b;font-size:.78rem;font-weight:650;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-row__meta{display:grid;gap:5px;justify-items:end}.birthday-row__meta strong{color:#334155;font-size:.86rem;font-weight:850}.birthday-row__meta span{color:#64748b;font-size:.76rem;font-weight:750;white-space:nowrap}.birthday-row__meta span.is-today{background:#f3e8ff;border-radius:999px;color:#7c3aed;padding:5px 8px}.birthday-row__meta span.is-soon{background:#fff7ed;border-radius:999px;color:#d97706;padding:5px 8px}.birthday-card__state{align-items:center;color:#64748b;display:grid;font-size:.86rem;font-weight:650;gap:10px;justify-items:center;min-height:132px;padding:18px 8px;text-align:center}.birthday-card__state button{background:#fff;border:1px solid #e7eaf0;border-radius:8px;color:var(--color-primary);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;height:34px;padding:0 12px}.birthday-skeleton-list{display:grid;gap:10px;padding:8px 0}.birthday-skeleton-row{background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 37%,#eef2f7 63%);background-size:400% 100%;border-radius:10px;height:54px;animation:salaryShimmer 1.2s ease-in-out infinite}.birthday-modal{align-items:center;background:#0f172a61;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:1300}.birthday-modal__panel{background:#fff;border-radius:16px;box-shadow:0 24px 70px #0f172a3d;max-height:84vh;max-width:560px;overflow:hidden;width:100%}.birthday-modal__header{align-items:center;border-bottom:1px solid #e7eaf0;display:flex;justify-content:space-between;padding:16px 18px}.birthday-modal__header h2{align-items:center;color:#111827;display:inline-flex;font-size:1rem;font-weight:850;gap:9px;margin:0}.birthday-modal__header svg{color:#a855f7;height:20px;width:20px}.birthday-modal__header button{align-items:center;background:transparent;border:0;color:#64748b;cursor:pointer;display:inline-flex}.birthday-modal__filters{display:flex;gap:8px;padding:14px 18px 0}.birthday-modal__filters button{background:#f8fafc;border:1px solid #e7eaf0;border-radius:999px;color:#64748b;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;height:34px;padding:0 12px}.birthday-modal__filters button.active{background:#eef2ff;border-color:#c7d2fe;color:var(--color-primary)}.birthday-modal__body{max-height:62vh;overflow-y:auto;padding:8px 18px 18px}@media (max-width: 1100px){.ov-body{grid-template-columns:1fr}.ov-body__aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.ov-stat-row{grid-template-columns:repeat(2,1fr)}.attendance-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-employee-section{grid-template-columns:1fr}.attendance-report-request-row{grid-template-columns:44px minmax(160px,1fr) minmax(180px,1fr)}.attendance-report-request-badge,.attendance-report-request-detail{justify-self:start}.salary-stats-grid,.salary-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.salary-content-grid,.dashboard-main-grid{grid-template-columns:1fr}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-mid-grid{grid-template-columns:1fr}}@media (max-width: 640px){.ov-header{flex-direction:column;align-items:flex-start;gap:12px}.ov-header__right{align-items:flex-start}.ov-stat-row{grid-template-columns:repeat(2,1fr)}.ov-body__aside{grid-template-columns:1fr}.reports-kpi-grid{grid-template-columns:repeat(2,1fr)}.attendance-report-page{margin:-16px;padding:16px}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{font-size:1.25rem}.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-card-head{align-items:flex-start;flex-direction:column}.attendance-approval-header,.attendance-approval-toolbar{align-items:stretch;flex-direction:column}.attendance-approval-toolbar select,.attendance-approval-header button{width:100%}.attendance-approval-compare{grid-template-columns:1fr}.attendance-approval-modal__panel{max-height:88vh;overflow-y:auto}.dashboard-error,.dashboard-card-state,.attendance-report-header{align-items:flex-start;flex-direction:column}.attendance-report-header__actions,.attendance-report-filterbar,.attendance-report-filterbar label,.attendance-report-filterbar input,.attendance-report-filterbar select,.attendance-report-filterbar .attendance-report-btn{width:100%}.attendance-report-stats{grid-template-columns:1fr}.attendance-report-employee-card-head{align-items:flex-start;flex-direction:column}.attendance-report-employee-card-head p{text-align:left}.attendance-report-request-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-request-row{align-items:flex-start;grid-template-columns:40px minmax(0,1fr)}.attendance-report-request-row__content,.attendance-report-request-row__created,.attendance-report-request-badge,.attendance-report-request-detail{grid-column:2}.attendance-report-guide-action{align-items:flex-start;gap:10px}.salary-page{margin:-16px;padding:16px}.salary-header,.salary-hero-card,.payslip-summary-card{align-items:flex-start;flex-direction:column}.salary-header__actions,.salary-header__actions input,.salary-header__actions select,.salary-header__actions button{width:100%}.salary-stats-grid,.salary-skeleton-grid{grid-template-columns:1fr}.salary-breakdown div,.salary-info-list div{align-items:flex-start;flex-direction:column;gap:4px;padding:10px 0}.salary-breakdown strong,.salary-info-list strong{text-align:left}.birthday-row{grid-template-columns:38px minmax(0,1fr)}.birthday-row__meta{grid-column:2;justify-items:start}.leave-type-grid,.staff-clock-grid{grid-template-columns:1fr}.schedule-calendar{gap:2px}.schedule-calendar__cell{min-height:50px;padding:4px}}.attn-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;width:100%}.attn-kpi-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}.attn-kpi-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--kpi-accent, var(--color-primary));border-radius:12px 0 0 12px}.attn-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.attn-kpi-card__icon{font-size:1.6rem;flex-shrink:0}.attn-kpi-card__value{font-size:1.5rem;font-weight:700;color:var(--kpi-accent, var(--color-primary));line-height:1}.attn-kpi-card__label{font-size:.78rem;font-weight:600;color:var(--text-primary);margin-top:4px}.attn-kpi-card__sub{font-size:.7rem;color:var(--text-muted);margin-top:2px}.attn-overview-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start;min-width:0;width:100%}@media (max-width: 1024px){.attn-overview-grid{grid-template-columns:1fr}.attn-overview-grid__aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}}.attn-month-stats{display:flex;flex-direction:column;gap:10px}.attn-month-stats__row{display:flex;align-items:center;gap:10px}.attn-month-stats__label{font-size:.78rem;color:var(--text-secondary);min-width:80px}.attn-month-stats__bar-wrap{flex:1;height:6px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden}.attn-month-stats__bar{height:100%;border-radius:99px;min-width:2px;transition:width .4s ease}.attn-month-stats__count{font-size:.82rem;font-weight:600;min-width:24px;text-align:right}.attn-shift-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--bg-tertiary);border-radius:8px}.attn-shift-row__name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.attn-shift-row__time{font-size:.78rem}.attn-quick-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--text-primary);text-decoration:none;background:var(--bg-tertiary);transition:background .15s,color .15s}.attn-quick-link:hover{background:var(--color-primary-glow);color:var(--color-primary)}.schedule-day-card{margin-bottom:0}.schedule-day-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.schedule-day-card__date{display:flex;flex-direction:column;gap:2px}.schedule-day-card__weekday{font-size:.95rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.schedule-day-card__daynum{font-size:.78rem}.reports-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.reports-kpi-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:12px}.reports-kpi-card__icon{font-size:1.4rem;flex-shrink:0}.reports-kpi-card__value{font-size:1.25rem;font-weight:700;color:var(--kpi-accent, var(--color-primary));line-height:1}.reports-kpi-card__label{font-size:.72rem;color:var(--text-secondary);margin-top:3px;font-weight:500}@media (max-width: 768px){.attn-kpi-grid,.reports-kpi-grid{grid-template-columns:repeat(2,1fr)}.attn-overview__clock{display:none}}.attendance-overview-page{display:flex;flex-direction:column;gap:20px;min-width:0;width:100%}.attendance-overview-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.attendance-overview-hero h1{color:var(--text-primary);font-size:1.7rem;font-weight:800;line-height:1.2;margin:0}.attendance-overview-hero p{color:var(--text-secondary);font-size:.95rem;margin-top:8px}.attendance-overview-hero__meta{display:flex;align-items:center;gap:18px;color:var(--text-secondary);font-size:.9rem;font-weight:600;white-space:nowrap}.attendance-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%}.attendance-overview-stat{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;min-height:116px;min-width:0;padding:18px 20px}.attendance-overview-stat__icon{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--stat-color) 16%,transparent);color:var(--stat-color);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.4rem;font-weight:800}.attendance-overview-stat p{color:var(--text-secondary);font-size:.86rem;font-weight:700;margin:0 0 8px}.attendance-overview-stat strong{color:var(--text-primary);display:block;font-size:clamp(1.25rem,1.2vw,1.65rem);font-weight:800;line-height:1}.attendance-overview-stat small{color:var(--stat-color);display:block;font-size:.78rem;font-weight:700;margin-top:10px}.attendance-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start;min-width:0;width:100%}.attendance-overview-main,.attendance-overview-aside{display:flex;flex-direction:column;gap:20px;min-width:0}.attendance-overview-card-head{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.attendance-overview-card-head h2{color:var(--text-primary);font-size:1rem;font-weight:800;line-height:1.3;margin:0}.attendance-overview-card-head p{color:var(--text-muted);font-size:.78rem;margin-top:4px}.attendance-overview-card-head--inline{margin-bottom:8px}.attendance-overview-filters{display:grid;grid-template-columns:minmax(140px,160px) minmax(160px,190px);gap:10px}.attendance-overview-table-card{padding:0;overflow:hidden}.attendance-overview-table-card .attendance-overview-card-head{padding:20px 24px 0}.attendance-overview-table-wrap{border-left:0;border-right:0;border-radius:0;max-width:100%;min-width:0;width:100%}.attendance-overview-table-wrap th,.attendance-overview-table-wrap td{padding:14px 18px}.attendance-overview-table-wrap th:last-child,.attendance-overview-table-wrap td:last-child{width:42px;text-align:center}.attendance-overview-employee{align-items:center;display:flex;gap:10px;min-width:180px}.attendance-overview-employee__avatar{align-items:center;background:var(--bg-selected);border:1px solid color-mix(in srgb,var(--color-primary) 32%,transparent);border-radius:999px;color:var(--color-primary);display:inline-flex;flex-shrink:0;font-size:.72rem;font-weight:800;height:30px;justify-content:center;width:30px}.attendance-overview-employee strong{color:var(--text-primary);display:block;font-size:.86rem}.attendance-overview-employee small{color:var(--text-muted);display:block;font-size:.72rem;margin-top:2px}.attendance-overview-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:700}.attendance-overview-time--in{color:var(--color-success)}.attendance-overview-more{color:var(--text-muted);font-size:1.2rem;letter-spacing:1px}.attendance-overview-table-footer{align-items:center;display:flex;justify-content:center;padding:14px 24px 18px}.attendance-overview-actions__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.attendance-overview-action{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:12px;justify-content:center;min-height:54px;padding:12px 14px;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.attendance-overview-action:hover:not(:disabled){background:color-mix(in srgb,var(--action-color) 10%,var(--bg-secondary));border-color:color-mix(in srgb,var(--action-color) 34%,var(--border-color));transform:translateY(-1px)}.attendance-overview-action:disabled{cursor:not-allowed;opacity:.45}.attendance-overview-action span{align-items:center;background:color-mix(in srgb,var(--action-color) 14%,transparent);border-radius:10px;color:var(--action-color);display:inline-flex;flex-shrink:0;font-weight:800;height:28px;justify-content:center;width:28px}.attendance-overview-action strong{font-size:.86rem}.attendance-overview-donut{align-items:center;display:grid;gap:18px;grid-template-columns:140px minmax(0,1fr)}.attendance-overview-donut__chart{height:140px;transform:rotate(-90deg);width:140px}.attendance-overview-donut__value,.attendance-overview-donut__label{transform:rotate(90deg);transform-origin:60px 60px}.attendance-overview-donut__value{fill:var(--text-primary);font-size:18px;font-weight:800}.attendance-overview-donut__label{fill:var(--text-muted);font-size:9px;font-weight:600}.attendance-overview-donut__legend{display:flex;flex-direction:column;gap:10px}.attendance-overview-donut__row{align-items:center;color:var(--text-secondary);display:grid;font-size:.82rem;gap:8px;grid-template-columns:10px minmax(0,1fr) auto auto}.attendance-overview-donut__row strong{color:var(--text-primary)}.attendance-overview-donut__dot{border-radius:999px;height:10px;width:10px}.attendance-overview-shifts,.attendance-overview-notifications{display:flex;flex-direction:column;gap:10px}.attendance-overview-shift,.attendance-overview-notification{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;gap:12px;padding:12px}.attendance-overview-shift>span,.attendance-overview-notification>span{align-items:center;background:var(--bg-selected);border-radius:999px;color:var(--color-primary);display:inline-flex;flex-shrink:0;font-weight:800;height:32px;justify-content:center;width:32px}.attendance-overview-shift div,.attendance-overview-notification div{flex:1;min-width:0}.attendance-overview-shift strong,.attendance-overview-notification strong{color:var(--text-primary);display:block;font-size:.88rem}.attendance-overview-shift small,.attendance-overview-notification small{color:var(--text-muted);display:block;font-size:.76rem;margin-top:3px}.attendance-overview-shift em{color:var(--text-secondary);flex-shrink:0;font-size:.78rem;font-style:normal;font-weight:700}@media (max-width: 1200px){.attendance-overview-layout{grid-template-columns:1fr}.attendance-overview-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.attendance-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-overview-aside{grid-template-columns:1fr}.attendance-overview-actions__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-overview-card-head{align-items:flex-start;flex-direction:column}.attendance-overview-filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}@media (max-width: 640px){.attendance-overview-hero{flex-direction:column}.attendance-overview-hero h1{font-size:1.35rem}.attendance-overview-hero__meta{align-items:flex-start;flex-direction:column;gap:8px}.attendance-overview-stat{align-items:flex-start;flex-direction:column;min-height:0}.attendance-overview-filters,.attendance-overview-actions__grid,.attendance-overview-donut{grid-template-columns:1fr}.attendance-overview-donut__chart{justify-self:center}}@media (max-width: 768px){.sidebar--module{width:var(--sidebar-collapsed-width)}.sidebar--module:not(.sidebar--collapsed){width:min(var(--sidebar-width),84vw);box-shadow:var(--shadow-lg)}}.orders-shell{display:block;margin:calc(var(--content-padding-y) * -1) calc(var(--content-padding-x) * -1);max-width:none;min-height:calc(100vh - (var(--content-padding-y) * 2));min-width:0;width:calc(100% + (var(--content-padding-x) * 2))}.orders-page{display:flex;flex-direction:column;gap:12px;min-width:0;padding:clamp(12px,1vw,18px) clamp(10px,.85vw,16px) 76px;width:100%}.orders-section-label{color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin:0 0 8px 4px}.orders-dashboard{background:color-mix(in srgb,var(--color-primary) 7%,var(--bg-secondary));border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--border-color));border-radius:var(--radius-md);padding:12px}.orders-dashboard__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%}.orders-dashboard-card{background:color-mix(in srgb,var(--color-primary) 8%,var(--card-bg));border:1px solid color-mix(in srgb,var(--color-primary) 26%,var(--border-color));border-radius:var(--radius-sm);min-height:106px;min-width:0;padding:clamp(12px,.85vw,16px)}.orders-dashboard-card__label{color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em}.orders-dashboard-card__value{color:var(--text-primary);font-size:clamp(1.28rem,1.15vw,1.55rem);font-weight:850;line-height:1.1;margin-top:12px}.orders-dashboard-card__sub{align-items:center;color:var(--text-muted);display:flex;font-size:.72rem;font-weight:700;justify-content:space-between;margin-top:18px}.orders-dashboard-card__sub strong{color:var(--text-secondary);font-size:.7rem}.orders-toolbar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px;position:relative}.orders-toolbar__top{align-items:center;display:flex;flex-wrap:wrap;gap:8px;width:100%}.orders-search{align-items:center;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);display:flex;flex:1 1 320px;gap:8px;height:38px;min-width:0;padding:0 12px}.orders-search input{background:transparent;border:0;color:var(--text-primary);flex:1;font-size:.86rem;min-width:0;outline:none}.orders-time-select{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-size:.82rem;font-weight:750;height:34px;padding:0 10px;text-align:left}.orders-date-picker{background:var(--card-bg);border:1px solid rgba(93,139,210,.38);border-radius:8px;box-shadow:0 22px 52px #0f172a29;display:grid;grid-template-columns:310px minmax(0,1fr);left:0;margin-top:8px;overflow:hidden;position:absolute;top:100%;width:min(1154px,calc(100vw - 36px));z-index:30}.orders-date-picker__presets{background:var(--card-bg);border-right:1px solid rgba(93,139,210,.35);display:flex;flex-direction:column;padding:4px 0}.orders-date-picker__presets button{background:transparent;border:0;color:var(--text-primary);cursor:pointer;font-size:1.05rem;font-weight:650;min-height:80px;padding:0 32px;text-align:left}.orders-date-picker__presets button:hover{background:#eef6ff}.orders-date-picker__calendar{min-width:0}.orders-date-picker__range{align-items:center;border-bottom:1px solid rgba(93,139,210,.35);box-shadow:0 2px 8px #0f172a14;display:grid;grid-template-columns:minmax(180px,1fr) 44px minmax(180px,1fr) 42px;min-height:56px}.orders-date-picker__range span{align-items:center;color:var(--text-primary);display:inline-flex;font-size:1.38rem;font-weight:650;height:100%;padding:0 22px}.orders-date-picker__range span:first-child{border-bottom:3px solid var(--color-primary)}.orders-date-picker__range span:nth-child(2){color:var(--text-muted);justify-content:center;padding:0}.orders-date-picker__range button{align-items:center;background:#b8bcc3;border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.25rem;height:28px;justify-content:center;justify-self:center;line-height:1;width:28px}.orders-date-picker__nav{align-items:center;display:grid;grid-template-columns:34px 34px 1fr 34px 34px;min-height:88px;padding:0 26px}.orders-date-picker__nav button{background:transparent;border:0;color:#7c8796;cursor:pointer;font-size:2rem;line-height:1}.orders-date-picker__months{border-top:1px solid rgba(15,23,42,.08);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.orders-date-picker__month{padding:0 28px 24px}.orders-date-picker__month-title{color:var(--text-primary);font-size:1.25rem;font-weight:850;margin:-64px 0 26px;text-align:center}.orders-date-picker__weekdays,.orders-date-picker__days{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));row-gap:14px}.orders-date-picker__weekdays{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:28px;text-align:center}.orders-date-picker__day{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:650;height:38px;justify-content:center;margin:0 auto;width:42px}.orders-date-picker__day:hover,.orders-date-picker__day.in-range{background:#eaf3ff}.orders-date-picker__day.selected{background:#0f63c9;color:#fff}.orders-date-picker__day.muted{color:#b7bbc1}.orders-date-picker__day.muted.selected{color:#fff}.orders-refresh{align-items:center;display:flex;flex:0 0 auto;gap:8px;min-width:38px}.orders-refresh__button{align-items:center;display:inline-flex;height:34px;justify-content:center;min-width:36px}.orders-refresh__button:disabled{cursor:wait;opacity:.7}.orders-refresh__icon{display:inline-block;line-height:1}.orders-refresh__icon--spinning{animation:spin .7s linear infinite}.orders-refresh__time{color:var(--text-muted);font-size:.72rem;font-weight:700;white-space:nowrap}.orders-toast{border-radius:var(--radius-sm);font-size:.84rem;font-weight:800;padding:10px 12px}.orders-toast--success{background:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.orders-toast--error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-text)}.orders-filter-panel{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:10px;width:100%}.orders-filter-popover{background:var(--card-bg);border:1px solid rgba(93,139,210,.42);border-radius:8px;box-shadow:0 22px 52px #0f172a29;left:0;margin-top:8px;overflow:hidden;position:absolute;top:100%;width:min(560px,calc(100vw - 32px));z-index:20}.orders-filter-popover__header,.orders-filter-popover__footer{align-items:center;display:flex;justify-content:space-between}.orders-filter-popover__header{border-bottom:1px solid rgba(93,139,210,.28);min-height:52px;padding:0 14px 0 18px}.orders-filter-popover__title{align-items:center;color:var(--text-primary);display:flex;gap:10px;font-size:.86rem;letter-spacing:0}.orders-filter-popover__title span{color:var(--color-primary);font-size:1.05rem}.orders-filter-popover__close{align-items:center;background:transparent;border:0;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:1.5rem;height:34px;justify-content:center;width:34px}.orders-filter-popover__body{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:340px}.orders-filter-popover__groups{background:#eaf3ff;border-right:1px solid rgba(93,139,210,.28);display:flex;flex-direction:column;gap:8px;padding:10px}.orders-filter-group{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#334155;cursor:pointer;display:grid;font-size:.9rem;font-weight:850;grid-template-columns:24px minmax(0,1fr) 14px;min-height:48px;padding:0 10px;text-align:left}.orders-filter-group.active{background:#dcecff;border-left:4px solid var(--color-primary);color:#0f172a}.orders-filter-group__icon,.orders-filter-group__arrow{align-items:center;color:#475569;display:inline-flex;justify-content:center}.orders-filter-group__arrow{font-size:1.25rem}.orders-filter-popover__options{background:var(--card-bg);display:flex;flex-direction:column;gap:10px;padding:8px}.orders-filter-option{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.86rem;font-weight:850;justify-content:space-between;min-height:42px;padding:0 12px;text-align:left}.orders-filter-option.active{background:#dcecff;border-color:#7aa8ff;color:#0f172a}.orders-filter-option__check{color:var(--color-primary);font-size:1.05rem}.orders-filter-popover__footer{background:var(--card-bg);border-top:1px solid rgba(93,139,210,.28);min-height:54px;padding:8px 8px 8px 16px}.orders-filter-popover__reset,.orders-filter-popover__apply{border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:850;height:44px;padding:0 16px}.orders-filter-popover__reset{background:var(--card-bg);border:1px solid rgba(93,139,210,.42);color:var(--text-secondary)}.orders-filter-popover__apply{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--button-primary-text);min-width:110px}@media (max-width: 640px){.orders-date-picker{grid-template-columns:1fr;left:50%;max-height:calc(100vh - 110px);overflow-y:auto;transform:translate(-50%);width:calc(100vw - 18px)}.orders-date-picker__presets{border-bottom:1px solid rgba(93,139,210,.35);border-right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.orders-date-picker__presets button{font-size:.9rem;min-height:44px;padding:0 14px}.orders-date-picker__range{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 34px}.orders-date-picker__range span{font-size:.92rem;padding:0 10px}.orders-date-picker__months{grid-template-columns:1fr}.orders-date-picker__month{padding:0 12px 18px}.orders-date-picker__month-title{font-size:1rem}.orders-date-picker__weekdays,.orders-date-picker__days{grid-template-columns:repeat(7,minmax(30px,1fr))}.orders-date-picker__day{font-size:.9rem;height:34px;width:34px}.orders-filter-popover{left:50%;max-height:calc(100vh - 110px);overflow-y:auto;transform:translate(-50%);width:calc(100vw - 18px)}.orders-filter-popover__body{grid-template-columns:150px minmax(0,1fr);min-height:300px}.orders-filter-group{font-size:.82rem;grid-template-columns:20px minmax(0,1fr) 10px;padding:0 8px}.orders-filter-popover__footer{position:sticky;bottom:0}}.orders-tabs,.orders-return-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.orders-return-tabs{border-bottom:1px solid var(--border-color);padding-bottom:10px}.orders-return-tabs>span{color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-right:4px}.orders-chip{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:800;gap:8px;height:32px;padding:0 12px}.orders-chip span{background:var(--bg-tertiary);border-radius:999px;color:var(--text-muted);font-size:.72rem;min-width:22px;padding:1px 6px}.orders-chip:hover,.orders-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--button-primary-text)}.orders-chip:hover span,.orders-chip.active span{background:#fff3;color:var(--button-primary-text)}.orders-table-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex:1;flex-direction:column;min-height:480px;min-width:0;max-width:100%;overflow:visible;width:100%}.orders-table-wrap{flex:1;min-width:0;max-width:100%;overflow-x:auto;overflow-y:auto;width:100%}.orders-table{border-collapse:separate;border-spacing:0;min-width:1560px;width:100%}.orders-table thead th{background:var(--table-header-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:2}.orders-table tbody tr{cursor:pointer}.orders-table tbody tr:hover td{background:var(--table-hover-bg)}.orders-table__id{color:var(--color-primary);font-weight:850}.orders-table__creator{color:var(--text-secondary);font-weight:800;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-table__product{color:var(--text-primary);font-weight:700;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-table__money{color:var(--text-primary);font-weight:850;text-align:right;white-space:nowrap}.orders-table__center,.orders-table__money.orders-table__center{text-align:center}.orders-phone{align-items:center;color:var(--text-secondary);display:flex;gap:6px;white-space:nowrap}.orders-phone button{align-items:center;background:transparent;border:0;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.84rem;height:20px;justify-content:center;width:20px}.orders-badge,.orders-source,.orders-brand{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:850;justify-content:center;min-height:25px;min-width:72px;padding:4px 12px;white-space:nowrap}.orders-badge--slate,.orders-badge--neutral,.orders-brand{background:var(--bg-tertiary);color:var(--text-secondary)}.orders-badge--success{background:var(--badge-success-bg);color:var(--color-success)}.orders-badge--warning{background:var(--badge-warning-bg);color:var(--color-warning)}.orders-badge--danger{background:var(--badge-danger-bg);color:var(--color-danger)}.orders-badge--info{background:var(--badge-info-bg);color:var(--color-info)}.orders-source--web{background:var(--badge-success-bg);color:var(--color-success)}.orders-source--facebook,.orders-source--pancake{background:var(--badge-info-bg);color:var(--color-info)}.orders-source--pos{background:var(--badge-warning-bg);color:var(--color-warning)}.orders-source--neutral{background:var(--bg-tertiary);color:var(--text-muted)}.orders-empty{align-items:center;color:var(--text-muted);display:flex;flex:1;flex-direction:column;gap:8px;justify-content:center;min-height:260px;padding:40px;text-align:center}.orders-empty strong{color:var(--text-primary);font-size:1rem}.orders-empty__icon{color:var(--color-primary);font-size:2rem}.orders-table-footer{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md);bottom:0;box-shadow:0 -10px 24px #0f172a1a;display:flex;gap:16px;justify-content:space-between;min-height:54px;padding:10px 14px;position:sticky;z-index:30}.orders-table-footer__totals{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:18px;font-size:.82rem}.orders-table-footer__totals span{align-items:center;display:flex;gap:8px}.orders-table-footer__totals strong{color:var(--text-primary)}.orders-table-footer__totals em{color:var(--text-muted);font-style:normal}.orders-pagination{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;gap:8px;font-size:.82rem}.orders-pagination__btn,.orders-pagination input,.orders-pagination select{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);height:32px}.orders-pagination__btn{cursor:pointer;font-size:1.1rem;width:32px}.orders-pagination__btn:disabled{cursor:not-allowed;opacity:.48}.orders-pagination input{text-align:center;width:52px}.orders-pagination select{padding:0 8px}.orders-api-note{color:var(--text-muted);font-size:.78rem;padding:0 4px 14px}.orders-time-filter{flex:0 0 auto;position:relative}.orders-time-filter .orders-time-select{align-items:center;display:inline-flex;gap:10px;justify-content:space-between;max-width:min(300px,calc(100vw - 24px));min-width:178px}.orders-time-filter .orders-date-picker{background:var(--card-bg);border:1px solid rgba(93,139,210,.36);border-radius:10px;box-shadow:0 18px 42px #0f172a29;display:grid;grid-template-columns:150px minmax(0,1fr);left:auto;margin-top:8px;max-width:calc(100vw - 24px);overflow:hidden;position:absolute;right:0;top:100%;transform:none;width:660px;z-index:60}.orders-time-filter .orders-date-picker__presets{background:#fbfdff;border-right:1px solid rgba(93,139,210,.25);display:flex;flex-direction:column;max-height:344px;overflow-y:auto;padding:8px}.orders-time-filter .orders-date-picker__presets button{background:transparent;border:0;border-radius:7px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:650;min-height:30px;padding:0 10px;text-align:left}.orders-time-filter .orders-date-picker__presets button:hover{background:#f1f7ff}.orders-time-filter .orders-date-picker__presets button.active{background:#e7f1ff;color:var(--color-primary);font-weight:800}.orders-time-filter .orders-date-picker__calendar{min-width:0;padding:10px 12px 12px}.orders-time-filter .orders-date-picker__months{border-top:0;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.orders-time-filter .orders-date-picker__month{padding:0}.orders-time-filter .orders-date-picker__month-head{align-items:center;display:grid;grid-template-columns:28px 1fr 28px;margin-bottom:10px;min-height:30px}.orders-time-filter .orders-date-picker__month-head strong{color:var(--text-primary);font-size:13px;font-weight:850;text-align:center}.orders-time-filter .orders-date-picker__month-head button{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:20px;height:28px;justify-content:center;padding:0;width:28px}.orders-time-filter .orders-date-picker__month-head button:hover{background:#f1f7ff;color:var(--color-primary)}.orders-time-filter .orders-date-picker__weekdays,.orders-time-filter .orders-date-picker__days{display:grid;grid-template-columns:repeat(7,28px);justify-content:center}.orders-time-filter .orders-date-picker__weekdays{color:var(--text-muted);font-size:11px;font-weight:800;margin-bottom:5px;text-align:center}.orders-time-filter .orders-date-picker__weekdays span{height:22px;line-height:22px}.orders-time-filter .orders-date-picker__days{row-gap:3px}.orders-time-filter .orders-date-picker__day{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;height:28px;justify-content:center;margin:0;width:28px}.orders-time-filter .orders-date-picker__day:hover,.orders-time-filter .orders-date-picker__day.in-range{background:#eaf3ff}.orders-time-filter .orders-date-picker__day.selected{background:var(--color-primary);color:var(--button-primary-text)}.orders-time-filter .orders-date-picker__day.muted{color:#b8c0cc}.orders-time-filter .orders-date-picker__footer{align-items:end;border-top:1px solid rgba(93,139,210,.2);display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding-top:10px}.orders-time-filter .orders-date-picker__footer div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.orders-time-filter .orders-date-picker__footer strong{color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.06em}.orders-time-filter .orders-date-picker__footer span{color:var(--text-primary);font-size:12px;font-weight:800}.orders-time-filter .orders-date-picker__footer small{color:var(--text-muted);font-size:11px;font-weight:650}.orders-time-filter .orders-date-picker__actions{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:8px}.orders-time-filter .orders-date-picker__cancel,.orders-time-filter .orders-date-picker__apply{border-radius:7px;cursor:pointer;font-size:12px;font-weight:800;height:32px;padding:0 12px}.orders-time-filter .orders-date-picker__cancel{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary)}.orders-time-filter .orders-date-picker__apply{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--button-primary-text)}.orders-filter-trigger{flex:0 0 auto;position:relative}.orders-filter-trigger__button{align-items:center;display:inline-flex;gap:8px;justify-content:center}.orders-filter-trigger__button.active{border-color:#2563eb6b;color:var(--color-primary)}.orders-filter-trigger__badge{align-items:center;background:var(--color-primary);border-radius:999px;color:var(--button-primary-text);display:inline-flex;font-size:11px;font-weight:850;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 6px}.orders-filter-trigger .orders-filter-popover{background:var(--card-bg);border:1px solid rgba(93,139,210,.36);border-radius:10px;box-shadow:0 18px 42px #0f172a29;left:auto;margin-top:8px;max-height:480px;max-width:calc(100vw - 24px);overflow:hidden;position:absolute;right:0;top:100%;transform:none;width:500px;z-index:70}.orders-filter-trigger .orders-filter-popover__header{border-bottom:1px solid rgba(93,139,210,.22);min-height:38px;padding:0 8px 0 12px}.orders-filter-trigger .orders-filter-popover__title{gap:8px;font-size:12px}.orders-filter-trigger .orders-filter-popover__title span{font-size:16px}.orders-filter-trigger .orders-filter-popover__close{border-radius:7px;font-size:20px;height:28px;width:28px}.orders-filter-trigger .orders-filter-popover__close:hover{background:#f1f7ff;color:var(--color-primary)}.orders-filter-trigger .orders-filter-popover__body{display:grid;grid-template-columns:142px minmax(0,1fr);max-height:396px;min-height:0}.orders-filter-trigger .orders-filter-popover__groups{background:#fbfdff;border-right:1px solid rgba(93,139,210,.24);gap:6px;max-height:396px;overflow-y:auto;padding:8px}.orders-filter-trigger .orders-filter-group{border-radius:7px;font-size:12px;grid-template-columns:20px minmax(0,1fr) 10px;min-height:34px;padding:0 8px}.orders-filter-trigger .orders-filter-group.active{background:#e7f1ff;border-color:#2563eb2e;border-left:3px solid var(--color-primary);color:#0f172a}.orders-filter-trigger .orders-filter-group__icon,.orders-filter-trigger .orders-filter-group__arrow{color:#5f7087}.orders-filter-trigger .orders-filter-group__arrow{font-size:16px}.orders-filter-trigger .orders-filter-popover__options{background:var(--card-bg);gap:6px;max-height:396px;overflow-y:auto;padding:8px}.orders-filter-trigger .orders-filter-option{border-radius:7px;color:var(--text-secondary);font-size:12px;font-weight:800;min-height:34px;padding:0 10px}.orders-filter-trigger .orders-filter-option:hover{background:#f6f9ff;color:var(--text-primary)}.orders-filter-trigger .orders-filter-option.active{background:#e7f1ff;border-color:#7aa8ff;color:var(--text-primary)}.orders-filter-trigger .orders-filter-option__check{color:var(--color-primary);font-size:14px}.orders-filter-trigger .orders-filter-popover__footer{background:var(--card-bg);border-top:1px solid rgba(93,139,210,.22);bottom:0;min-height:46px;padding:6px 8px;position:sticky}.orders-filter-trigger .orders-filter-popover__reset,.orders-filter-trigger .orders-filter-popover__apply{border-radius:7px;font-size:12px;font-weight:850;height:34px;padding:0 12px}.orders-filter-trigger .orders-filter-popover__reset{border-color:var(--border-color);color:var(--text-secondary)}.orders-filter-trigger .orders-filter-popover__apply{min-width:96px}@media (max-width: 700px){.orders-filter-trigger,.orders-filter-trigger__button{width:100%}.orders-filter-trigger .orders-filter-popover{left:0;max-height:calc(100vh - 120px);right:auto;width:min(500px,calc(100vw - 24px))}.orders-filter-trigger .orders-filter-popover__body{grid-template-columns:132px minmax(0,1fr);max-height:calc(100vh - 212px)}.orders-filter-trigger .orders-filter-popover__groups,.orders-filter-trigger .orders-filter-popover__options{max-height:calc(100vh - 212px)}}@media (max-width: 1100px){.orders-dashboard__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1024px){.orders-toolbar>.orders-time-select{display:none}.orders-table-footer{align-items:flex-start;flex-direction:column}}@media (max-width: 700px){.orders-time-filter{width:100%}.orders-time-filter .orders-time-select{max-width:100%;width:100%}.orders-time-filter .orders-date-picker{grid-template-columns:1fr;left:0;right:auto;width:min(520px,calc(100vw - 24px))}.orders-time-filter .orders-date-picker__presets{border-bottom:1px solid rgba(93,139,210,.25);border-right:0;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;max-height:none;overflow-x:auto;overflow-y:hidden}.orders-time-filter .orders-date-picker__presets button{white-space:nowrap}.orders-time-filter .orders-date-picker__months{grid-template-columns:1fr}.orders-time-filter .orders-date-picker__month:nth-child(2){display:none}.orders-time-filter .orders-date-picker__footer{align-items:stretch;flex-direction:column}.orders-time-filter .orders-date-picker__actions{justify-content:flex-end}}@media (max-width: 720px){.orders-shell{margin:calc(var(--content-padding-y) * -1) calc(var(--content-padding-x) * -1)}.orders-page{padding:12px 10px 0}.orders-dashboard__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-filter-panel{grid-template-columns:1fr}.orders-search{flex-basis:100%}}@media (max-width: 520px){.orders-dashboard__grid,.orders-filter-panel{grid-template-columns:1fr}}.inv-page{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%}.inv-kpi-section__title{font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;margin-bottom:10px}.inv-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}.inv-kpi-card{background:var(--card-bg);border:1px solid var(--border-color);border-top:3px solid var(--inv-kpi-color, var(--color-primary));border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}.inv-kpi-card__top{display:flex;align-items:center;gap:12px}.inv-kpi-card__icon{font-size:1.4rem;flex-shrink:0}.inv-kpi-card__value{font-size:clamp(1.25rem,1.15vw,1.55rem);font-weight:800;color:var(--inv-kpi-color, var(--text-primary));line-height:1}.inv-kpi-card__label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:3px}.inv-kpi-card__breakdown{border-top:1px solid var(--border-color);padding-top:8px;display:flex;flex-direction:column;gap:4px}.inv-kpi-card__breakdown-row{display:flex;justify-content:space-between;font-size:.73rem}.inv-kpi-card__breakdown-name{color:var(--text-secondary)}.inv-kpi-card__breakdown-val{font-weight:600;color:var(--text-primary)}.inv-brand-tabs{display:flex;gap:0;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border-color)}.inv-brand-tab{padding:8px 18px;border:none;background:transparent;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;letter-spacing:.04em}.inv-brand-tab:hover{color:var(--color-primary)}.inv-brand-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.inv-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.inv-toolbar__search{flex:1 1 280px;min-width:0}.inv-toolbar__filter{flex:0 1 180px;min-width:140px}.inv-toolbar__icon-btn{padding:7px 12px;font-size:1rem}.inv-table-wrap{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);max-width:100%;min-width:0;overflow-x:auto;width:100%}.inv-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:1100px}.inv-table thead th{background:var(--table-header-bg);color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px;border-bottom:1px solid var(--border-color);white-space:nowrap;position:sticky;top:0;z-index:2;text-align:left}.inv-table thead th.text-right{text-align:right}.inv-table thead th.text-center{text-align:center}.inv-table tbody tr{border-bottom:1px solid var(--border-color)}.inv-table tbody td{padding:9px 10px;color:var(--text-primary);vertical-align:middle}.inv-table tbody tr:hover td{background:var(--table-hover-bg)}.inv-table tbody tr:last-child{border-bottom:none}.inv-row--open>td{background:var(--bg-tertiary)!important}.inv-expand-btn{background:none;border:none;padding:4px 6px;cursor:pointer;color:var(--text-muted);font-size:.9rem;border-radius:4px;transition:color .15s,background .15s;line-height:1}.inv-expand-btn:hover{background:var(--bg-tertiary);color:var(--color-primary)}.inv-product-img{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border-color);display:block}.inv-product-img--placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);font-size:1.1rem}.inv-product-code{font-size:.8rem;font-weight:700;color:var(--color-primary);letter-spacing:.02em}.inv-product-name{margin-top:1px;line-height:1.3}.inv-num-badge{display:inline-block;background:var(--color-primary-glow);color:var(--color-primary);font-weight:700;font-size:.75rem;border-radius:99px;padding:2px 8px;min-width:24px;text-align:center}.inv-link-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:var(--bg-tertiary);color:var(--color-info);text-decoration:none;font-size:.9rem;transition:background .15s}.inv-link-btn:hover{background:var(--color-primary-glow)}.inv-stock-num{font-weight:600;color:var(--color-success)}.inv-stock-num--zero{color:var(--text-muted)}.inv-expand-row>td{background:var(--bg-tertiary)!important;border-bottom:2px solid var(--border-color);padding:0 8px 12px 40px}.inv-variants-table{width:100%;border-collapse:collapse;font-size:.78rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;margin-top:8px}.inv-variants-table thead th{background:var(--table-header-bg);padding:7px 10px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);text-align:left}.inv-variants-table thead th.text-right{text-align:right}.inv-variants-table tbody td{padding:7px 10px;border-bottom:1px solid var(--border-color);color:var(--text-primary);background:var(--card-bg)}.inv-variants-table tbody td.text-right{text-align:right}.inv-variants-table tbody tr:last-child td{border-bottom:none}.inv-variants-table tbody tr:hover td{background:var(--bg-hover)}.inv-variant-code{font-weight:600;color:var(--color-info)}.inv-footer{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.inv-footer__summary{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.inv-footer__summary strong{color:var(--text-primary)}.inv-footer__sep{color:var(--border-color-light, #aaa)}.inv-footer__pagination{display:flex;align-items:center;gap:6px}@media (max-width: 1200px){.inv-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.inv-kpi-grid{grid-template-columns:repeat(2,1fr)}.inv-toolbar{flex-wrap:wrap}.inv-toolbar__search{min-width:100%}}@media (max-width: 480px){.inv-kpi-grid{grid-template-columns:1fr}}
