@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap);:root{--dgv-font:"Inter","Segoe UI",sans-serif;--dgv-font-display:"Plus Jakarta Sans","Inter","Segoe UI",sans-serif;--dgv-font-mono:"JetBrains Mono",ui-monospace,monospace;--dgv-primary:#172033;--dgv-primary-hover:#101624;--dgv-secondary:#475569;--dgv-accent:#8b5cf6;--dgv-accent-hover:#7c3aed;--dgv-accent-soft:#8b5cf61a;--dgv-accent-2:#8b5cf6;--dgv-info:#2563eb;--dgv-info-bg:#2563eb1a;--dgv-bg:#f6f7f9;--dgv-bg-elevated:#fff;--dgv-surface:#fff;--dgv-surface-solid:#fff;--dgv-card:#fff;--dgv-sidebar:#fff;--dgv-navbar:#fff;--dgv-text:#172033;--dgv-text-secondary:#475569;--dgv-text-muted:#7b8494;--dgv-text-disabled:#a8afba;--dgv-border:#e2e6ec;--dgv-border-strong:#e2e6ec;--dgv-divider:#eef0f3;--dgv-success:#15803d;--dgv-success-bg:#15803d1a;--dgv-warning:#b45309;--dgv-warning-bg:#b453091a;--dgv-danger:#dc2626;--dgv-danger-bg:#dc26261a;--dgv-shadow:none;--dgv-shadow-sm:0 4px 16px #17203314;--dgv-shadow-lg:0 12px 32px #1720331f;--dgv-glass:none;--dgv-ring:0 0 0 3px #2563eb47;--dgv-overlay:#17203373;--dgv-blob-1:#0000;--dgv-blob-2:#0000;--dgv-blob-3:#0000;--dgv-particle:#0000;--dgv-glow:#0000;--dgv-radius:14px;--dgv-radius-sm:8px;--dgv-radius-lg:14px;--dgv-sidebar-w:248px;--dgv-sidebar-collapsed:72px;--dgv-navbar-h:64px;--dgv-space-1:4px;--dgv-space-2:8px;--dgv-space-3:12px;--dgv-space-4:16px;--dgv-space-5:20px;--dgv-space-6:24px;--dgv-space-8:32px;--dgv-content-max:1440px;--dgv-transition:0.18s ease}[data-theme=dark]{--dgv-primary:#f6f7f9;--dgv-primary-hover:#fff;--dgv-secondary:#c5cdd8;--dgv-accent:#a78bfa;--dgv-accent-hover:#c4b5fd;--dgv-accent-soft:#a78bfa24;--dgv-accent-2:#a78bfa;--dgv-info:#60a5fa;--dgv-info-bg:#2563eb2e;--dgv-bg:#101720;--dgv-bg-elevated:#1a2434;--dgv-surface:#172033;--dgv-surface-solid:#172033;--dgv-card:#172033;--dgv-sidebar:#121a28;--dgv-navbar:#121a28;--dgv-text:#f6f7f9;--dgv-text-secondary:#c5cdd8;--dgv-text-muted:#8b93a3;--dgv-text-disabled:#6b7380;--dgv-border:#2a3548;--dgv-border-strong:#2a3548;--dgv-divider:#243044;--dgv-success:#4ade80;--dgv-success-bg:#15803d2e;--dgv-warning:#fbbf24;--dgv-warning-bg:#b453092e;--dgv-danger:#f87171;--dgv-danger-bg:#dc26262e;--dgv-shadow:none;--dgv-shadow-sm:0 4px 16px #00000059;--dgv-shadow-lg:0 12px 32px #00000073;--dgv-ring:0 0 0 3px #60a5fa59;--dgv-overlay:#0009}*,:after,:before{box-sizing:border-box}html{scroll-behavior:auto}#root,body,html{min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7f9;background:var(--dgv-bg);color:#172033;color:var(--dgv-text);font-family:Inter,Segoe UI,sans-serif;font-family:var(--dgv-font);font-size:15px;line-height:1.5;margin:0;transition:background-color .18s ease,color .18s ease;transition:background-color var(--dgv-transition),color var(--dgv-transition)}.dgv-page-title,.dgv-sidebar__title,.dgv-stat-card__value,h1,h2,h3,h4,h5,h6{color:#172033;color:var(--dgv-text);font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);letter-spacing:-.02em}h1{font-size:32px}h1,h2{font-weight:700}h2{font-size:24px}h3{font-size:20px}h3,h4{font-weight:600}h4{font-size:16px}@media (max-width:639px){h1{font-size:26px}h2{font-size:22px}h3{font-size:18px}}button,input,select,textarea{font-family:inherit}a{color:#2563eb;color:var(--dgv-info)}:focus-visible{box-shadow:none;outline:2px solid #2563eb;outline:2px solid var(--dgv-info);outline-offset:2px}.dgv-shell{color:#172033;color:var(--dgv-text);overflow-x:clip;position:relative}.dgv-main-wrap,.dgv-shell{display:flex;min-height:100vh}.dgv-main-wrap{flex:1 1;flex-direction:column;margin-left:248px;margin-left:var(--dgv-sidebar-w);min-width:0;transition:margin-left .18s ease;transition:margin-left var(--dgv-transition)}.dgv-shell.sidebar-collapsed .dgv-main-wrap{margin-left:72px;margin-left:var(--dgv-sidebar-collapsed)}.dgv-shell.no-sidebar .dgv-main-wrap,.dgv-shell.sidebar-mobile-open .dgv-main-wrap{margin-left:0}@media (max-width:960px){.dgv-main-wrap{margin-left:0!important}}.dgv-content{flex:1 1;margin:0 auto;max-width:1440px;max-width:var(--dgv-content-max);padding:32px 32px 40px;position:relative;width:100%;z-index:1}.dgv-content>*{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;transition:background-color var(--dgv-transition),color var(--dgv-transition),border-color var(--dgv-transition),box-shadow var(--dgv-transition)}@media (max-width:960px){.dgv-content{padding:24px 24px 32px}}@media (max-width:639px){.dgv-content{padding:16px 16px 32px}}.dgv-bg{background:#f6f7f9;background:var(--dgv-bg);inset:0;overflow:hidden;pointer-events:none;position:fixed;transition:background-color .18s ease;transition:background-color var(--dgv-transition);z-index:0}.dgv-bg__blob,.dgv-bg__glow,.dgv-bg__gradient,.dgv-bg__particles{display:none}.dgv-bg__blob{border-radius:50%;filter:blur(70px);opacity:.85;position:absolute;will-change:transform}.dgv-bg__blob--1{animation:dgv-float-a 16s ease-in-out infinite;background:#0000;background:var(--dgv-blob-1);height:480px;left:-80px;top:-100px;width:480px}.dgv-bg__blob--2{animation:dgv-float-b 19s ease-in-out infinite;background:#0000;background:var(--dgv-blob-2);bottom:8%;height:420px;right:-60px;width:420px}.dgv-bg__blob--3{animation:dgv-float-c 17s ease-in-out infinite;background:#0000;background:var(--dgv-blob-3);height:340px;left:38%;top:38%;width:340px}.dgv-bg__particles{inset:0;position:absolute}.dgv-bg__particle{animation:dgv-particle-rise linear infinite;background:#0000;background:var(--dgv-particle);border-radius:50%;box-shadow:0 0 8px #0000;box-shadow:0 0 8px var(--dgv-particle);height:3px;opacity:.55;position:absolute;width:3px}.dgv-sidebar{background:#fff;background:var(--dgv-sidebar);border-right:1px solid #e2e6ec;border-right:1px solid var(--dgv-border);bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;top:0;transition:width .18s ease,transform .18s ease;transition:width var(--dgv-transition),transform var(--dgv-transition);width:248px;width:var(--dgv-sidebar-w);z-index:40}.dgv-shell.sidebar-collapsed .dgv-sidebar{width:72px;width:var(--dgv-sidebar-collapsed)}.dgv-sidebar__brand{align-items:center;border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);display:flex;gap:12px;min-height:64px;min-height:var(--dgv-navbar-h);padding:18px 18px 14px}.dgv-sidebar__logo{background:#172033;background:var(--dgv-primary);border-radius:8px;border-radius:var(--dgv-radius-sm);color:#fff;display:grid;flex-shrink:0;font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:12px;font-weight:700;height:36px;letter-spacing:-.02em;place-items:center;width:36px}[data-theme=dark] .dgv-sidebar__logo{background:#172033;background:var(--dgv-primary);color:#172033}.dgv-sidebar__title{font-size:15px;font-weight:700;overflow:hidden;white-space:nowrap}.dgv-sidebar__subtitle{color:#7b8494;color:var(--dgv-text-muted);font-size:11px;white-space:nowrap}.dgv-sidebar__nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 10px}.dgv-nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#475569;color:var(--dgv-text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;min-height:40px;padding:8px 12px;position:relative;text-align:left;transition:background .16s ease,color .16s ease;width:100%}.dgv-nav-item:hover{background:#eef0f3;background:var(--dgv-divider);color:#172033;color:var(--dgv-text)}.dgv-nav-item.is-active{font-weight:600}.dgv-nav-item.is-active,[data-theme=dark] .dgv-nav-item.is-active{background:#8b5cf61a;background:var(--dgv-accent-soft);color:#172033;color:var(--dgv-text)}.dgv-nav-item.is-active:before{background:#8b5cf6;background:var(--dgv-accent);border-radius:999px;bottom:8px;content:"";left:0;position:absolute;top:8px;width:3px}.dgv-nav-item__icon{display:grid;flex-shrink:0;height:20px;place-items:center;width:20px}.dgv-nav-item__label{overflow:hidden;white-space:nowrap}.dgv-shell.sidebar-collapsed .dgv-sidebar__brand{justify-content:center;padding-left:12px;padding-right:12px}.dgv-shell.sidebar-collapsed .dgv-nav-item{justify-content:center;padding:8px 0}.dgv-shell.sidebar-collapsed .dgv-nav-item.is-active:before{left:6px}.dgv-shell.sidebar-collapsed .dgv-nav-item__label,.dgv-shell.sidebar-collapsed .dgv-sidebar__section,.dgv-shell.sidebar-collapsed .dgv-sidebar__subtitle,.dgv-shell.sidebar-collapsed .dgv-sidebar__title{opacity:0;overflow:hidden;pointer-events:none;width:0}.dgv-sidebar__section{color:#7b8494;color:var(--dgv-text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin:12px 12px 6px;text-transform:uppercase;white-space:nowrap}.dgv-sidebar__footer{border-top:1px solid #e2e6ec;border-top:1px solid var(--dgv-border);padding:12px}.dgv-sidebar-backdrop{display:none}@media (max-width:960px){.dgv-sidebar{box-shadow:0 12px 32px #1720331f;box-shadow:var(--dgv-shadow-lg);transform:translateX(-105%);width:min(280px,86vw)!important}.dgv-shell.sidebar-mobile-open .dgv-sidebar{transform:translateX(0)}.dgv-sidebar-backdrop{background:#17203373;background:var(--dgv-overlay);display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .18s ease;transition:opacity var(--dgv-transition);z-index:35}.dgv-shell.sidebar-mobile-open .dgv-sidebar-backdrop{opacity:1;pointer-events:auto}}.dgv-navbar{align-items:center;background:#fff;background:var(--dgv-navbar);border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);display:flex;flex-shrink:0;gap:12px;height:64px;height:var(--dgv-navbar-h);padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.dgv-navbar__search{align-items:center;background:#f6f7f9;background:var(--dgv-bg);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;border-radius:var(--dgv-radius-sm);color:#7b8494;color:var(--dgv-text-muted);display:flex;flex:1 1;gap:8px;max-width:420px;min-height:40px;padding:8px 12px;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--dgv-transition),box-shadow var(--dgv-transition)}.dgv-navbar__search:focus-within{border-color:#2563eb;border-color:var(--dgv-info);box-shadow:0 0 0 3px #2563eb47;box-shadow:var(--dgv-ring)}.dgv-navbar__search input{background:#0000;border:none;color:#172033;color:var(--dgv-text);flex:1 1;font-size:14px;min-width:0;outline:none}.dgv-navbar__actions{align-items:center;display:flex;gap:8px;margin-left:auto}.dgv-icon-btn{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;border-radius:var(--dgv-radius-sm);color:#475569;color:var(--dgv-text-secondary);cursor:pointer;display:grid;height:40px;min-height:40px;min-width:40px;place-items:center;transition:background .18s ease,color .18s ease,border-color .18s ease;transition:background var(--dgv-transition),color var(--dgv-transition),border-color var(--dgv-transition);width:40px}.dgv-icon-btn:hover{background:#8b5cf61a;background:var(--dgv-accent-soft);color:#172033;color:var(--dgv-text)}.dgv-avatar{background:#172033;background:var(--dgv-primary);border:none;border-radius:8px;border-radius:var(--dgv-radius-sm);color:#fff;cursor:pointer;display:grid;font-size:12px;font-weight:600;height:36px;min-width:36px;place-items:center;width:36px}[data-theme=dark] .dgv-avatar{color:#172033}.dgv-portal-toggle{background:#f6f7f9;background:var(--dgv-bg);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;border-radius:var(--dgv-radius-sm);display:inline-flex;gap:2px;padding:3px}.dgv-portal-toggle button{background:#0000;border:none;border-radius:6px;color:#7b8494;color:var(--dgv-text-muted);cursor:pointer;font-size:12px;font-weight:600;min-height:32px;padding:6px 12px;transition:background .18s ease,color .18s ease;transition:background var(--dgv-transition),color var(--dgv-transition)}.dgv-portal-toggle button.is-active{background:#172033;background:var(--dgv-primary);color:#fff}[data-theme=dark] .dgv-portal-toggle button.is-active{color:#172033}@media (max-width:960px){.dgv-navbar{padding:0 24px}.dgv-navbar__search,.dgv-portal-toggle span.hide-sm{display:none}}@media (max-width:639px){.dgv-navbar{padding:0 16px}.dgv-avatar,.dgv-icon-btn{height:44px;min-height:44px;min-width:44px;width:44px}}.dgv-card{background:#fff;background:var(--dgv-surface);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;color:#172033;color:var(--dgv-text);padding:24px}.dgv-card,.dgv-card:hover{box-shadow:none}.dgv-card.no-hover:hover{box-shadow:none;transform:none}.dgv-folder-card .dgv-folder-card__actions{opacity:0;transition:opacity .16s ease}.dgv-folder-card:focus-within .dgv-folder-card__actions,.dgv-folder-card:hover .dgv-folder-card__actions{opacity:1}@media (hover:none){.dgv-folder-card .dgv-folder-card__actions{opacity:1}}.dgv-stat-card{background:#fff;background:var(--dgv-surface);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;color:#172033;color:var(--dgv-text);padding:20px 24px}.dgv-stat-card,.dgv-stat-card:hover{box-shadow:none}.dgv-stat-card__top{align-items:center;display:flex;gap:8px;justify-content:space-between}.dgv-stat-card__label{color:#7b8494;color:var(--dgv-text-muted);font-size:13px;font-weight:500;margin:0}.dgv-stat-card__icon{color:#7b8494;color:var(--dgv-text-muted);display:grid;flex-shrink:0;place-items:center}.dgv-stat-card__value{color:#172033;color:var(--dgv-text);font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-top:8px}.dgv-stat-card__hint{color:#475569;color:var(--dgv-text-secondary);font-size:12px;font-weight:500;margin-top:6px}.dgv-page-title{color:#172033;color:var(--dgv-text);font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}@media (max-width:639px){.dgv-page-title{font-size:26px}}.dgv-page-subtitle{color:#7b8494;color:var(--dgv-text-muted);font-size:15px;font-weight:400;margin:0 0 24px}.dgv-kpi-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(12,minmax(0,1fr));margin:8px 0 24px}.dgv-kpi-grid>*{grid-column:span 3}.dgv-kpi-grid--2>*{grid-column:span 6}.dgv-kpi-grid--3>*{grid-column:span 4}@media (max-width:1099px){.dgv-kpi-grid>*{grid-column:span 4}}@media (max-width:960px){.dgv-kpi-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.dgv-kpi-grid--2>*,.dgv-kpi-grid>*{grid-column:span 4}}@media (max-width:639px){.dgv-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dgv-kpi-grid>*{grid-column:span 4}}.dgv-breadcrumb{align-items:center;color:#7b8494;color:var(--dgv-text-muted);display:flex;font-size:12px;font-weight:500;gap:6px;margin-bottom:16px}.dgv-notify-wrap{position:relative}.dgv-notify-panel{background:#fff;background:var(--dgv-card);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;box-shadow:0 12px 32px #1720331f;box-shadow:var(--dgv-shadow-lg);max-height:400px;max-width:calc(100vw - 16px);overflow-y:auto;padding:8px;position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 16px));z-index:50}.dgv-notify-item{background:#0000;border:none;border-bottom:1px solid #eef0f3;border-bottom:1px solid var(--dgv-divider);border-left:3px solid #0000;border-radius:8px;color:#172033;color:var(--dgv-text);display:block;font-size:13px;margin-bottom:2px;padding:12px;text-align:left;width:100%}.dgv-notify-item:hover{background:#eef0f3;background:var(--dgv-divider)}.dgv-notify-item.is-unread{background:#8b5cf61a;background:var(--dgv-accent-soft)}.dgv-notify-item.is-warning{border-left-color:#b45309;border-left-color:var(--dgv-warning)}.dgv-notify-item.is-error{border-left-color:#dc2626;border-left-color:var(--dgv-danger)}.dgv-notify-item.is-unread.is-error{background:#dc26261a;background:var(--dgv-danger-bg)}.dgv-notify-item__title{font-weight:600}.dgv-notify-item.is-unread .dgv-notify-item__title{font-weight:700}.dgv-notify-item__body{color:#475569;color:var(--dgv-text-secondary);margin-top:4px;white-space:pre-wrap}.dgv-notify-item__time{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;margin-top:6px}.dgv-list-row{align-items:center;background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;cursor:pointer;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding:16px 20px;transition:background .16s ease,border-color .16s ease}.dgv-list-row:hover{background:#eef0f3;background:var(--dgv-divider);border-color:#e2e6ec;border-color:var(--dgv-border)}.dgv-task-card{background:#fff;background:var(--dgv-surface);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;margin-bottom:12px;padding:20px}.dgv-task-card.is-orange{border-color:#b4530959}.dgv-task-card.is-red{border-color:#dc262659}.dgv-task-card__title{font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:16px;font-weight:600;margin:0;overflow-wrap:anywhere}.dgv-task-card__project{color:#475569;color:var(--dgv-text-secondary);font-size:13px;line-height:1.35;margin:4px 0 0;overflow-wrap:anywhere}.dgv-task-card__project strong{color:#7b8494;color:var(--dgv-text-muted);font-weight:500;margin-right:4px}.dgv-task-card__meta{color:#475569;color:var(--dgv-text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:8px 16px;margin-top:12px}.dgv-task-card__meta strong{color:#7b8494;color:var(--dgv-text-muted);font-weight:500}.dgv-task-card__actions{margin-top:16px}@media (max-width:639px){.dgv-list-row,.dgv-task-card{align-items:flex-start;flex-direction:column}}.dgv-section-title{display:flex;font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:20px;letter-spacing:-.02em;margin:32px 0 16px}.dgv-btn,.dgv-section-title{align-items:center;font-weight:600;gap:8px}.dgv-btn{border:1px solid #0000;border-radius:8px;border-radius:var(--dgv-radius-sm);cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;min-height:40px;overflow:hidden;padding:8px 16px;position:relative;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;transition:background-color var(--dgv-transition),border-color var(--dgv-transition),color var(--dgv-transition),box-shadow var(--dgv-transition);-webkit-user-select:none;user-select:none}.dgv-btn:active:not(:disabled),.dgv-btn:hover:not(:disabled){transform:none}.dgv-btn:disabled{cursor:not-allowed;opacity:1}.dgv-btn--primary{background:#172033;background:var(--dgv-primary);box-shadow:none;color:#fff}[data-theme=dark] .dgv-btn--primary{background:#172033;background:var(--dgv-primary);color:#172033}.dgv-btn--primary:hover:not(:disabled){background:#101624;background:var(--dgv-primary-hover)}.dgv-btn--secondary{background:#fff;border-color:#e2e6ec;border-color:var(--dgv-border);color:#172033;color:var(--dgv-text)}[data-theme=dark] .dgv-btn--secondary{background:#fff;background:var(--dgv-surface)}.dgv-btn--secondary:hover:not(:disabled){background:#eef0f3;background:var(--dgv-divider)}.dgv-btn--outline{background:#fff;border-color:#e2e6ec;border-color:var(--dgv-border);color:#172033;color:var(--dgv-text)}[data-theme=dark] .dgv-btn--outline{background:#0000}.dgv-btn--outline:hover:not(:disabled){background:#8b5cf61a;background:var(--dgv-accent-soft);border-color:#475569;border-color:var(--dgv-secondary);color:#172033;color:var(--dgv-text)}.dgv-btn--danger{background:#dc2626;color:#fff}[data-theme=dark] .dgv-btn--success,[data-theme=light] .dgv-btn--success{background:#15803d;box-shadow:none;color:#fff}[data-theme=dark] .dgv-btn--danger,[data-theme=light] .dgv-btn--danger{background:#dc2626;color:#fff}.dgv-btn--ghost{background:#0000;color:#475569;color:var(--dgv-text-secondary)}.dgv-btn--ghost:hover:not(:disabled){background:#eef0f3;background:var(--dgv-divider);color:#172033;color:var(--dgv-text)}.dgv-btn__ripple{animation:dgv-ripple .55s ease-out forwards;background:#ffffff59;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}.dgv-field{margin-bottom:16px}.dgv-label{color:#172033;color:var(--dgv-text);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.dgv-input,.dgv-select,.dgv-textarea{background:#fff;border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;border-radius:var(--dgv-radius-sm);color:#172033;color:var(--dgv-text);font-size:15px;min-height:40px;padding:10px 12px;transition:border-color .18s ease,box-shadow .18s ease;transition:border-color var(--dgv-transition),box-shadow var(--dgv-transition);width:100%}[data-theme=dark] .dgv-input,[data-theme=dark] .dgv-select,[data-theme=dark] .dgv-textarea{background:#fff;background:var(--dgv-surface-solid)}.dgv-input:focus,.dgv-select:focus,.dgv-textarea:focus{border-color:#2563eb;border-color:var(--dgv-info);box-shadow:0 0 0 3px #2563eb47;box-shadow:var(--dgv-ring);outline:none}.dgv-input:disabled,.dgv-select:disabled,.dgv-textarea:disabled{background:#eef0f3;background:var(--dgv-divider);color:#a8afba;color:var(--dgv-text-disabled);cursor:not-allowed}.dgv-input:read-only:not(:disabled),.dgv-textarea:read-only:not(:disabled){background:#f6f7f9;background:var(--dgv-bg);color:#172033;color:var(--dgv-text);cursor:default}.dgv-input.is-error,.dgv-select.is-error{border-color:#dc2626;border-color:var(--dgv-danger)}.dgv-input.is-success{border-color:#15803d;border-color:var(--dgv-success)}.dgv-task-picker{position:relative}.dgv-task-picker__trigger{align-items:center;background:#fff;border:1px solid #e2e6ec;border-radius:8px;color:#172033;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:500;gap:8px;justify-content:space-between;min-height:44px;padding:0 12px;text-align:left;width:100%}.dgv-task-picker__trigger .is-placeholder{color:#7b8494}.dgv-task-picker__trigger svg{color:#475569;flex-shrink:0}.dgv-task-picker__trigger:hover{border-color:#d5dbe3}.dgv-task-picker__trigger:focus-visible{border-color:#172033;box-shadow:0 0 0 3px #17203329;outline:none}.dgv-task-picker__trigger.is-error{border-color:#dc2626;border-color:var(--dgv-danger)}[data-theme=dark] .dgv-task-picker__trigger{background:#fff;background:var(--dgv-surface);border-color:#e2e6ec;border-color:var(--dgv-border);color:#172033;color:var(--dgv-text)}[data-theme=dark] .dgv-task-picker__trigger .is-placeholder,[data-theme=dark] .dgv-task-picker__trigger svg{color:#7b8494;color:var(--dgv-text-muted)}.dgv-task-picker__panel{background:#fff;border:1px solid #e2e6ec;border-radius:12px;box-shadow:0 8px 24px #17203314;padding:16px;position:fixed;z-index:2400}[data-theme=dark] .dgv-task-picker__panel{background:#fff;background:var(--dgv-surface);border-color:#e2e6ec;border-color:var(--dgv-border)}.dgv-task-picker__heading{color:#172033;color:var(--dgv-text);font-size:13px;font-weight:600;margin:0 0 12px}.dgv-task-picker__navbtn{align-items:center;background:#0000;border:0;border-radius:8px;color:#475569;color:var(--dgv-text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.dgv-task-picker__navbtn:hover{background:#f6f7f9;color:#172033}.dgv-task-picker__navbtn:focus-visible{box-shadow:0 0 0 3px #2563eb47;box-shadow:var(--dgv-ring);outline:none}[data-theme=dark] .dgv-task-picker__navbtn:hover{background:#f6f7f9;background:var(--dgv-bg);color:#172033;color:var(--dgv-text)}.dgv-task-picker__textbtn{background:none;border:0;color:#7b8494;color:var(--dgv-text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:0}.dgv-task-picker__textbtn.is-accent{color:#8b5cf6}.dgv-task-date__nav{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.dgv-task-date__nav p{color:#172033;color:var(--dgv-text);font-size:16px;font-weight:600;margin:0}.dgv-task-date__nav>div{display:flex;gap:4px}.dgv-task-date__grid,.dgv-task-date__week{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.dgv-task-date__week span{color:#7b8494;font-size:12px;font-weight:500;padding:4px 0 8px;text-align:center}.dgv-task-date__day{background:#0000;border:0;border-radius:8px;color:#172033;cursor:pointer;font-size:14px;font-weight:500;height:34px}.dgv-task-date__day.is-outside{color:#a8afba}.dgv-task-date__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #8b5cf6}.dgv-task-date__day.is-selected{background:#172033;color:#fff}.dgv-task-date__day:hover:not(.is-selected){background:#f6f7f9}.dgv-task-date__day:focus-visible{box-shadow:0 0 0 3px #2563eb47;box-shadow:var(--dgv-ring);outline:none}[data-theme=dark] .dgv-task-date__day{color:#172033;color:var(--dgv-text)}[data-theme=dark] .dgv-task-date__day.is-outside{color:#7b8494;color:var(--dgv-text-muted)}[data-theme=dark] .dgv-task-date__day.is-selected{background:#f6f7f9;color:#172033}[data-theme=dark] .dgv-task-date__day:hover:not(.is-selected){background:#f6f7f9;background:var(--dgv-bg)}.dgv-task-date__actions{display:flex;justify-content:space-between;margin-top:12px}.dgv-task-time__cols{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr}.dgv-task-time__col{display:flex;flex-direction:column;gap:4px;max-height:148px;overflow-y:auto}.dgv-task-time__col-label{background:#fff;color:#7b8494;font-size:12px;font-weight:500;padding-bottom:4px;position:-webkit-sticky;position:sticky;text-align:center;top:0}[data-theme=dark] .dgv-task-time__col-label{background:#fff;background:var(--dgv-surface);color:#7b8494;color:var(--dgv-text-muted)}.dgv-task-time__opt{background:#0000;border:1px solid #0000;border-radius:8px;color:#172033;color:var(--dgv-text);cursor:pointer;font-size:14px;font-weight:500;min-height:32px;width:100%}.dgv-task-time__opt:hover{background:#f6f7f9}.dgv-task-time__opt.is-selected{background:#172033;color:#fff}[data-theme=dark] .dgv-task-time__opt:hover{background:#f6f7f9;background:var(--dgv-bg)}[data-theme=dark] .dgv-task-time__opt.is-selected{background:#f6f7f9;color:#172033}.dgv-task-time__footer{display:flex;justify-content:flex-end;margin-top:12px}.dgv-task-time__done{height:36px;min-width:84px}@media (prefers-reduced-motion:reduce){.dgv-task-picker__panel{box-shadow:none}}.dgv-field-hint{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;margin-top:6px}.dgv-field-error{color:#dc2626;color:var(--dgv-danger);font-size:12px;margin-top:6px}.dgv-table-wrap{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;border-radius:var(--dgv-radius);overflow-x:auto;width:100%}.dgv-table{border-collapse:collapse;min-width:640px;width:100%}.dgv-table.dgv-projects-table{min-width:0;table-layout:fixed;width:100%}.dgv-projects-table-wrap{min-width:0;width:100%}.dgv-projects-table td,.dgv-projects-table th{overflow:hidden;vertical-align:middle}.dgv-projects-table__code,.dgv-projects-table__name{text-overflow:ellipsis;white-space:nowrap}.dgv-projects-table__type{white-space:nowrap;width:8.5rem}.dgv-projects-table__created{white-space:nowrap;width:7.5rem}.dgv-projects-table__status{white-space:nowrap;width:6.75rem}.dgv-projects-table .dgv-projects-table__action{overflow:visible;white-space:nowrap;width:10.75rem}.dgv-projects-table tbody tr:has(.dgv-employees-edit-menu__dropdown){position:relative;z-index:6}@media (max-width:639px){.dgv-projects-table-wrap{overflow-x:auto}}.dgv-table.dgv-imports-table{min-width:0;table-layout:fixed;width:100%}.dgv-imports-table-wrap{min-width:0;width:100%}.dgv-imports-table td,.dgv-imports-table th{overflow:hidden;vertical-align:middle}.dgv-imports-table__clip{text-overflow:ellipsis;white-space:nowrap}.dgv-imports-table__compact{white-space:nowrap;width:5.5rem}.dgv-imports-table__status{white-space:nowrap;width:7rem}.dgv-imports-table__action{overflow:visible;white-space:nowrap;width:5.5rem}.dgv-imports-table__batch,.dgv-imports-table__by,.dgv-imports-table__file{overflow:hidden}.dgv-imports-table__when{white-space:nowrap;width:9.5rem}@media (max-width:639px){.dgv-imports-table-wrap{overflow-x:auto}}.dgv-import-summary{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 20px}.dgv-import-summary__item{min-width:0}.dgv-import-summary__label{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;font-weight:600;margin-bottom:4px}.dgv-import-summary__value{color:#172033;color:var(--dgv-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:959px){.dgv-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.dgv-table.dgv-import-rows-table{min-width:0;table-layout:fixed;width:100%}.dgv-import-rows-table__row{white-space:nowrap;width:3.75rem}.dgv-import-rows-table__mode,.dgv-import-rows-table__status{white-space:nowrap;width:6.75rem}.dgv-import-rows-table__project,.dgv-import-rows-table__task{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dgv-import-rows-table__assignment,.dgv-import-rows-table__error{font-size:13px;line-height:1.4;overflow:hidden;white-space:normal}.dgv-import-rows-table a{color:#172033;color:var(--dgv-primary);text-decoration:none}.dgv-import-rows-table a:hover{text-decoration:underline}.dgv-table thead th{background:#eef0f3;background:var(--dgv-divider);border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);color:#475569;color:var(--dgv-text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em;padding:10px 14px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.dgv-table tbody td{border-bottom:1px solid #eef0f3;border-bottom:1px solid var(--dgv-divider);color:#172033;color:var(--dgv-text);font-size:14px;padding:12px 14px}.dgv-table tbody tr{transition:background .15s ease}.dgv-employees-table{min-width:1100px}.dgv-employees-table__actions{background:#fff;background:var(--dgv-surface-solid);box-shadow:-8px 0 12px #0000002e;min-width:180px;position:-webkit-sticky;position:sticky;right:0;z-index:2}.dgv-employees-table thead th.dgv-employees-table__actions{background:#eef0f3;background:var(--dgv-divider);z-index:3}.dgv-employees-table tbody tr:has(.dgv-employees-edit-menu__dropdown){position:relative;z-index:6}.dgv-employees-table__actions:has(.dgv-employees-edit-menu__dropdown){z-index:40}.dgv-employees-table__action-btns{align-items:center;display:flex;flex-wrap:nowrap;gap:8px}.dgv-employees-edit-menu{position:relative}.dgv-employees-edit-menu__dropdown{background:#fff;background:var(--dgv-card);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:10px;box-shadow:0 12px 32px #1720331f;box-shadow:var(--dgv-shadow-lg);display:flex;flex-direction:column;gap:2px;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:50}.dgv-employees-edit-menu__dropdown button{-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:8px;color:#172033;color:var(--dgv-text);cursor:pointer;font-size:13px;font-weight:600;padding:8px 10px;text-align:left}.dgv-employees-edit-menu__dropdown button:hover{background:#8b5cf61a;background:var(--dgv-accent-soft)}.dgv-employees-edit-menu__dropdown button.is-danger{color:#dc2626;color:var(--dgv-danger)}.dgv-task-details-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr)}@media (max-width:959px){.dgv-task-details-grid{grid-template-columns:1fr}}.dgv-table tbody tr:hover{background:#eef0f3;background:var(--dgv-divider)}.dgv-table tbody tr.is-selected{background:#8b5cf61a;background:var(--dgv-accent-soft)}.dgv-status-badge{align-items:center;background:#e5e7eb;border:1px solid #d1d5db;border-radius:999px;color:#111827;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;line-height:1.2;margin-bottom:6px;margin-right:6px;padding:6px 12px;transition:background-color .25s ease,color .25s ease,border-color .25s ease,filter .25s ease,opacity .25s ease,transform .25s ease}[data-theme=dark] .dgv-status-badge:not(.is-active):not(:disabled),[data-theme=light] .dgv-status-badge:not(.is-active):not(:disabled){background:#e5e7eb;border-color:#d1d5db;color:#111827}[data-theme=dark] .dgv-status-badge:disabled,[data-theme=light] .dgv-status-badge:disabled{background:#e5e7eb!important;border-color:#d1d5db!important;color:#6b7280!important;cursor:not-allowed;filter:none;opacity:1}[data-theme=dark] .dgv-status-badge.is-active.dgv-status-badge--working,[data-theme=light] .dgv-status-badge.is-active.dgv-status-badge--working{background:#dcfce7;border-color:#22c55e;color:#14532d}[data-theme=dark] .dgv-status-badge.is-active.dgv-status-badge--holiday,[data-theme=light] .dgv-status-badge.is-active.dgv-status-badge--holiday{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}[data-theme=dark] .dgv-status-badge.is-active.dgv-status-badge--leave,[data-theme=light] .dgv-status-badge.is-active.dgv-status-badge--leave{background:#ffedd5;border-color:#f97316;color:#9a3412}[data-theme=dark] .dgv-status-badge.is-active.dgv-status-badge--weeklyoff,[data-theme=light] .dgv-status-badge.is-active.dgv-status-badge--weeklyoff{background:#f3f4f6;border-color:#6b7280;color:#1f2937}.dgv-status-badge:not(:disabled):hover{filter:brightness(1.12)}.dgv-status-badge.is-active:not(:disabled):hover{filter:brightness(1.15)}.dgv-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;transition:filter .25s ease,background-color .25s ease,color .25s ease}[data-theme=dark] .dgv-badge--success,[data-theme=light] .dgv-badge--success{background:#15803d1a;background:var(--dgv-success-bg);border-color:#0000;color:#15803d}[data-theme=dark] .dgv-badge--danger,[data-theme=light] .dgv-badge--danger{background:#dc26261a;background:var(--dgv-danger-bg);border-color:#0000;color:#dc2626}[data-theme=dark] .dgv-badge--info,[data-theme=light] .dgv-badge--info{background:#2563eb1a;background:var(--dgv-info-bg);border-color:#0000;color:#2563eb}[data-theme=dark] .dgv-badge--warning,[data-theme=light] .dgv-badge--warning{background:#b453091a;background:var(--dgv-warning-bg);border-color:#0000;color:#b45309}.dgv-badge--live{animation:none}.dgv-badge--live,[data-theme=dark] .dgv-badge--live,[data-theme=light] .dgv-badge--live{background:#dc26261a;background:var(--dgv-danger-bg);border-color:#0000;color:#dc2626}[data-theme=dark] .dgv-badge--neutral,[data-theme=light] .dgv-badge--neutral{background:#eef0f3;background:var(--dgv-divider);border-color:#0000;color:#475569;color:var(--dgv-text-secondary)}.dgv-badge:hover{filter:brightness(1.08)}.dgv-btn:disabled,button:disabled.dgv-btn{opacity:1}[data-theme=dark] .dgv-btn:disabled,[data-theme=light] .dgv-btn:disabled{background:#eef0f3!important;background:var(--dgv-divider)!important;border-color:#e2e6ec!important;border-color:var(--dgv-border)!important;box-shadow:none!important;color:#a8afba!important;color:var(--dgv-text-disabled)!important}.dgv-modal-overlay{align-items:center;animation:dgv-fade-in .2s ease;background:#17203373;background:var(--dgv-overlay);display:flex;inset:0;justify-content:center;padding:16px;pointer-events:auto;position:fixed;z-index:2000}.dgv-modal{animation:dgv-fade-up .2s ease;background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;box-shadow:0 12px 32px #1720331f;box-shadow:var(--dgv-shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:100%}.dgv-modal:focus{outline:none}.dgv-modal__header{align-items:center;border-bottom:1px solid #eef0f3;border-bottom:1px solid var(--dgv-divider);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;margin:0;padding:20px 20px 12px 24px}.dgv-modal__title{color:#172033;color:var(--dgv-text);font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:22px;font-weight:700;line-height:1.2;margin:0}.dgv-modal__close{align-items:center;background:#0000;border:0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.dgv-modal__close:hover:not(:disabled){background:#f6f7f9;color:#172033}.dgv-modal__close:focus-visible{box-shadow:0 0 0 3px #2563eb47;box-shadow:var(--dgv-ring);outline:none}.dgv-modal__close:disabled{cursor:not-allowed;opacity:.45}[data-theme=dark] .dgv-modal__close{color:#475569;color:var(--dgv-text-secondary)}[data-theme=dark] .dgv-modal__close:hover:not(:disabled){background:#f6f7f9;background:var(--dgv-bg);color:#172033;color:var(--dgv-text)}.dgv-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 24px 8px}.dgv-modal__footer{border-top:1px solid #eef0f3;border-top:1px solid var(--dgv-divider);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;margin-top:0;padding:16px 24px 24px}@media (max-width:639px){.dgv-modal-overlay{align-items:flex-start;overflow-y:auto;padding:16px}.dgv-modal{max-height:90vh;max-width:calc(100vw - 32px)!important;width:calc(100vw - 32px)}.dgv-modal__close{height:44px;width:44px}.dgv-modal__footer{flex-direction:column-reverse}.dgv-modal__footer .dgv-btn{min-height:44px;width:100%}}.dgv-project-delete-confirm{margin:0 0 16px;min-width:0}.dgv-project-delete-confirm__hint{color:#475569;color:var(--dgv-text-secondary);font-size:14px;font-weight:400;line-height:1.5;margin:0 0 8px}.dgv-project-delete-confirm__name{background:#f6f7f9;background:var(--dgv-bg);box-sizing:border-box;display:block;font-size:15px;font-weight:700;line-height:1.45;margin:0 0 8px;max-width:100%;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;white-space:pre-wrap;width:100%;word-break:break-word}.dgv-project-delete-confirm__name,.dgv-project-delete-warning{border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;border-radius:var(--dgv-radius-sm);color:#172033;color:var(--dgv-text);padding:12px 14px}.dgv-project-delete-warning{background:#dc26261a;background:var(--dgv-danger-bg);font-size:14px;font-weight:500;line-height:1.5;margin:0}.dgv-project-delete-warning p{margin:0}.dgv-project-delete-warning p+p{margin-top:8px}.dgv-project-delete-retain{color:#475569;color:var(--dgv-text-secondary);font-size:14px;line-height:1.5;margin:12px 0 0}.dgv-alert{border-radius:8px;border-radius:var(--dgv-radius-sm);font-size:14px;font-weight:600;margin-bottom:16px;padding:12px 16px}.dgv-alert--success{background:#15803d1a;background:var(--dgv-success-bg);color:#15803d;color:var(--dgv-success)}.dgv-alert--error{background:#dc26261a;background:var(--dgv-danger-bg);color:#dc2626;color:var(--dgv-danger)}.dgv-alert--info{background:#2563eb1a;background:var(--dgv-info-bg);color:#2563eb;color:var(--dgv-info)}.dgv-footer{background:#0000;border-top:1px solid #e2e6ec;border-top:1px solid var(--dgv-border);color:#7b8494;color:var(--dgv-text-muted);font-size:13px;padding:20px 24px 28px;position:relative;text-align:center;z-index:1}.dgv-footer__brand{font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-weight:700;margin-bottom:6px}.dgv-footer__brand,.dgv-work-card{color:#172033;color:var(--dgv-text)}.dgv-work-card{background:#fff;background:var(--dgv-surface);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;border-radius:var(--dgv-radius);padding:20px 24px}.dgv-work-card,.dgv-work-card:hover{box-shadow:none;box-shadow:var(--dgv-shadow)}.dgv-work-card:hover{transform:none}.dgv-work-card__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.dgv-work-card__title-row{align-items:flex-start;display:flex;gap:12px;min-width:0}.dgv-work-card__icon{background:#8b5cf61a;background:var(--dgv-accent-soft);border-radius:8px;border-radius:var(--dgv-radius-sm);color:#8b5cf6;color:var(--dgv-accent);display:grid;flex-shrink:0;height:36px;place-items:center;width:36px}.dgv-work-card__title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0}.dgv-work-card__subtitle{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;font-weight:500;margin:2px 0 0;overflow-wrap:anywhere}.dgv-work-card__status{align-items:center;display:inline-flex;flex-shrink:0;gap:6px}.dgv-work-card__pulse{animation:dgv-pulse 1.8s ease-out infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 0 0 #22c55e8c;height:8px;width:8px}.dgv-work-card__loading{color:#7b8494;color:var(--dgv-text-muted);font-size:14px;margin:0}.dgv-work-card__timer-block{margin:8px 0 18px;text-align:center}.dgv-work-card__timer{font-feature-settings:"tnum";color:#172033;color:var(--dgv-text);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--dgv-font-mono);font-size:clamp(2.4rem,6vw,3.25rem);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.04em;line-height:1.1}.dgv-work-card__timer.is-live{background:none;color:#15803d;color:var(--dgv-success)}.dgv-work-card__timer-caption{align-items:center;color:#7b8494;color:var(--dgv-text-muted);display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-top:8px}.dgv-work-card__meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.dgv-work-card__meta--two{grid-template-columns:repeat(2,minmax(0,1fr))}.dgv-work-card__meta-item{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;min-width:0;padding:10px 12px}.dgv-work-card__meta-label{color:#7b8494;color:var(--dgv-text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.dgv-work-card__meta-value{font-feature-settings:"tnum";align-items:center;color:#172033;color:var(--dgv-text);display:inline-flex;font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;gap:6px}.dgv-work-card__progress{margin-bottom:16px}.dgv-work-card__progress-track{background:#94a3b833;border-radius:999px;height:10px;overflow:hidden}.dgv-work-card__progress-fill{background:#15803d;background:var(--dgv-success);border-radius:inherit;box-shadow:none;height:100%;transition:width .18s ease;transition:width var(--dgv-transition)}.dgv-work-card__progress-fill.is-overtime{background:#b45309;background:var(--dgv-warning);box-shadow:none}.dgv-work-card__progress-labels{color:#7b8494;color:var(--dgv-text-muted);display:flex;font-size:12px;font-weight:500;gap:8px;justify-content:space-between;margin-top:8px}.dgv-work-card__actions{display:flex;flex-wrap:wrap;gap:10px}.dgv-work-card__actions .dgv-btn{flex:1 1;min-width:120px}@media (max-width:639px){.dgv-work-card{padding:18px 16px}.dgv-work-card__meta{grid-template-columns:1fr}.dgv-work-card__header{flex-direction:column}}@keyframes dgv-pulse{0%{box-shadow:0 0 0 0 #22c55e8c}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 0 0 #22c55e00}}.dgv-attendance-taker{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;padding:16px 18px 18px}.dgv-attendance-taker__head{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;margin-bottom:14px}.dgv-attendance-taker__title{color:#172033;color:var(--dgv-text);font-size:16px;font-weight:800;letter-spacing:-.02em;margin:0}.dgv-attendance-taker__meta{grid-gap:12px 16px;align-items:start;display:grid;gap:12px 16px;grid-template-columns:minmax(120px,.8fr) minmax(110px,.7fr) minmax(0,2fr);margin-bottom:14px}.dgv-attendance-taker .dgv-status-badge.is-active{position:relative;transform:translateY(-1px);z-index:1}.dgv-attendance-taker .dgv-status-badge.is-active.dgv-status-badge--working{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a,0 0 10px #22c55eb8,0 0 22px #22c55e61}.dgv-attendance-taker .dgv-status-badge.is-active.dgv-status-badge--leave{border-color:#ea580c;box-shadow:0 0 0 1px #ea580c,0 0 10px #f97316b8,0 0 22px #f9731661}.dgv-attendance-taker .dgv-status-badge.is-active.dgv-status-badge--holiday{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb,0 0 10px #3b82f6b8,0 0 22px #3b82f661}.dgv-attendance-taker .dgv-status-badge.is-active.dgv-status-badge--weeklyoff{border-color:#4b5563;box-shadow:0 0 0 1px #4b5563,0 0 10px #9ca3afb3,0 0 22px #9ca3af5c}.dgv-attendance-taker .dgv-status-badge.is-active:not(:disabled):hover{filter:none}.dgv-attendance-taker__grid{grid-gap:12px 16px;align-items:end;display:grid;gap:12px 16px;grid-template-columns:repeat(3,minmax(0,1fr))}.dgv-attendance-taker__locked{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.dgv-attendance-taker__label{color:#7b8494;color:var(--dgv-text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.dgv-attendance-taker__value{color:#172033;color:var(--dgv-text);font-size:14px;font-weight:700}.dgv-attendance-taker__field{min-width:0}.dgv-attendance-taker__field .dgv-input,.dgv-attendance-taker__field .dgv-select{width:100%}.dgv-attendance-taker__statuses{display:flex;flex-wrap:wrap;gap:0}.dgv-attendance-taker__hint{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;font-weight:500;margin:10px 0 0}.dgv-attendance-taker__actions{display:flex;justify-content:flex-end;margin-top:16px}@media (max-width:1099px){.dgv-attendance-taker__grid,.dgv-attendance-taker__locked{grid-template-columns:repeat(3,minmax(0,1fr))}.dgv-attendance-taker__meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.dgv-attendance-taker__grid,.dgv-attendance-taker__locked,.dgv-attendance-taker__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.dgv-attendance-taker__actions{justify-content:stretch}.dgv-attendance-taker__actions .dgv-btn{width:100%}}@media (max-width:639px){.dgv-attendance-taker__grid,.dgv-attendance-taker__locked,.dgv-attendance-taker__meta{grid-template-columns:1fr}}.dgv-weekly-attendance{border-top:1px solid #e2e6ec;border-top:1px solid var(--dgv-border);padding-top:28px}.dgv-weekly-attendance__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:16px}.dgv-weekly-attendance__title{color:#172033;color:var(--dgv-text);font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0}.dgv-weekly-attendance__range{color:#7b8494;color:var(--dgv-text-muted);font-size:13px;font-weight:500;margin:4px 0 0}.dgv-weekly-attendance__nav{display:flex;flex-wrap:wrap;gap:8px}.dgv-weekly-attendance__summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:16px}.dgv-weekly-attendance__chip{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.dgv-weekly-attendance__chip span{color:#7b8494;color:var(--dgv-text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dgv-weekly-attendance__chip strong{font-feature-settings:"tnum";color:#172033;color:var(--dgv-text);font-size:18px;font-variant-numeric:tabular-nums;font-weight:800}.dgv-weekly-attendance__chip.is-present strong{color:#15803d;color:var(--dgv-success)}.dgv-weekly-attendance__chip.is-absent strong{color:#7b8494;color:var(--dgv-text-muted)}.dgv-weekly-attendance__chip.is-leave strong{color:#dc2626;color:var(--dgv-danger)}.dgv-weekly-attendance__chip.is-empty strong{color:#8b5cf6;color:var(--dgv-accent)}.dgv-weekly-attendance__table tbody tr.dgv-weekly-attendance__today{background:#8b5cf61a;background:var(--dgv-accent-soft)}.dgv-weekly-attendance__today-tag{background:#8b5cf6;background:var(--dgv-accent);border-radius:999px;color:#fff;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-left:8px;padding:2px 8px;text-transform:uppercase;vertical-align:middle}.dgv-weekly-attendance__today-banner{align-items:center;background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;color:#172033;color:var(--dgv-text);display:flex;flex-wrap:wrap;font-size:14px;gap:10px 14px;margin-bottom:16px;padding:12px 14px}.dgv-weekly-attendance__today-banner.is-marked{background:color-mix(in srgb,#15803d 8%,#fff);background:color-mix(in srgb,var(--dgv-success) 8%,var(--dgv-surface-solid));border-color:color-mix(in srgb,#15803d 35%,#e2e6ec);border-color:color-mix(in srgb,var(--dgv-success) 35%,var(--dgv-border))}.dgv-weekly-attendance__today-banner strong{font-weight:800;letter-spacing:-.01em}@media (max-width:639px){.dgv-weekly-attendance__nav{width:100%}.dgv-weekly-attendance__nav .dgv-btn{flex:1 1}}.dgv-auth-shell{display:grid;min-height:100vh;overflow:hidden;padding:24px;place-items:center;position:relative}.dgv-auth-card{background:#fff;background:var(--dgv-surface);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;border-radius:var(--dgv-radius);box-shadow:none;box-shadow:var(--dgv-shadow);padding:40px 32px;position:relative;text-align:center;width:min(100%,400px);z-index:1}@keyframes dgv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dgv-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dgv-ripple{to{opacity:0;transform:scale(4)}}@keyframes dgv-gradient-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(2%,-2%,0) scale(1.05)}}@keyframes dgv-float-a{0%,to{transform:translateZ(0)}50%{transform:translate3d(40px,30px,0)}}@keyframes dgv-float-b{0%,to{transform:translateZ(0)}50%{transform:translate3d(-35px,-25px,0)}}@keyframes dgv-float-c{0%,to{transform:translateZ(0)}50%{transform:translate3d(25px,-35px,0)}}@keyframes dgv-particle-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.5}to{opacity:0;transform:translateY(-100vh)}}.dgv-profile-crumb{align-items:center;color:#7b8494;color:var(--dgv-text-muted);display:flex;font-size:13px;font-weight:600;gap:8px;margin:0 0 16px}.dgv-profile-crumb button{background:none;border:0;color:#475569;color:var(--dgv-text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:0}.dgv-profile-crumb button:hover{color:#172033;color:var(--dgv-text)}.dgv-exit-page,.dgv-profile-page{margin:0 auto;max-width:920px;width:100%}.dgv-exit-page{max-width:600px}.dgv-profile-page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.dgv-profile-page-header h1{color:#172033;color:var(--dgv-text);font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.dgv-profile-page-header p{color:#7b8494;color:var(--dgv-text-muted);font-size:14px;margin:0}.dgv-profile-page-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.dgv-profile-editing-dot{align-items:center;color:#475569;color:var(--dgv-text-secondary);display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:8px}.dgv-profile-editing-dot i{background:#2563eb;border-radius:999px;height:6px;width:6px}.dgv-profile-loading{color:#7b8494;color:var(--dgv-text-muted);margin:0}.dgv-profile-card{background:#fff;border:1px solid #e2e6ec;border-radius:14px;padding:24px}[data-theme=dark] .dgv-profile-card{background:#fff;background:var(--dgv-surface);border-color:#e2e6ec;border-color:var(--dgv-border)}.dgv-profile-block{margin-top:32px}.dgv-profile-block h2{color:#172033;color:var(--dgv-text);font-size:18px;font-weight:600;margin:0 0 4px}.dgv-profile-section-desc{color:#7b8494;color:var(--dgv-text-muted);font-size:13px;margin:0 0 16px}.dgv-profile-identity{align-items:flex-start;display:flex;gap:20px;position:relative}.dgv-profile-identity:has(.dgv-profile-identity-actions){padding-right:168px}.dgv-profile-identity-actions{position:absolute;right:24px;top:24px}.dgv-profile-avatar-wrap{flex-shrink:0}.dgv-profile-avatar{align-items:center;background:#eef0f3;border-radius:50%;color:#172033;display:flex;font-size:26px;font-weight:700;height:88px;justify-content:center;letter-spacing:-.02em;overflow:hidden;width:88px}.dgv-profile-avatar img{height:100%;object-fit:cover;width:100%}[data-theme=dark] .dgv-profile-avatar{background:#243044;color:#f6f7f9}.dgv-profile-change-photo{color:#475569;color:var(--dgv-text-secondary);cursor:pointer;display:block;font-size:13px;font-weight:600;margin:8px auto 0;text-align:center;text-decoration:underline;text-underline-offset:2px}.dgv-profile-change-photo:hover{color:#172033;color:var(--dgv-text)}.dgv-profile-change-photo input{display:none}.dgv-profile-identity__body{min-width:0}.dgv-profile-identity h2{color:#172033;color:var(--dgv-text);font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;font-family:var(--dgv-font-display);font-size:24px;font-weight:700;line-height:1.2;margin:0 0 6px}.dgv-profile-email,.dgv-profile-reports,.dgv-profile-role{color:#475569;color:var(--dgv-text-secondary);font-size:14px;font-weight:500;margin:0 0 6px}.dgv-profile-role{font-size:15px}.dgv-profile-reports{margin-bottom:0}.dgv-profile-edit{border-radius:8px;height:40px;min-width:132px}.dgv-profile-grid{grid-gap:16px 24px;display:grid;gap:16px 24px;grid-template-columns:1fr 1fr}.dgv-profile-item{min-width:0}.dgv-profile-item label{color:#7b8494;color:var(--dgv-text-muted);display:block;font-size:13px;font-weight:500;margin:0 0 4px}.dgv-profile-value{color:#172033;color:var(--dgv-text);font-size:15px;font-weight:500;word-break:break-word}.dgv-profile-item input,.dgv-profile-item select{background:#fff;border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;box-sizing:border-box;color:#172033;color:var(--dgv-text);font-size:15px;min-height:40px;padding:9px 12px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.dgv-profile-item input:focus,.dgv-profile-item select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb47;outline:none}.dgv-profile-item input:disabled,.dgv-profile-item select:disabled{background:#f6f7f9;color:#475569;cursor:not-allowed}[data-theme=dark] .dgv-profile-item input,[data-theme=dark] .dgv-profile-item select{background:#fff;background:var(--dgv-surface);color:#172033;color:var(--dgv-text)}[data-theme=dark] .dgv-profile-item input:disabled,[data-theme=dark] .dgv-profile-item select:disabled{background:#f6f7f9;background:var(--dgv-bg);color:#475569;color:var(--dgv-text-secondary)}.dgv-exit-btn{align-items:center;background:#dc2626;background:var(--dgv-danger);border:1px solid #dc2626;border:1px solid var(--dgv-danger);border-radius:8px;box-shadow:0 0 0 1px #dc26262e,0 0 22px #dc262633;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;height:40px;justify-content:center;padding:0 16px}.dgv-exit-btn:hover{filter:brightness(1.05)}.dgv-exit-panel{background:#dc26261a;background:var(--dgv-danger-bg);border:1px solid #dc2626;border:1px solid var(--dgv-danger);border-radius:14px;border-radius:var(--dgv-radius);box-shadow:0 0 0 1px #dc26262e,0 0 22px #dc262633;padding:24px}[data-theme=dark] .dgv-exit-btn{box-shadow:none}[data-theme=dark] .dgv-exit-panel{background:#fff;background:var(--dgv-surface);border-color:#e2e6ec;border-color:var(--dgv-border);box-shadow:none}.dgv-exit-panel__title{color:#dc2626;color:var(--dgv-danger)}[data-theme=dark] .dgv-exit-panel__title{color:#172033;color:var(--dgv-text)}.dgv-exit-back{align-items:center;background:none;border:0;color:#7b8494;color:var(--dgv-text-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin:0 0 12px;padding:0}.dgv-exit-back:hover{color:#172033;color:var(--dgv-text)}@media (max-width:960px){.dgv-profile-page-header{flex-direction:column}.dgv-profile-page-actions{width:100%}.dgv-profile-page-actions .dgv-btn,.dgv-profile-page-actions .dgv-exit-btn{flex:1 1}.dgv-profile-grid{grid-template-columns:1fr}.dgv-profile-identity{align-items:center;flex-direction:column;padding-right:24px;padding-top:64px;text-align:center}.dgv-profile-identity-actions{right:20px;top:20px}.dgv-profile-card{padding:20px}}.dgv-file-name,.dgv-wrap-text{overflow-wrap:anywhere;word-break:break-word}.dgv-icon-btn--compact{height:32px;min-height:32px;min-width:32px;width:32px}.dgv-table-wrap--stack{width:100%}@media (max-width:639px){.dgv-table-wrap--stack{background:#0000;border:none;overflow-x:visible}.dgv-table-wrap--stack .dgv-table{border-collapse:initial;border-spacing:0 12px;min-width:0}.dgv-table-wrap--stack thead{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.dgv-table-wrap--stack tbody,.dgv-table-wrap--stack td,.dgv-table-wrap--stack tr{display:block;width:100%}.dgv-table-wrap--stack tr{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;margin:0;padding:14px 16px}.dgv-table-wrap--stack td{align-items:flex-start;border:0;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:6px 0}.dgv-table-wrap--stack td:before{color:#7b8494;color:var(--dgv-text-muted);content:attr(data-label);flex-shrink:0;font-weight:600}.dgv-table-wrap--stack td .dgv-btn{min-height:44px}.dgv-leave-history td[data-label="Action Date"],.dgv-leave-history td[data-label="Approved / Rejected By"],.dgv-leave-history td[data-label=Submitted]{display:none}.dgv-leave-history td[data-label=Action] .dgv-btn{width:100%}}.dgv-dashboard-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.dgv-docs-toolbar{display:flex;flex-wrap:wrap;gap:8px}.dgv-zone-filter{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:8px;margin:8px 0 4px;overflow-x:auto;padding-bottom:4px}.dgv-zone-filter__chip{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:600;gap:8px;min-height:40px;padding:8px 12px;white-space:nowrap}.dgv-meeting-actions{display:flex;flex-wrap:wrap;gap:8px}.dgv-leave-choice{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dgv-leave-choice__btn{border-radius:12px;cursor:pointer;flex:1 1;min-width:220px;padding:18px 16px;text-align:left}.dgv-task-details{max-width:100%;min-width:0}.dgv-task-details__title{overflow-wrap:anywhere}.dgv-training-overlay{align-items:flex-start;background:#000000d9;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:16px;position:fixed;z-index:9999}.dgv-training-overlay__panel{display:flex;flex-direction:column;width:min(100%,1000px)}.dgv-training-overlay__close{align-items:center;align-self:flex-end;background:#0000;border:none;color:#fff;cursor:pointer;display:inline-flex;font-size:24px;height:44px;justify-content:center;margin-bottom:8px;width:44px}.dgv-training-overlay video{border-radius:8px;height:auto;max-width:100%;width:100%}@media (max-width:639px){.dgv-hide-phone{display:none!important}.dgv-btn{min-height:44px}.dgv-icon-btn--compact{height:44px;min-height:44px;min-width:44px;width:44px}.dgv-navbar{gap:8px;padding:0 12px}.dgv-navbar__actions{gap:6px}.dgv-portal-toggle button{font-size:11px;min-height:32px;padding:6px 8px}.dgv-notify-panel{left:8px;max-height:min(400px,calc(100vh - 88px));max-height:min(400px,calc(100vh - var(--dgv-navbar-h) - 24px));max-width:none;position:fixed;right:8px;top:72px;top:calc(var(--dgv-navbar-h) + 8px);width:auto}.dgv-breadcrumb{flex-wrap:wrap}.dgv-list-row{width:100%}.dgv-list-row>div:first-child{min-width:0;overflow-wrap:anywhere}.dgv-dashboard-shortcuts{flex-direction:column}.dgv-dashboard-shortcuts .dgv-btn{width:100%}.dgv-profile-email,.dgv-profile-value{overflow-wrap:anywhere}.dgv-profile-page-actions{flex-direction:column}.dgv-profile-edit,.dgv-profile-page-actions .dgv-btn,.dgv-profile-page-actions .dgv-exit-btn{min-height:44px;width:100%}.dgv-attendance-taker .dgv-status-badge{min-height:44px;padding:10px 14px}.dgv-attendance-taker__actions .dgv-btn,.dgv-work-card__actions .dgv-btn{min-height:44px;min-width:0;width:100%}.dgv-weekly-attendance__range{overflow-wrap:anywhere}.dgv-leave-choice{flex-direction:column}.dgv-leave-choice__btn{min-height:64px;min-width:0;width:100%}.dgv-exit-btn,.dgv-leave-form .dgv-btn{min-height:44px;width:100%}.dgv-docs-toolbar{width:100%}.dgv-docs-toolbar .dgv-btn{flex:1 1;min-height:44px}.dgv-zone-filter__chip{min-height:44px}.dgv-meeting-actions{flex-direction:column}.dgv-meeting-actions .dgv-btn{width:100%}.dgv-task-details--employee .dgv-btn,.dgv-task-details--employee .dgv-select,.dgv-task-details--employee input[type=file],.dgv-task-details--employee textarea{max-width:100%!important;width:100%}.dgv-task-details--employee .dgv-btn{min-height:44px}.dgv-file-name,.dgv-task-details p,.dgv-task-details__title{overflow-wrap:anywhere}.dgv-exit-back{padding:8px 0}.dgv-exit-back,.dgv-nav-item{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dgv-cost-rates-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.dgv-cost-rates-head h2{font-size:18px;margin:0}.dgv-cost-rates-tabs{display:flex;gap:8px;margin-bottom:20px}.dgv-cost-rates-tab{background:#fff;background:var(--dgv-card);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;color:#172033;color:var(--dgv-text);cursor:pointer;font-weight:600;min-height:40px;padding:8px 16px}.dgv-cost-rates-tab[aria-selected=true]{background:#172033;background:var(--dgv-primary);border-color:#172033;border-color:var(--dgv-primary);color:#fff}.dgv-cost-rates-table-wrap{width:100%}.dgv-cost-rates-table{border-collapse:collapse;width:100%}.dgv-cost-rates-table td,.dgv-cost-rates-table th{border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);padding:14px 12px;text-align:left;vertical-align:middle}.dgv-cost-rates-table th{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;letter-spacing:.02em;text-transform:uppercase}.dgv-cost-rates-actions{display:flex;flex-wrap:wrap;gap:8px}.dgv-cost-rates-note{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;margin:4px 0 0}.dgv-cost-rates-form{grid-gap:4px;display:grid;gap:4px}.dgv-cost-rates-form .dgv-cost-rates-hint{color:#475569;color:var(--dgv-text-secondary);font-size:13px;margin:-8px 0 8px}.dgv-cost-rates-picker{max-width:560px;position:relative}.dgv-cost-rates-picker__field{align-items:center;background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;display:flex}.dgv-cost-rates-picker__field:focus-within{border-color:#172033;border-color:var(--dgv-primary);box-shadow:0 0 0 3px #8b5cf61a;box-shadow:0 0 0 3px var(--dgv-accent-soft)}.dgv-cost-rates-picker__field input{background:#0000;border:0;color:#172033;color:var(--dgv-text);flex:1 1;font:inherit;min-height:44px;min-width:0;padding:10px 12px}.dgv-cost-rates-picker__field input:focus{outline:none}.dgv-cost-rates-picker__chevron{background:#0000;border:0;border-left:1px solid #e2e6ec;border-left:1px solid var(--dgv-border);color:#172033;color:var(--dgv-text);cursor:pointer;display:grid;height:44px;place-items:center;width:44px}.dgv-cost-rates-picker__list{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:10px;box-shadow:0 12px 32px #1720331f;box-shadow:var(--dgv-shadow-lg);left:0;list-style:none;margin:0;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:30}.dgv-cost-rates-picker__option{align-items:flex-start;background:#0000;border:0;border-radius:8px;color:#172033;color:var(--dgv-text);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;width:100%}.dgv-cost-rates-picker__option:hover,.dgv-cost-rates-picker__option[aria-selected=true]{background:#8b5cf61a;background:var(--dgv-accent-soft)}.dgv-cost-rates-picker__meta{color:#7b8494;color:var(--dgv-text-muted);font-size:13px}.dgv-cost-rates-identity{color:#475569;color:var(--dgv-text-secondary);margin:0 0 12px}@media (max-width:720px){.dgv-cost-rates-head{align-items:stretch;flex-direction:column}.dgv-cost-rates-table thead{display:none}.dgv-cost-rates-table,.dgv-cost-rates-table tbody,.dgv-cost-rates-table td,.dgv-cost-rates-table tr{display:block;width:100%}.dgv-cost-rates-table tr{border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);padding:8px 0 12px}.dgv-cost-rates-table td{border:0;padding:6px 0}.dgv-cost-rates-table td:before{color:#7b8494;color:var(--dgv-text-muted);content:attr(data-label);display:block;font-size:12px;font-weight:700;margin-bottom:4px}}.dgv-costing-tasks{background:#f6f7f9;background:var(--dgv-bg);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;margin-top:4px;max-width:100%;padding:8px}.dgv-costing-tasks__scroll{max-width:100%;overflow-x:auto;overflow-y:clip}.dgv-costing-tasks__grid{background:#fff;background:var(--dgv-surface-solid);border-collapse:initial;border-radius:8px;border-spacing:0;min-width:960px;width:100%}.dgv-costing-tasks__grid td,.dgv-costing-tasks__grid th{border-bottom:1px solid #eef0f3;border-bottom:1px solid var(--dgv-divider);font-size:14px;line-height:1.45;padding:12px 14px;text-align:left;vertical-align:top;white-space:nowrap}.dgv-costing-tasks__grid th{background:#f6f7f9;background:var(--dgv-bg);color:#475569;color:var(--dgv-text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em}.dgv-costing-tasks__grid tbody tr:last-child td{border-bottom:0}.dgv-costing-tasks__grid td.dgv-costing-tasks__num,.dgv-costing-tasks__grid th.dgv-costing-tasks__num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.dgv-costing-tasks__grid td.dgv-costing-tasks__wrap{max-width:18rem;min-width:10rem;overflow-wrap:anywhere;white-space:normal;width:16rem}.dgv-costing-tasks__meta{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;line-height:1.4;margin-top:2px;overflow-wrap:anywhere;white-space:normal}.dgv-costing-tasks__grid--projects{min-width:420px}.dgv-costing-note{color:#7b8494;color:var(--dgv-text-muted);line-height:1.6;margin:0 0 20px;max-width:68ch}.dgv-costing-note__aside{display:block;font-size:13px;margin-top:4px}.dgv-costing-filters{align-items:flex-end;background:#f6f7f9;background:var(--dgv-bg);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px 16px;margin-bottom:20px;padding:12px 14px}.dgv-costing-filters label{flex:1 1 180px;max-width:240px;min-width:min(100%,180px)}.dgv-costing-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:20px}.dgv-costing-metrics__card{background:#f6f7f9;background:var(--dgv-bg);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:10px;padding:12px}.dgv-my-tasks__crumb{color:#7b8494;color:var(--dgv-text-muted);display:flex;font-size:13px;gap:8px;margin:0 0 8px}.dgv-my-tasks__crumb a{color:#475569;color:var(--dgv-text-secondary);text-decoration:none}.dgv-my-tasks__heading{align-items:flex-start;display:flex;gap:16px 24px;justify-content:space-between;margin-bottom:18px}.dgv-my-tasks__title{font-size:32px;line-height:1.15;margin:0}.dgv-my-tasks__subtitle{color:#7b8494;color:var(--dgv-text-muted);margin:6px 0 0}.dgv-my-tasks__range{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:520px}.dgv-my-tasks__range label,.dgv-my-tasks__range-label{color:#7b8494;color:var(--dgv-text-muted);font-size:13px}.dgv-my-tasks__range-label{color:#172033;color:var(--dgv-text);font-weight:650;margin:0}.dgv-my-tasks__range input,.dgv-my-tasks__range select{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:10px;color:#172033;color:var(--dgv-text);min-height:40px;padding:8px 12px}.dgv-my-tasks__range button{background:#0000;border:0;border-radius:999px;color:#8b5cf6;color:var(--dgv-accent);cursor:pointer;min-height:36px;padding:0 12px}.dgv-my-tasks__stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.dgv-my-tasks__stat{align-items:center;background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;display:flex;gap:12px;min-height:84px;padding:14px 16px}.dgv-my-tasks__stat strong{display:block;font-size:28px;line-height:1}.dgv-my-tasks__stat span{color:#7b8494;color:var(--dgv-text-muted);font-size:13px}.dgv-my-tasks__stat-icon{align-items:center;background:#8b5cf61a;background:var(--dgv-accent-soft);border-radius:10px;color:#8b5cf6;color:var(--dgv-accent);display:inline-flex;height:36px;justify-content:center;width:36px}.dgv-my-tasks__stat.is-info .dgv-my-tasks__stat-icon{background:#2563eb1a;background:var(--dgv-info-bg);color:#2563eb;color:var(--dgv-info)}.dgv-my-tasks__stat.is-warning .dgv-my-tasks__stat-icon{background:#b453091a;background:var(--dgv-warning-bg);color:#b45309;color:var(--dgv-warning)}.dgv-my-tasks__stat.is-success .dgv-my-tasks__stat-icon{background:#15803d1a;background:var(--dgv-success-bg);color:#15803d;color:var(--dgv-success)}.dgv-my-tasks__tabs{border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);display:flex;gap:8px;margin-bottom:14px}.dgv-my-tasks__tabs button{align-items:flex-start;background:#0000;border:0;border-bottom:2px solid #0000;color:#475569;color:var(--dgv-text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}.dgv-my-tasks__tabs button[aria-selected=true]{border-bottom-color:#8b5cf6;border-bottom-color:var(--dgv-accent);color:#172033;color:var(--dgv-text);font-weight:700}.dgv-my-tasks__tabs small{color:#7b8494;color:var(--dgv-text-muted);font-size:11px;font-weight:500}.dgv-my-tasks__filters{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(140px,1fr));margin-bottom:10px}.dgv-my-tasks__filters input,.dgv-my-tasks__filters select{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:10px;color:#172033;color:var(--dgv-text);min-height:40px;padding:8px 12px;width:100%}.dgv-my-tasks__filter-bar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.dgv-my-tasks__chips{display:flex;flex-wrap:wrap;gap:8px}.dgv-my-tasks__chips button,.dgv-my-tasks__clear{background:#8b5cf61a;background:var(--dgv-accent-soft);border:0;border-radius:999px;color:#8b5cf6;color:var(--dgv-accent);cursor:pointer;padding:6px 10px}.dgv-my-tasks__clear{background:#0000;color:#475569;color:var(--dgv-text-secondary)}.dgv-my-tasks__legend{align-items:center;color:#7b8494;color:var(--dgv-text-muted);display:flex;font-size:12px;gap:8px;margin:0;white-space:nowrap}.dgv-my-tasks__legend i{border-radius:99px;display:inline-block;height:8px;width:8px}.dgv-my-tasks__legend i.is-green{background:#15803d;background:var(--dgv-success)}.dgv-my-tasks__legend i.is-orange{background:#b45309;background:var(--dgv-warning)}.dgv-my-tasks__legend i.is-red{background:#dc2626;background:var(--dgv-danger)}.dgv-my-tasks__table-wrap{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:14px;overflow-x:auto}.dgv-my-tasks__table{border-collapse:collapse;width:100%}.dgv-my-tasks__table th{color:#7b8494;color:var(--dgv-text-muted);font-size:12px;padding:12px 14px;text-align:left}.dgv-my-tasks__table td,.dgv-my-tasks__table th{border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border)}.dgv-my-tasks__table td{padding:14px;vertical-align:middle}.dgv-my-tasks__table tr.is-rail-red td:first-child{box-shadow:inset 3px 0 0 #dc2626;box-shadow:inset 3px 0 0 var(--dgv-danger)}.dgv-my-tasks__table tr.is-rail-orange td:first-child{box-shadow:inset 3px 0 0 #b45309;box-shadow:inset 3px 0 0 var(--dgv-warning)}.dgv-my-tasks__table tr.is-rail-green td:first-child{box-shadow:inset 3px 0 0 #15803d;box-shadow:inset 3px 0 0 var(--dgv-success)}.dgv-my-tasks__table a{color:#172033;color:var(--dgv-text);font-weight:700;text-decoration:none}.dgv-my-tasks__quiet,.dgv-my-tasks__table small{color:#7b8494;color:var(--dgv-text-muted);display:block;font-size:12px;margin-top:4px}.dgv-my-tasks__due,.dgv-my-tasks__status{border-radius:10px;display:inline-flex;flex-direction:column;font-size:13px;font-weight:650;gap:2px;padding:6px 10px}.dgv-my-tasks__due em{font-size:11px;font-style:normal;font-weight:600}.dgv-my-tasks__due.is-red{background:#dc26261a;background:var(--dgv-danger-bg);color:#dc2626;color:var(--dgv-danger)}.dgv-my-tasks__due.is-orange{background:#b453091a;background:var(--dgv-warning-bg);color:#b45309;color:var(--dgv-warning)}.dgv-my-tasks__due.is-green{background:#15803d1a;background:var(--dgv-success-bg);color:#15803d;color:var(--dgv-success)}.dgv-my-tasks__due.is-done,.dgv-my-tasks__due.is-none,.dgv-my-tasks__due.is-unzoned{background:#f6f7f9;background:var(--dgv-bg);color:#475569;color:var(--dgv-text-secondary)}.dgv-my-tasks__status.is-todo{background:#2563eb1a;background:var(--dgv-info-bg);color:#2563eb;color:var(--dgv-info)}.dgv-my-tasks__status.is-in_progress{background:#8b5cf61a;background:var(--dgv-accent-soft);color:#8b5cf6;color:var(--dgv-accent)}.dgv-my-tasks__status.is-review{background:#b453091a;background:var(--dgv-warning-bg);color:#b45309;color:var(--dgv-warning)}.dgv-my-tasks__status.is-done{background:#15803d1a;background:var(--dgv-success-bg);color:#15803d;color:var(--dgv-success)}.dgv-my-tasks__status.is-cancelled{background:#f6f7f9;background:var(--dgv-bg);color:#7b8494;color:var(--dgv-text-muted)}.dgv-my-tasks__alert{background:#dc26261a;background:var(--dgv-danger-bg);border-radius:10px;color:#dc2626;color:var(--dgv-danger);padding:10px 12px}.dgv-my-tasks__empty,.dgv-my-tasks__pager{color:#7b8494;color:var(--dgv-text-muted)}.dgv-my-tasks__pager{align-items:center;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-top:12px}.dgv-my-tasks__pager div{align-items:center;display:flex;gap:8px}.dgv-my-tasks__pager button{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:8px;color:#172033;color:var(--dgv-text);min-height:36px;padding:0 12px}@media (max-width:960px){.dgv-my-tasks__filters,.dgv-my-tasks__stats{grid-template-columns:1fr 1fr}.dgv-my-tasks__filter-bar{align-items:flex-start;flex-direction:column}.dgv-my-tasks__legend{white-space:normal}}@media (max-width:639px){.dgv-my-tasks__heading{flex-direction:column}.dgv-my-tasks__range{justify-content:stretch;max-width:none;width:100%}.dgv-my-tasks__range input,.dgv-my-tasks__range select{width:100%}.dgv-my-tasks__filters,.dgv-my-tasks__stats,.dgv-my-tasks__tabs{display:grid;grid-template-columns:1fr}.dgv-my-tasks__table thead{display:none}.dgv-my-tasks__table tr{border-bottom:1px solid #e2e6ec;border-bottom:1px solid var(--dgv-border);display:block;padding:8px 0}.dgv-my-tasks__table td{border:0;display:flex;gap:12px;justify-content:space-between;padding:6px 14px}.dgv-my-tasks__table td:before{color:#7b8494;color:var(--dgv-text-muted);content:attr(data-label);font-size:12px}}.dgv-costing-metrics__label{color:#7b8494;color:var(--dgv-text-muted);font-size:12px}.dgv-costing-metrics__value{font-size:18px;font-weight:700;line-height:1.3;margin-top:4px}.dgv-home__header{align-items:flex-start;display:flex;gap:16px 24px;justify-content:space-between;margin-bottom:20px}.dgv-home__header h1{font-size:30px;line-height:1.15;margin:0}.dgv-home__header p{color:#7b8494;color:var(--dgv-text-muted);font-size:14px;margin:6px 0 0}.dgv-home__dates{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dgv-home__dates span,.dgv-home__dates strong{align-items:center;background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:12px;color:#475569;color:var(--dgv-text-secondary);display:inline-flex;font-size:12px;font-weight:600;min-height:36px;padding:6px 12px;white-space:nowrap}.dgv-home__stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.dgv-home__panel,.dgv-home__stats button{background:#fff;background:var(--dgv-surface-solid);border:1px solid #e2e6ec;border:1px solid var(--dgv-border);border-radius:16px}.dgv-home__stats button{grid-gap:12px;align-items:center;color:#172033;color:var(--dgv-text);cursor:pointer;display:grid;gap:12px;grid-template-columns:40px minmax(0,1fr) 16px;min-height:108px;padding:16px 18px;text-align:left;width:100%}.dgv-home__stats em,.dgv-home__stats small{color:#7b8494;color:var(--dgv-text-muted);display:block;font-style:normal}.dgv-home__stats small{font-size:13px;font-weight:650;line-height:1.3}.dgv-home__stats strong{display:block;font-size:28px;line-height:1.1;margin:2px 0}.dgv-home__stats strong span{font-size:16px;font-weight:650}.dgv-home__stats em{font-size:12px;line-height:1.3}.dgv-home__icon{align-items:center;background:#8b5cf61a;background:var(--dgv-accent-soft);border-radius:10px;color:#8b5cf6;color:var(--dgv-accent);display:inline-flex;height:40px;justify-content:center;width:40px}.dgv-home__icon svg{height:18px;width:18px}.dgv-home__stats button>svg{color:#7b8494;color:var(--dgv-text-muted)}.dgv-home__panels{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.dgv-home__panel{display:flex;flex-direction:column;min-height:148px;padding:18px 20px 20px}.dgv-home__panel header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.dgv-home__panel h2{align-items:center;display:inline-flex;font-size:16px;gap:8px;margin:0}.dgv-home__panel h2 svg,.dgv-home__panel-icon{color:#8b5cf6;color:var(--dgv-accent)}.dgv-home__panel-icon{align-items:center;background:#8b5cf61a;background:var(--dgv-accent-soft);border-radius:10px;display:inline-flex;height:32px;justify-content:center;width:32px}.dgv-home__panel header p{color:#7b8494;color:var(--dgv-text-muted);font-size:13px;font-weight:500;line-height:1.3;margin:0 0 0 auto;text-align:right;white-space:nowrap}.dgv-home__panel--attendance header{border-bottom:1px solid #eef0f3;border-bottom:1px solid var(--dgv-divider);margin-bottom:0;padding-bottom:14px}.dgv-home__panel--attendance>p{margin-top:16px}.dgv-home__panel dd,.dgv-home__panel p{color:#475569;color:var(--dgv-text-secondary);font-size:13px;margin:0}.dgv-home__attendance{align-items:stretch;display:flex;flex:1 1;gap:8px;margin-top:16px;min-height:96px}.dgv-home__status{align-items:center;background:#f6f7f9;background:var(--dgv-bg);border-radius:14px;color:#475569;color:var(--dgv-text-secondary);display:flex;flex:1.15 1;gap:14px;min-height:84px;min-width:0;padding:16px 18px}.dgv-home__status-icon{align-items:center;background:#fff;background:var(--dgv-surface-solid);border-radius:12px;color:inherit;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;width:40px}.dgv-home__status-icon svg{height:20px;width:20px}.dgv-home__status strong{font-size:18px;font-weight:700;line-height:1.2}.dgv-home__attendance-rule{align-self:stretch;background:#eef0f3;background:var(--dgv-divider);flex:0 0 auto;margin:10px;width:1px}.dgv-home__checkin{align-items:flex-start;border:0;display:flex;flex:0.85 1;flex-direction:column;gap:4px;justify-content:center;margin:0;min-width:0;padding:8px 8px 8px 12px}.dgv-home__checkin span{color:#7b8494;color:var(--dgv-text-muted);font-size:13px;font-weight:500;line-height:1.2}.dgv-home__checkin b{color:#172033;color:var(--dgv-text);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.dgv-home__attendance.is-ontime .dgv-home__status{background:#15803d1a;background:var(--dgv-success-bg);color:#15803d;color:var(--dgv-success)}.dgv-home__attendance.is-late .dgv-home__status{background:#dc26261a;background:var(--dgv-danger-bg);color:#dc2626;color:var(--dgv-danger)}.dgv-home__panel dl{margin:0}.dgv-home__panel dl div{border-top:1px solid #e2e6ec;border-top:1px solid var(--dgv-border);display:flex;gap:16px;justify-content:space-between;padding:12px 0}.dgv-home__panel dt{color:#7b8494;color:var(--dgv-text-muted);font-size:13px}.dgv-home__panel dd{text-align:right}.dgv-home__alert{color:#dc2626;color:var(--dgv-danger);margin:0 0 12px}@media (max-width:960px){.dgv-home__header,.dgv-home__panels,.dgv-home__stats{display:grid;grid-template-columns:1fr}.dgv-home__dates{justify-content:flex-start}.dgv-home__dates span,.dgv-home__dates strong,.dgv-home__panel header p{white-space:normal}}@media (max-width:639px){.dgv-home__attendance{align-items:stretch;flex-direction:column;gap:12px}.dgv-home__attendance-rule{height:1px;margin:0;width:100%}.dgv-home__checkin{padding:4px 2px 0}}
/*# sourceMappingURL=main.f08f37f9.css.map*/