:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}button,input,select,textarea{font:inherit}.auth-layout{isolation:isolate;width:100%;min-height:100vh;display:block}.auth-layout .app,.auth-layout .app--shell,.auth-layout .sidebar,.auth-layout .main,.auth-layout .topbar{display:none!important}.auth-page{box-sizing:border-box;background:linear-gradient(135deg,#0f2f3d 0%,#071827 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.auth-page--loading{color:#e5e7eb;font-size:15px}[data-theme=light] .auth-page{background:linear-gradient(135deg,#e0f2f1 0%,#f1f5f9 100%)}[data-theme=light] .auth-page--loading{color:#334155}.auth-card{background:var(--card-bg,#fff);width:100%;max-width:430px;box-shadow:var(--shadow,0 20px 50px #00000040);box-sizing:border-box;color:var(--text,#111827);border-radius:18px;padding:32px;display:block}.auth-header{text-align:center;margin-bottom:28px;display:block}.auth-logo{color:#fff;background:#123b4c;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 14px;font-size:26px;font-weight:700;display:flex}.auth-logo-image{object-fit:contain;width:60px;height:60px}.auth-header h1{color:var(--text,#111827);margin:0;font-size:26px;font-weight:700;display:block}.auth-header p{color:var(--muted,#6b7280);margin:8px 0 0;font-size:14px;display:block}.auth-form{width:100%;display:block}.auth-form h2{color:var(--text,#111827);margin:0;font-size:24px;font-weight:700;display:block}.auth-subtitle{color:var(--muted,#6b7280);margin:8px 0 24px;font-size:14px;line-height:1.5;display:block}.auth-form .form-group{width:100%;margin-bottom:18px;display:block}.auth-form .form-group label{width:100%;color:var(--text,#374151);margin-bottom:7px;font-size:14px;font-weight:600;display:block}.auth-form .form-group input{border:1px solid var(--border,#d1d5db);box-sizing:border-box;background:var(--input-bg,#fff);width:100%;height:44px;color:var(--text,#111827);border-radius:10px;outline:none;padding:0 14px;font-size:15px;display:block}.auth-form .form-group input:focus{border-color:var(--primary,#0f766e);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary,#0f766e) 15%, transparent)}.auth-form .password-wrapper{width:100%;display:block;position:relative}.auth-form .password-wrapper input{width:100%;padding-right:48px;display:block}.auth-form .password-toggle{cursor:pointer;color:var(--icon-muted,#6b7280);background:0 0;border:0;justify-content:center;align-items:center;padding:4px 8px;line-height:1;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-form .password-toggle:hover:not(:disabled){color:var(--text,#374151)}.auth-form .password-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-form .password-toggle svg{width:18px;height:18px}.auth-form .login-button{background:var(--primary,#0f766e);color:#fff;cursor:pointer;box-sizing:border-box;border:0;border-radius:10px;width:100%;height:46px;margin-top:8px;font-size:16px;font-weight:700;display:block}.auth-form .login-button:hover:not(:disabled){background:var(--primary-hover,#115e59)}.auth-form .login-button:disabled{opacity:.65;cursor:not-allowed}.auth-form .forgot-row{text-align:center;width:100%;margin-top:16px;display:block}.auth-form .forgot-row button,.auth-form .forgot-row a{color:var(--primary,#0f766e);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:inline}.auth-form .forgot-row button:hover,.auth-form .forgot-row a:hover{color:var(--primary-hover,#115e59);text-decoration:underline}.auth-footer{text-align:center;color:var(--muted,#6b7280);margin-top:28px;font-size:13px;display:block}.auth-form .auth-back-link{text-align:center;width:100%;color:var(--primary,#0f766e);cursor:pointer;background:0 0;border:none;margin-top:16px;padding:0;font-family:inherit;font-size:14px;font-weight:600;display:block}.auth-form .auth-back-link:hover{color:var(--primary-hover,#115e59);text-decoration:underline}.auth-alert{box-sizing:border-box;border-radius:10px;width:100%;margin-bottom:16px;padding:10px 12px;font-size:14px;display:block}.auth-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.auth-alert--ok{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}@media (width<=480px){.auth-card{padding:24px}.auth-header h1{font-size:22px}}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--card-bg:#111827;--panel:#111827;--panel-2:#1f2937;--text:#f8fafc;--muted:#a8b3c7;--line:#334155;--border:#334155;--input-bg:#1f2937;--icon-muted:#94a3b8;--primary:#14b8a6;--primary-2:#22d3ee;--ok:#22c55e;--nav-active:#22c55e;--danger:#fb7185;--danger-hover:#e11d48;--primary-hover:#0f766e;--button-bg:#1f2937;--button-hover-bg:#334155;--button-text:#f8fafc;--table-row-hover:#1f2937;--shadow:0 20px 60px #00000059;--radius:14px;--radius-sm:10px;--font:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sidebar-bg:#fffffff2;--bg:#f4f7fb;--card-bg:#fff;--panel:#fff;--panel-2:#f8fafc;--text:#111827;--muted:#64748b;--line:#d9e2ec;--border:#d9e2ec;--input-bg:#fff;--icon-muted:#64748b;--primary:#0f766e;--primary-2:#0891b2;--ok:#16a34a;--nav-active:#16a34a;--danger:#dc2626;--danger-hover:#b91c1c;--primary-hover:#115e59;--button-bg:#fff;--button-hover-bg:#f1f5f9;--button-text:#111827;--table-row-hover:#f8fafc;--shadow:0 12px 40px #0f172a14}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);margin:0}[data-theme=dark] body{background:radial-gradient(1200px 900px at 10% 0%, #22d3ee2e, transparent 55%), radial-gradient(900px 700px at 100% 0%, #5eead42e, transparent 60%), radial-gradient(900px 700px at 60% 120%, #a78bfa24, transparent 60%), var(--bg)}[data-theme=light] body{background:radial-gradient(1200px 900px at 10% 0%, #0d948814, transparent 55%), radial-gradient(900px 700px at 100% 0%, #0891b20f, transparent 60%), var(--bg)}.app{grid-template-rows:auto 1fr auto;min-height:100%;display:grid}.app--shell{grid-template-rows:none;grid-template-columns:var(--sidebar-width,200px) minmax(0, 1fr);align-items:stretch;transition:grid-template-columns .2s}.app--shell.app--sidebar-collapsed{--sidebar-width:68px}.sidebar{height:100vh;width:var(--sidebar-width,200px);min-width:var(--sidebar-width,200px);border-right:1px solid var(--line);background:var(--sidebar-bg,#0b1220d1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;padding:12px 10px;transition:width .2s,min-width .2s;display:flex;position:sticky;top:0;overflow-x:hidden}.sidebar__brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:12px;padding:8px 8px 14px;display:flex;position:relative}.sidebar__brand-text{flex:1;min-width:0;transition:opacity .15s,width .2s;overflow:hidden}.sidebar__toggle{border:1px solid var(--line);background:var(--panel-2);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar__toggle:hover{color:var(--text);background:var(--panel)}.sidebar__toggle svg{width:18px;height:18px}.sidebar__toggle--mobile,.sidebar-overlay{display:none}.sidebar__logo{color:#0b1220f2;background:linear-gradient(135deg, var(--primary), var(--primary-2));border-radius:12px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.sidebar_logo_image{object-fit:contain;width:60px;height:60px}.sidebar__title{letter-spacing:.2px;font-weight:800;line-height:1.05}.sidebar__subtitle{color:var(--muted);margin-top:2px;font-size:12px}.sidebar__nav{gap:6px;padding:6px 4px;display:grid}.snav__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.snav__icon svg{width:18px;height:18px}.snav__label,.sidebar-menu-label,.ellipsis{min-width:0;max-width:calc(var(--sidebar-width,200px) - 56px);white-space:nowrap;text-overflow:ellipsis;flex:1;display:block;overflow:hidden}.snav,.sidebar-menu-item{min-width:0}.snav__label{transition:opacity .15s,width .2s}.sidebar__user-name,.sidebar__user-role{max-width:100%;display:block}.sidebar__footer-text{max-width:100%;color:var(--muted);font-size:12px;display:block}.main__topbar{display:none}.sidebar__tools{padding:4px 8px 8px}.theme-toggle{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;line-height:1;display:flex}.theme-toggle:hover{background:var(--button-hover-bg);border-color:var(--border)}.theme-toggle--sidebar{gap:6px;width:100%;height:36px;font-size:13px}.snav{appearance:none;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.snav:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--line);color:var(--text)}.snav:disabled{opacity:.55;cursor:not-allowed}.snav__dot{background:var(--muted);border-radius:999px;width:8px;height:8px}.snav--active{border-color:color-mix(in srgb, var(--nav-active) 45%, var(--line));background:color-mix(in srgb, var(--nav-active) 16%, var(--panel-2));color:var(--text)}.snav--active:hover:not(:disabled){background:color-mix(in srgb, var(--nav-active) 22%, var(--button-hover-bg));border-color:color-mix(in srgb, var(--nav-active) 50%, var(--line))}.snav-group__items{gap:4px;margin-top:4px;padding-left:10px;display:grid}.snav--sub{padding:8px 10px;font-size:13px}.snav--icon-only{justify-content:center;padding:10px}.snav-group__items--collapsed{gap:4px;padding-left:0}.sidebar--collapsed .sidebar__brand-text,.sidebar--collapsed .snav__label,.sidebar--collapsed .sidebar__user-text,.sidebar--collapsed .sidebar__footer{opacity:0;pointer-events:none;width:0;overflow:hidden}.sidebar--collapsed .sidebar__brand{flex-direction:column;align-items:center;gap:8px}.sidebar--collapsed .sidebar__toggle--desktop{margin:0}.sidebar--collapsed .snav{justify-content:center;padding:10px 8px}.sidebar--collapsed .snav-group__items--collapsed .snav{padding:8px}.sidebar--collapsed .sidebar__signout{display:none}.sidebar--collapsed .sidebar__signout-icon{display:flex}.sidebar--collapsed .sidebar__tools .theme-toggle--sidebar{width:36px;padding:0;font-size:0}.sidebar--collapsed .sidebar__tools .theme-toggle--sidebar:after{content:attr(data-icon);font-size:16px}.sidebar__signout-icon{width:100%;display:none}.sidebar__user{border-top:1px solid var(--line);margin-top:8px;padding:10px 12px}.sidebar__user-text{transition:opacity .15s}.sidebar__signout{margin-top:8px}.sidebar__user-name{font-size:13px;font-weight:600}.ui-field{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.ui-field__label{color:var(--text);font-size:13px;font-weight:600}.ui-field__input{width:100%;height:44px;color:var(--text);background:var(--input-bg);border:1px solid var(--line);box-sizing:border-box;border-radius:10px;outline:none;padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s;display:block}.ui-field__input:focus{border-color:#5eead466;box-shadow:0 0 0 3px #22d3ee1f}.ui-field__password{width:100%;display:block;position:relative}.ui-field__password .ui-field__input{padding-right:44px}.ui-field__eye{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ui-field__eye:hover{color:var(--text);background:#ffffff0f}.password-input{width:100%;display:block;position:relative}.password-input input{box-sizing:border-box;width:100%;padding-right:44px}.field .password-input input{min-height:44px}.password-input__toggle{width:32px;height:32px;color:var(--icon-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-input__toggle:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.password-input__toggle:disabled{opacity:.5;cursor:not-allowed}.ui-field__hint{color:var(--muted);font-size:12px;line-height:1.4}.ui-alert{border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;line-height:1.45}.ui-alert--error{color:#fecdd3;background:#fb71851f;border:1px solid #fb718559}.ui-alert--ok{color:#bbf7d0;background:#22c55e1f;border:1px solid #22c55e59}.btn--block{text-align:center;box-sizing:border-box;width:100%;display:block}.ui-btn-tall{min-height:44px;font-size:15px;font-weight:600}.field__error,.ui-field__error{color:#fecdd3;margin-top:4px;font-size:12px}.field__hint{margin-top:4px;font-size:12px}.alert--error{color:#fecdd3;background:#fb718526;border:1px solid #fb718566;border-radius:10px;margin-bottom:12px;padding:10px 12px}.perm-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.perm-item{align-items:flex-start;gap:8px;font-size:13px;display:flex}.split{grid-template-columns:1fr 1.2fr;align-items:start;gap:14px;display:grid}@media (width<=1100px){.split{grid-template-columns:1fr}}.split__left,.split__right{min-width:0}.table--criteria .table__head,.table--criteria .table__row{grid-template-columns:1fr 1.4fr 140px 110px}.table--ratings .table__head,.table--ratings .table__row{grid-template-columns:minmax(240px,1fr) 180px 1fr 1fr 1fr}.sidebar__spacer{flex:1}.sidebar__footer{color:var(--muted);border-top:1px solid #ffffff14;padding:10px 8px 4px;font-size:12px}.main{min-width:0;overflow-x:hidden}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#0b1220b8;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex;position:sticky;top:0}.brand__title{letter-spacing:.2px;font-weight:700}.brand__subtitle{color:var(--muted);margin-top:4px;font-size:12px}.tabs{gap:8px;display:flex}.tab{appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:10px 14px}.tab--active{background:linear-gradient(135deg,#5eead429,#22d3ee14);border-color:#5eead473}.content{width:100%;min-width:0;max-width:100%;margin:0;padding:22px;overflow-x:hidden}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.pagehead__title{margin:0;font-size:20px;font-weight:700}.pagehead__meta{margin-top:4px;font-size:13px}.pagehead__title{margin:0;font-size:18px}.pagehead__meta{margin-top:4px}.pagehead__cta{align-items:center;gap:10px;display:flex}.toolbar,.filter-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.toolbar__left,.toolbar__right{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.toolbar__left{flex:1;min-width:0}.searchWrap{flex:200px;min-width:0;max-width:100%}.field--inline .field__label{margin-bottom:6px}.footer{color:var(--muted);border-top:1px solid var(--line);padding:18px 22px;font-size:12px}.card{background:var(--card-bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);color:var(--text);padding:16px}.card--sub{background:var(--panel-2);box-shadow:none}h2,h3{margin:0 0 12px}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row--space{justify-content:space-between}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=900px){.grid,.grid--2,.grid--3{grid-template-columns:1fr}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field input,.field select,.field textarea,.field .ui-field__input,.searchable-select__search,.searchable-select select{border:1px solid var(--line);background:var(--input-bg);width:100%;min-height:44px;color:var(--text);box-sizing:border-box;border-radius:10px;outline:none;padding:10px 12px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus,.searchable-select__search:focus,.searchable-select select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent)}.field textarea{resize:vertical}.field__label{color:var(--muted);margin-bottom:6px;font-size:12px}.field--actions{align-items:end;display:flex}.btn{appearance:none;border:1px solid var(--line);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:12px;padding:10px 12px;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){border-color:var(--border);background:var(--button-hover-bg);color:var(--button-text)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{border-color:var(--primary);background:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}[data-theme=dark] .btn--primary,[data-theme=dark] .btn--primary:hover:not(:disabled){color:#0f172a}.btn--danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:color-mix(in srgb, var(--danger) 12%, var(--button-bg));color:var(--danger)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 16%, var(--button-hover-bg));border-color:var(--danger-hover);color:var(--danger-hover)}.search,input[type=search]:not(.searchable-select__search){border:1px solid var(--line);background:var(--input-bg);width:100%;min-height:44px;color:var(--text);box-sizing:border-box;border-radius:10px;padding:10px 12px;font-size:14px}.search:focus,input[type=search]:not(.searchable-select__search):focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.checkbox{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.table{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;max-width:100%;margin-top:10px;overflow:hidden}.table__head,.table__row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .15s;display:grid}.table__head>div,.table__row>div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.table__head>.col-actions,.table__row>.col-actions,.table__head>.table__actions,.table__row>.table__actions{white-space:nowrap;overflow:visible}.table--employees .table__head,.table--employees .table__row{grid-template-columns:minmax(100px,1fr) 80px minmax(120px,1fr) minmax(90px,.8fr) minmax(90px,.8fr) 72px minmax(130px,auto)}.table--reports .table__head,.table--reports .table__row{grid-template-columns:minmax(140px,1.2fr) minmax(88px,.65fr) minmax(96px,.55fr) minmax(100px,.55fr) 92px}.report-summary .strong{line-height:1.45}.table--monthly .table__head,.table--monthly .table__row{grid-template-columns:minmax(140px,1.1fr) minmax(100px,.7fr) 56px minmax(100px,.9fr) minmax(100px,.9fr) minmax(120px,auto)}.modal--wide{width:min(920px,96vw)}.modal--rating-detail{width:90vw;max-width:760px;max-height:85vh;overflow-x:hidden}.modal--rating-detail .modal__body{overflow:hidden auto}.modal--rating-detail .stack,.modal--rating-detail .rating-block,.modal--rating-detail .card,.modal--rating-detail .report-summary{min-width:0;max-width:100%}.feedback-text,.suggestion-text,.long-text{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;text-align:justify;max-width:100%;line-height:1.5}.modal--rating-detail .rating-block__text{min-width:0;max-width:100%;overflow-x:hidden}.modal--rating-detail .table--ratings,.modal--rating-detail .rating-detail-table{table-layout:fixed;width:100%;max-width:100%}.modal--rating-detail .table--ratings .table__head,.modal--rating-detail .table--ratings .table__row,.modal--rating-detail .rating-detail-table .table__head,.modal--rating-detail .rating-detail-table .table__row{grid-template-columns:minmax(0,1fr) 88px;width:100%}.modal--rating-detail .table--ratings .table__head>div,.modal--rating-detail .table--ratings .table__row>div,.modal--rating-detail .rating-detail-table .table__head>div,.modal--rating-detail .rating-detail-table .table__row>div{white-space:normal;text-overflow:unset;word-break:break-word;overflow-wrap:anywhere;overflow:visible}.rating-block__head{margin-bottom:8px}.rating-block__text{font-size:14px;line-height:1.5}.tableWrap{width:100%;max-width:100%;margin-top:10px;overflow-x:hidden}.table-cell-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;overflow:hidden}.searchable-select{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.searchable-select__search{min-height:36px;font-size:13px}@media (width>=1100px){.tableWrap{overflow-x:hidden}}.export-actions{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-left:auto;display:flex}.export-with-rating{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:0;display:inline-flex}.export-with-rating input{cursor:pointer;margin:0}.export-with-rating span{color:var(--text-muted,#64748b);font-size:13px}.ui-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff05;margin-top:12px;padding:14px}.emp-perms{max-height:320px;overflow-y:auto}.emp-perms__head{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.emp-perms__module{margin-bottom:14px}.emp-perms__module-title{color:var(--primary);margin-bottom:8px;font-size:13px;font-weight:700}.emp-perms__grid{gap:8px;display:grid}.emp-perms__row{background:#ffffff08;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px;display:grid}.emp-perms__toggles{white-space:nowrap;gap:12px;display:flex}.perm-radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}@media (width<=900px){.app--shell,.app--shell.app--sidebar-collapsed{grid-template-columns:1fr}.sidebar-overlay{z-index:40;cursor:pointer;background:#00000073;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.sidebar{z-index:50;width:min(280px,88vw);min-width:0;height:100vh;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #00000059}.sidebar--mobile-open{transform:translate(0)}.sidebar--mobile-open .sidebar__brand-text,.sidebar--mobile-open .snav__label,.sidebar--mobile-open .sidebar__user-text,.sidebar--mobile-open .sidebar__footer{opacity:1;pointer-events:auto;width:auto}.sidebar__toggle--desktop{display:none}.main__topbar{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.sidebar__toggle--mobile{display:flex}.sidebar--collapsed .sidebar__signout-icon{display:none}.sidebar--collapsed .sidebar__signout{display:inline-flex}}.card--flush-table .pad{padding:12px}.toolbar--wrap,.toolbar--filters,.toolbar__left--wrap{flex-wrap:wrap;align-items:flex-end;gap:10px}.master-add-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.master-add-row__field{flex:240px;min-width:0;margin:0}.master-add-row__action{flex:none;margin-left:auto}@media (width<=640px){.master-add-row{flex-direction:column;align-items:stretch}.master-add-row__action{margin-left:0}.master-add-row__action .btn{width:100%}}.toolbar__right--wrap{flex-wrap:wrap;align-items:center;gap:8px}.field--compact select,.field--compact input{min-height:38px}.searchWrap--grow{flex:220px;min-width:200px}.col-actions{flex-shrink:0;min-width:120px;max-width:none}.table__actions{white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;gap:8px;min-width:120px;display:flex}.btn--sm{min-height:32px;padding:6px 10px;font-size:12px}.perm-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);margin-top:16px;overflow:hidden}.perm-panel__header{border-bottom:1px solid var(--line);background:var(--card-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.perm-panel__title{margin:0;font-size:15px;font-weight:600}.perm-panel__required{color:var(--danger)}.perm-panel__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.perm-panel__body{padding:8px 0}.perm-module{border-bottom:1px solid #ffffff14;grid-template-columns:minmax(160px,200px) 1fr;align-items:start;gap:12px 20px;padding:14px 16px;display:grid}.perm-module:last-child{border-bottom:none}@media (width<=768px){.perm-module{grid-template-columns:1fr}}.perm-module__head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding-top:2px;display:flex}.perm-module__check{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.perm-module__name{letter-spacing:.04em;color:var(--text);font-size:13px;font-weight:700}.perm-module__info{width:18px;height:18px;color:var(--muted);cursor:help;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.perm-module__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;display:grid}@media (width<=900px){.perm-module__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.perm-chip{color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.perm-chip input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.perm-chip__text{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.perm-chip{min-width:0;max-width:100%}.perm-info{cursor:help;outline:none;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.perm-info__icon{color:var(--muted);opacity:.85;font-size:12px;line-height:1}.perm-info:hover .perm-info__icon,.perm-info:focus .perm-info__icon{color:var(--primary)}.perm-info__tip{z-index:30;width:max-content;max-width:220px;color:var(--text);text-align:left;opacity:0;visibility:hidden;pointer-events:none;background:#0f172af5;border:1px solid #ffffff1f;border-radius:8px;padding:6px 8px;font-size:11px;line-height:1.35;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.perm-info:hover .perm-info__tip,.perm-info:focus .perm-info__tip{opacity:1;visibility:visible}.emp-perms__name-row{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.perm-chip span{line-height:1.2}.table__head{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:12px}.table__row{border-top:1px solid var(--line);color:var(--text)}.table__row:hover{background:var(--table-row-hover)}.table__row--active:hover{background:color-mix(in srgb, var(--primary) 8%, var(--table-row-hover))}.table__row>div,.table__head>div{min-width:0}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.pill{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}.pill--ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--line));background:color-mix(in srgb, var(--ok) 14%, var(--panel-2));color:var(--text)}[data-theme=dark] .pill--ok{color:#dcfce7}.pill--danger{color:#c62828;background:#c6282814;border-color:#c62828}.pill--muted{border-color:var(--line);background:var(--panel-2);color:var(--muted)}.table__row--active{background:#5eead40f}.iconbtn{border:1px solid var(--line);background:var(--button-bg);width:40px;height:38px;color:var(--text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.iconbtn:hover:not(:disabled){background:var(--button-hover-bg);border-color:var(--border)}.iconbtn--danger{background:#fb71851f;border-color:#fb718559}.iconbtn--ok{background:#5eead41f;border-color:#5eead459}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.modal__backdrop{z-index:50;background:#0000008c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);width:min(720px,100%);max-height:90vh;box-shadow:var(--shadow);color:var(--text);flex-direction:column;display:flex;overflow:hidden}.modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.modal__title{font-weight:700}.modal__body{-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;padding:14px;overflow:hidden auto}.modal__actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}.strong{font-weight:650}.muted{color:var(--muted)}.filters{grid-template-columns:1.5fr .8fr;gap:12px;display:grid}@media (width<=900px){.filters{grid-template-columns:1fr}}.toast{color:var(--text);box-shadow:var(--shadow);background:#111827e6;border:1px solid #ffffff24;border-radius:14px;align-items:center;gap:10px;max-width:min(520px,100vw - 36px);padding:12px;display:flex;position:fixed;bottom:18px;right:18px}.toast__msg{color:var(--text);font-size:14px}.toast__close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}.btn--ghost{color:var(--muted)}.theme-toggle--sidebar{color:var(--text)}[data-theme=light] .sidebar__brand{border-bottom-color:var(--line)}[data-theme=light] .sidebar__toggle{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .table__head{background:var(--panel-2);color:var(--text)}[data-theme=light] .card--sub,[data-theme=light] .perm-panel,[data-theme=light] .perm-panel__header,[data-theme=light] .perm-module{background:var(--panel-2);border-color:var(--line)}[data-theme=light] .table__row{border-top-color:var(--line);color:var(--text)}[data-theme=light] .table__head>div,[data-theme=light] .table__row>div,[data-theme=light] .snav--active{color:var(--text)}[data-theme=light] .perm-info__tip{background:var(--card-bg);color:var(--text);border-color:var(--line)}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
