:root{--navy:#1c2331;--navy-deep:#141a26;--blue:#2e6d9d;--blue-light:#4a8bc0;--card:#fff;--text:#1c2331;--text-muted:#6b7280;--border:#e5e7eb;--border-strong:#d1d5db;--error:#dc2626;--error-bg:#fef2f2;--error-border:#fecaca}@layer base{*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);font-family:DM Sans,system-ui,sans-serif}input,button,textarea,select{font-family:inherit}::selection{background:var(--blue);color:#fff}}.login-bg{background:linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.login-bg:before{content:"";pointer-events:none;background:radial-gradient(circle,#4a8bc040 0%,#0000 60%);width:60%;height:70%;position:absolute;top:-20%;right:-10%}.login-bg:after{content:"";pointer-events:none;background:radial-gradient(circle,#2e6d9d2e 0%,#0000 60%);width:50%;height:60%;position:absolute;bottom:-20%;left:-10%}.login-stack{z-index:1;flex-direction:column;align-items:center;gap:1.75rem;width:100%;max-width:520px;animation:.55s cubic-bezier(.22,1,.36,1) both fade-up;display:flex;position:relative}.lang-switcher{background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lang-switcher-btn{color:#fff9;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.28rem .62rem;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.lang-switcher-btn:hover{color:#ffffffe6}.lang-switcher-btn.is-active{color:#fff;background:#ffffff2e}.lang-switcher-login{align-self:flex-end;margin-bottom:-.5rem}.login-logo{filter:drop-shadow(0 4px 16px #00000040);width:100%;max-width:440px;height:auto;display:block}.login-card{background:var(--card);border-radius:24px;width:100%;max-width:420px;padding:2.25rem 2rem;box-shadow:0 20px 50px -12px #00000059,0 0 0 1px #ffffff14}.login-title{color:var(--text);letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.5rem;font-weight:600}.login-subtitle{color:var(--text-muted);margin:0 0 1.5rem;font-size:.875rem}.field{flex-direction:column;gap:.4rem;display:flex}.field-label{color:var(--text);justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:500;display:flex}.field-input{width:100%;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:10px;outline:none;padding:.7rem .9rem;font-size:.95rem;transition:border-color .18s,box-shadow .18s}.field-input::placeholder{color:#9ca3af}.field-input:hover:not(:disabled){border-color:var(--border-strong)}.field-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2e6d9d26}.field-input:disabled{opacity:.55;cursor:not-allowed;background:#f9fafb}.input-wrap{position:relative}.field-input.is-invalid{border-color:var(--error);background:var(--error-bg);padding-right:2.5rem}.field-input.is-invalid:hover:not(:disabled){border-color:var(--error)}.field-input.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px #dc26262e}.field-error-icon{width:1.2rem;height:1.2rem;color:var(--error);pointer-events:none;animation:.22s cubic-bezier(.22,1,.36,1) error-pop;display:block;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}@keyframes error-pop{0%{opacity:0;transform:translateY(-50%)scale(.6)}to{opacity:1;transform:translateY(-50%)scale(1)}}.password-wrap{position:relative}.password-toggle{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:.35rem .55rem;font-size:.75rem;font-weight:500;transition:color .18s,background .18s;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--blue);background:#2e6d9d14}.password-wrap .field-input{padding-right:4.5rem}.submit-btn{color:#fff;background:linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;width:100%;margin-top:.5rem;padding:.85rem 1rem;font-size:.95rem;font-weight:600;transition:transform .18s,box-shadow .18s,opacity .18s;display:inline-flex;box-shadow:0 6px 16px -4px #1c233173}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px -6px #1c23318c}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-alert{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);border-radius:10px;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.7rem .9rem;font-size:.875rem;display:flex}.success-alert{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.5;display:flex}.success-alert>span:first-child{color:#16a34a;flex-shrink:0;font-weight:700}.forgot-row{text-align:center;margin-top:.85rem}.forgot-link{color:var(--text-muted);border-bottom:1px solid #0000;padding-bottom:1px;font-size:.8125rem;text-decoration:none;transition:color .18s,border-color .18s}.forgot-link:hover{color:var(--blue);border-bottom-color:var(--blue)}.login-footer{color:#ffffff8c;letter-spacing:.04em;margin-top:.5rem;font-size:.75rem}:root{--sidebar-w:252px;--sidebar-bg:linear-gradient(180deg, #1a2030 0%, #1c2331 60%, #1f2c40 100%);--sidebar-text:#e5ebf5c7;--sidebar-text-strong:#fff;--sidebar-text-muted:#e5ebf573;--sidebar-hover:#ffffff0f;--sidebar-active:#4a8bc02e;--sidebar-accent:#4a8bc0;--sidebar-border:#ffffff0f}.layout{grid-template-columns:var(--sidebar-w) 1fr;background:#f5f7fa;min-height:100vh;display:grid}.layout-mobilebar{z-index:30;background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;gap:.6rem;height:56px;min-height:56px;max-height:56px;padding:0 .75rem;display:none;position:sticky;top:0;overflow:hidden;box-shadow:0 2px 10px #080c1459}.layout-mobilebar-logo{object-fit:contain;flex-grow:0;flex-shrink:1;width:auto;max-width:50vw;height:28px;max-height:28px;display:block}.layout-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#080c148c;animation:.18s backdrop-fade;position:fixed;inset:0}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.sidebar{height:100vh;width:var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);z-index:50;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem 1rem;display:flex}.sidebar-brand-link{line-height:0;display:block}.sidebar-brand-link img{width:auto;height:32px;display:block}.iconbtn{color:#ffffffd9;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .16s;display:inline-flex}.iconbtn:hover{background:#ffffff1a}.iconbtn-spacer{width:36px;height:36px}.iconbtn-close{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:.85rem .75rem .5rem;display:flex}.sidebar-footer{border-top:1px solid var(--sidebar-border);flex-shrink:0;padding:.75rem .75rem 1rem}.navgroup{padding:.45rem 0 .1rem}.navgroup-title{letter-spacing:.16em;text-transform:uppercase;color:var(--sidebar-text-muted);margin:0 .85rem .45rem;font-size:.66rem;font-weight:600}.navlist{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.navitem{width:100%;color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:.7rem;padding:.55rem .85rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}.navitem:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong)}.navitem.is-active{background:var(--sidebar-active);color:var(--sidebar-text-strong)}.navitem.is-active:before{content:"";background:var(--sidebar-accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-.75rem}.navitem svg{opacity:.85;flex-shrink:0}.navitem.is-active svg{opacity:1;color:var(--sidebar-accent)}.navitem-button{color:var(--sidebar-text)}.navitem-button:hover{color:#ffe1c2}.navitem-button:hover svg{color:var(--ochre,#c9913f)}.dashboard-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}@media (width<=720px){.dashboard-kpi-row{grid-template-columns:1fr}}.kpi-card{align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.kpi-icon{background:var(--surface-muted,#0000000a);width:2.5rem;height:2.5rem;color:var(--ochre,#c9913f);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.kpi-body{flex:1;min-width:0}.kpi-label{color:var(--muted,#6b6b6b);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:.78rem;font-weight:600}.kpi-value{font-variant-numeric:tabular-nums;color:var(--text,#1b1b1b);text-align:center;margin:0;font-size:1.85rem;font-weight:700;line-height:1.1}.kpi-value-positive{color:#16a34a}.dashboard-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}@media (width<=720px){.dashboard-grid-2{grid-template-columns:1fr}}.dashboard-card{padding:1.25rem}.surface-title-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.queue-list{margin:0;padding:0;list-style:none}.queue-row{color:var(--text);border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .5rem;text-decoration:none;transition:background .15s;display:flex}.queue-row:hover{background:#0000000a}.queue-row-icon{color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.queue-row-label{flex:1;font-weight:500}.queue-row-count{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:2ch;font-weight:700}.queue-row-count.has-items{color:#ef4444}.quick-actions-list{grid-template-columns:1fr;gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.quick-action{color:var(--text);background:var(--surface-muted,#00000008);border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .75rem;font-weight:500;text-decoration:none;transition:background .15s,transform 50ms;display:flex}.quick-action:hover{background:#c9913f1f}.quick-action:active{transform:translateY(1px)}.quick-action-icon{color:var(--ochre,#c9913f);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.navitem-badge{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;margin-left:auto;padding:0 .4rem;font-size:.72rem;font-weight:700;line-height:1.35rem;display:inline-flex}.layout-main{min-width:0;padding:2.5rem 1.5rem 4rem}@media (width<=900px){.layout{grid-template-columns:1fr}.layout-mobilebar{display:flex}.iconbtn-close{display:inline-flex}.sidebar{height:100vh;transition:transform .24s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:6px 0 24px #00000040}.sidebar.is-open{transform:translate(0)}.layout-main{padding:1.5rem 1rem 3rem}}.container{flex-direction:column;gap:1.75rem;max-width:1100px;margin:0 auto;display:flex}.container-wide{max-width:1440px}.hero{padding:.5rem 0 .25rem}.hero-title{letter-spacing:-.01em;color:var(--navy);margin:0 0 .4rem;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600}.hero-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;display:grid}.surface{border:1px solid var(--border);background:#fff;border-radius:14px;padding:1.5rem 1.5rem 1.4rem;box-shadow:0 1px 2px #1c23310a}.surface-muted{background:#fafbfc;border-style:dashed}.surface-title{letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 1rem;font-size:.78rem;font-weight:600}.profile-list{grid-template-columns:max-content 1fr;align-items:start;gap:.75rem 1.25rem;margin:0;display:grid}.profile-list dt{color:var(--text-muted);letter-spacing:.02em;padding-top:.15rem;font-size:.78rem;font-weight:500}.profile-list dd{color:var(--text);margin:0;font-size:.95rem}.role-chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.role-chip{color:var(--blue);background:#2e6d9d14;border:1px solid #2e6d9d33;border-radius:999px;align-items:center;padding:.18rem .6rem;font-size:.78rem;font-weight:500;display:inline-flex}.muted{color:var(--text-muted);margin:0;font-size:.9rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.5rem 0 .25rem;display:flex}.page-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.primary-btn{color:#fff;background:linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:transform .16s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 12px -3px #1c23314d}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px -4px #1c233166}.primary-btn:active{transform:translateY(0)}.ghost-btn{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.875rem;font-weight:500;transition:background .16s,border-color .16s;display:inline-flex}.ghost-btn:hover{border-color:var(--border-strong);background:#f3f4f6}.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.danger-btn{color:#fff;background:var(--error);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;transition:background .16s,transform .16s;display:inline-flex}.danger-btn:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.danger-btn:disabled{opacity:.6;cursor:not-allowed}.details-section{flex-direction:column;gap:.85rem;display:flex}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem 1.25rem;margin:0;display:grid}.detail-row{flex-direction:column;gap:.25rem;min-width:0;display:flex}.detail-row-wide{grid-column:1/-1}.detail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.detail-value{color:var(--text);word-break:break-word;margin:0;font-size:.95rem}.detail-value-empty{color:var(--text-muted)}.security-card{background:linear-gradient(135deg,#fafbfd 0%,#f0f4f9 100%);border-color:#2e6d9d2e;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem 1.25rem;padding:1.1rem 1.25rem;display:grid}.security-icon{width:44px;height:44px;color:var(--blue);background:#2e6d9d1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.security-text{min-width:0}.security-text .muted{font-size:.875rem}.security-title{color:var(--text);margin:0 0 .2rem;font-size:.85rem}.security-btn{white-space:nowrap;flex-shrink:0}@media (width<=640px){.security-card{grid-template-columns:auto 1fr}.security-btn{grid-column:1/-1;justify-content:center}}.bank-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.bank-list-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.7rem .9rem;display:flex}.bank-list-name{color:var(--text);font-weight:600}.bank-list-number{color:var(--text-muted)}.birthday-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.birthday-list-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.85rem;padding:.7rem .9rem;display:grid}.birthday-list-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.birthday-list-date{color:var(--text-muted);white-space:nowrap}.detail-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex;overflow-x:auto}.detail-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:14px;font-weight:500}.detail-tab:hover{color:var(--text)}.detail-tab.is-active{color:var(--text);border-bottom-color:var(--accent,#2563eb)}.audit-timeline{flex-direction:column;gap:.6rem;display:flex}.audit-entry{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem}.audit-entry-head{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:14px;display:flex}.audit-timestamp{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.audit-action{letter-spacing:.02em;border-radius:999px;padding:.1rem .5rem;font-size:12px;font-weight:600;display:inline-block}.audit-action-created{color:#0f6b3a;background:#e6f4ea}.audit-action-updated{color:#0f2a55;background:#eef3fb}.audit-action-deleted{color:#962323;background:#fdeaea}.audit-entity-tag{background:var(--surface-soft,#f1f5f9);color:var(--text-muted);border-radius:4px;padding:.1rem .45rem;font-size:12px}.audit-entity-link{cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.audit-entity-link:hover{background:var(--accent-soft,#dbeafe);color:var(--accent,#2563eb)}.audit-actor{color:var(--text);font-weight:500}.audit-actor-type{color:var(--text-muted);margin-left:.25rem;font-size:12px;font-weight:400}.audit-redacted{margin:.5rem 0 0;font-size:13px;font-style:italic}.audit-expand-btn{color:var(--accent,#2563eb);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;font-size:13px}.audit-expand-btn:hover{text-decoration:underline}.audit-field-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:13px}.audit-field-table th,.audit-field-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .6rem}.audit-field-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.audit-field-name{font-weight:600}.audit-field-old{color:var(--text-muted)}.audit-field-new{color:var(--text)}.auth-audit-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.auth-audit-table{border-collapse:collapse;width:100%;font-size:14px}.auth-audit-table th,.auth-audit-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.6rem .8rem}.auth-audit-table th{background:var(--surface-soft,#f1f5f9);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:12px;font-weight:600}.auth-audit-table tbody tr:last-child td{border-bottom:none}.auth-audit-unknown-tag{color:#92400e;background:#fef3c7;border-radius:4px;margin-left:.4rem;padding:.05rem .4rem;font-size:11px;font-weight:500;display:inline-block}.role-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.role-section-head .surface-title{margin:0}.role-subhead{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:.85rem 0 .4rem;font-size:.72rem;font-weight:600}.role-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.role-list-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:.85rem;padding:.65rem .85rem;display:grid}.role-list-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.role-list-name{color:var(--text);font-size:.92rem;font-weight:600}.role-list-dates{color:var(--text-muted);font-size:.8rem}.role-list-actions{gap:.2rem;display:inline-flex}@media (width<=640px){.role-list-item{grid-template-columns:1fr auto}.role-list-actions{grid-column:1/-1;justify-content:flex-end}}.role-history{border-top:1px dashed var(--border);margin-top:1rem;padding-top:.85rem}.role-history>summary{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);-webkit-user-select:none;user-select:none;padding:.25rem 0;font-size:.78rem;font-weight:600;list-style:none}.role-history>summary::-webkit-details-marker{display:none}.role-history>summary:before{content:"▸ ";margin-right:.25rem;transition:transform .16s;display:inline-block}.role-history[open]>summary:before{transform:rotate(90deg)}.role-history-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.role-history-item{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:.85rem;padding:.55rem .85rem;font-size:.875rem;display:grid}.role-history-name{color:var(--text);font-weight:600}.role-history-dates{color:var(--text-muted);font-size:.82rem}.notes-block{color:var(--text);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.55}.signature-preview{color:var(--text);font-size:.95rem;line-height:1.55}.signature-preview p:first-child{margin-top:0}.signature-preview p:last-child{margin-bottom:0}.account-toggle{color:var(--text);cursor:pointer;align-items:center;gap:.55rem;padding:.55rem 0;font-size:.9rem;display:inline-flex}.account-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);cursor:pointer}.member-form{flex-direction:column;gap:1.25rem;display:flex}.form-section{flex-direction:column;gap:1rem;display:flex}.profile-edit-form{flex-direction:column;gap:1.75rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem 1rem;display:grid}.filter-field-wide{grid-column:1/-1}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.required-mark{color:var(--error);margin-left:.15rem;font-weight:600}.has-field-error .filter-input,.has-field-error select.filter-input,.has-field-error textarea.filter-input{border-color:var(--error);background:var(--error-bg)}.has-field-error .filter-input:focus{border-color:var(--error);box-shadow:0 0 0 3px #dc26262e}.field-error-message{color:var(--error);margin-top:.3rem;font-size:.78rem;line-height:1.4;display:block}.confirm-message{color:#7c2d12;background:#fff7ed;border-left:3px solid #f59e0b;border-radius:0 8px 8px 0;margin:0;padding:.7rem .85rem;font-size:.92rem;font-style:italic}.confirm-message-list{padding-left:1.4rem;padding-right:.85rem;font-style:normal;list-style:outside}.confirm-message-list li{padding:.15rem 0;line-height:1.45}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding-top:.5rem;display:flex}select.filter-input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:1.75rem}select.filter-input:disabled{cursor:not-allowed;opacity:.6}.filter-card{flex-direction:column;gap:1.1rem;display:flex}.filter-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.filter-head .surface-title{margin:0}.filter-count{color:var(--blue);background:#2e6d9d14;border:1px solid #2e6d9d2e;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:500}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem 1rem;display:grid}.filter-field{flex-direction:column;gap:.35rem;display:flex}.filter-label{color:var(--text-muted);letter-spacing:.01em;font-size:.78rem;font-weight:500}.filter-input{width:100%;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.9rem;transition:border-color .16s,box-shadow .16s}.filter-input:hover:not(:disabled){border-color:var(--border-strong)}.filter-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2e6d9d26}.chip-toggle-group{flex-wrap:wrap;align-items:center;gap:.4rem;min-height:38px;display:flex}.chip-toggle{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.32rem .7rem;font-size:.78rem;font-weight:500;transition:background .14s,color .14s,border-color .14s}.chip-toggle:hover{color:var(--text);border-color:var(--border-strong)}.chip-toggle.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}.filter-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;margin-top:.25rem;padding-top:.4rem;display:flex}.table-surface{padding:0;overflow:hidden}.table-surface-head{padding:1.25rem 1.25rem .5rem}.table-surface-head .surface-title{margin:0}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.875rem}.data-table thead th{text-align:left;border-bottom:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;background:#f7f9fb;padding:.85rem 1rem;font-size:.72rem;font-weight:600}.th-sort{padding:0!important}.th-sort-btn{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;align-items:center;gap:.45rem;padding:.85rem 1rem;transition:background .14s,color .14s;display:inline-flex}.th-sort-btn:hover{color:var(--text);background:#eef2f6}.th-sort.is-sorted .th-sort-btn{color:var(--text);background:#eef4f9}.th-sort-icon{color:var(--border-strong);flex-shrink:0}.th-sort.is-sorted .th-sort-icon{color:var(--blue)}.sort-arrow{opacity:.5;transition:opacity .14s}.th-sort-icon[data-direction=asc] .sort-arrow-up{opacity:1;stroke-width:2px}.th-sort-icon[data-direction=asc] .sort-arrow-down{opacity:.25}.th-sort-icon[data-direction=desc] .sort-arrow-down{opacity:1;stroke-width:2px}.th-sort-icon[data-direction=desc] .sort-arrow-up{opacity:.25}.data-table tbody td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:.85rem 1rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafbfc}.data-table tbody tr.is-today{background:#ecfdf5}.data-table tbody tr.is-today:hover{background:#d1fae5}.td-strong{font-weight:600}.td-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem}.td-state{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;font-style:italic}.td-actions{text-align:right;width:56px;padding-right:1rem!important}.row-action{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}.row-action:hover{color:var(--blue);background:#2e6d9d1a}.row-action:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.row-action-danger:hover{color:var(--error);background:#dc26261a}.row-action-group{justify-content:flex-end;gap:.2rem;display:inline-flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.kpi-card{border:1px solid var(--border);background:#fff;border-left-width:4px;border-radius:12px;flex-direction:column;gap:.4rem;padding:1.25rem 1.4rem;display:flex;box-shadow:0 1px 2px #1c23310a}.kpi-blue{border-left-color:var(--blue)}.kpi-green{border-left-color:#16a34a}.kpi-amber{border-left-color:#f59e0b}.kpi-value{letter-spacing:-.025em;color:var(--text);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1.05}.kpi-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:500}.stat-card{flex-direction:column;gap:.85rem;display:flex}.stat-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.stat-head .surface-title{margin:0 0 .2rem}.stat-head .muted{margin:0;font-size:.85rem}.stat-total{letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem;font-weight:500}.stat-head-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.85rem;display:flex}.stat-tabs{background:var(--surface-muted,#f5f7fb);border:1px solid var(--border,#e2e6ee);border-radius:999px;padding:3px;display:inline-flex}.stat-tab{letter-spacing:.02em;color:var(--text-muted,#5d6677);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.32rem .85rem;font-size:.75rem;font-weight:600;transition:background .14s,color .14s,box-shadow .14s}.stat-tab:hover{color:var(--text,#1a2233)}.stat-tab.is-active{color:var(--blue,#2563eb);background:#fff;box-shadow:0 1px 2px #0f172a14}.pie-wrap{grid-template-columns:minmax(220px,280px) 1fr;align-items:center;gap:1.5rem;display:grid}.pie-donut{width:100%;max-width:280px;height:auto;display:block}.pie-center-value{fill:var(--text,#1a2233);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;font-weight:700}.pie-legend{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.pie-legend-row{grid-template-columns:14px 1fr auto auto;align-items:center;gap:.7rem;font-size:.875rem;display:grid}.pie-swatch{border-radius:4px;width:14px;height:14px;display:inline-block}.pie-legend-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.pie-legend-count{color:var(--text);text-align:right;min-width:2.5rem;font-weight:500}.pie-legend-pct{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:2.5rem;font-size:.8rem}@media (width<=720px){.pie-wrap{grid-template-columns:1fr;justify-items:center}.pie-legend{width:100%}}.stat-bars{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.stat-bar-row{grid-template-columns:minmax(140px,200px) 1fr auto auto;align-items:center;gap:.85rem;font-size:.875rem;display:grid}.stat-bar-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.stat-bar-track{background:#f1f5f9;border-radius:999px;height:12px;overflow:hidden}.stat-bar-fill{background:linear-gradient(90deg, var(--blue) 0%, var(--blue-light) 100%);border-radius:999px;height:100%;transition:width .32s cubic-bezier(.22,1,.36,1)}.stat-bar-count{color:var(--text);text-align:right;min-width:36px;font-weight:600}.stat-bar-pct{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:38px;font-size:.78rem}@media (width<=640px){.stat-bar-row{grid-template-columns:1fr auto auto}.stat-bar-label{grid-column:1/-1}}.badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:.45rem;display:inline-block}.badge-positive{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.badge-neutral{color:#4b5563;background:#f3f4f6;border-color:#e5e7eb}.badge-warning{color:#b45309;background:#fff7ed;border-color:#fed7aa}.badge-info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.badge-draft{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.badge-unknown{color:#9ca3af;background:#f9fafb;border-color:#e5e7eb}.badge-unknown:before{display:none}.pager{border-top:1px solid var(--border);background:#fafbfc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.2rem;display:flex}.pager-info{color:var(--text-muted);font-size:.82rem}.pager-pages{align-items:center;gap:.2rem;display:flex}.pager-btn{min-width:34px;height:34px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:0 .55rem;font-size:.85rem;font-weight:500;transition:background .14s,border-color .14s,color .14s}.pager-btn:hover:not(:disabled){border-color:var(--border-strong);background:#f3f4f6}.pager-btn:disabled{opacity:.4;cursor:not-allowed}.pager-btn.is-current{background:var(--blue);color:#fff;border-color:var(--blue)}.pager-gap{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:0 .35rem}.pager-size{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.82rem;display:inline-flex}.pager-size select{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:.3rem .5rem;font-family:inherit;font-size:.85rem}.pager-size select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2e6d9d26}@media (width<=640px){.pager{justify-content:center}.pager-info,.pager-size{text-align:center;justify-content:center;width:100%}}.modal-backdrop{z-index:100;background:#080c1480;justify-content:center;align-items:center;padding:1rem;animation:.16s both backdrop-fade;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:460px;max-height:calc(100vh - 2rem);animation:.2s cubic-bezier(.22,1,.36,1) both modal-pop;display:flex;box-shadow:0 24px 60px -12px #080c1473,0 0 0 1px #ffffff0d}.modal-md{max-width:640px}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .85rem 1.25rem;display:flex}.modal-head .iconbtn{color:var(--text-muted);width:32px;height:32px}.modal-head .iconbtn:hover{color:var(--text);background:#f3f4f6}.modal-title{color:var(--text);letter-spacing:-.005em;margin:0;font-size:1.075rem;font-weight:600}.modal-body{padding:1.1rem 1.25rem .5rem;overflow-y:auto}.modal-body .filter-field{gap:.45rem}.modal-body .filter-input{padding:.6rem .85rem;font-size:.95rem}.modal-text{color:var(--text);margin:0;font-size:.95rem;line-height:1.55}.modal-footer{border-top:1px solid var(--border);background:#fafbfc;border-bottom-right-radius:14px;border-bottom-left-radius:14px;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem 1rem;display:flex}.combo-wrap{align-items:stretch;display:flex;position:relative}.combo-wrap>.combo-input{flex:1;padding-right:2.2rem}.combo-chevron{color:var(--text-muted);pointer-events:none;font-size:.7rem;transition:transform .16s;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.combo-wrap.is-open .combo-chevron{transform:translateY(-50%)rotate(180deg)}.combo-wrap.is-disabled .combo-chevron{opacity:.4}.combo-popup{z-index:70;border:1px solid var(--border);background:#fff;border-radius:10px;max-height:260px;padding:.25rem;animation:.14s both cal-fade;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 28px -10px #080c1440,0 4px 10px #080c140f}.combo-option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.5rem .7rem;font-family:inherit;font-size:.9rem;display:block}.combo-option.is-highlighted{background:#eef4f9}.combo-option.is-selected{color:var(--blue);background:#2e6d9d1f;font-weight:600}.combo-option.is-selected.is-highlighted{background:#2e6d9d33}.combo-state{text-align:center;color:var(--text-muted);padding:.7rem;font-size:.85rem;font-style:italic}.combo-create-new{border-top:1px solid var(--border);color:var(--blue);align-items:center;gap:.55rem;margin-top:.2rem;font-weight:500;padding-top:.55rem!important;display:flex!important}.combo-create-new.is-highlighted{background:#2e6d9d1f}.combo-create-icon{width:18px;height:18px;color:var(--blue);background:#2e6d9d26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.date-input-wrap{align-items:stretch;display:flex;position:relative}.date-input-wrap>input{flex:1;padding-right:2.5rem}.date-input-cal-btn{cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;transition:background .14s,color .14s;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.date-input-cal-btn:hover{color:var(--blue);background:#2e6d9d14}.date-input-cal-btn:disabled{opacity:.4;cursor:not-allowed}.date-input-wrap.is-disabled .date-input-cal-btn{display:none}.date-input-popup{z-index:80;animation:.16s both cal-fade;position:absolute;top:calc(100% + 6px);left:0}@keyframes cal-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal{border:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#fff;border-radius:12px;width:252px;padding:.6rem;box-shadow:0 16px 32px -10px #080c1440,0 4px 12px #080c1414}.cal-head{justify-content:space-between;align-items:center;gap:.4rem;padding:.1rem 0 .5rem;display:flex}.cal-title{color:var(--text);letter-spacing:-.005em;text-align:center;flex:1;font-size:.85rem;font-weight:600}.cal-nav{cursor:pointer;width:26px;height:26px;color:var(--text-muted);background:0 0;border:0;border-radius:6px;font-size:1.05rem;line-height:1;transition:background .14s,color .14s}.cal-nav:hover{color:var(--text);background:#f3f4f6}.cal-weekdays{border-bottom:1px solid var(--border);text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px;padding-bottom:4px;font-size:.66rem;font-weight:600;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;margin-top:4px;display:grid}.cal-cell{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:.82rem;transition:background .14s,color .14s;display:inline-flex}.cal-cell:hover{background:#eef4f9}.cal-cell.is-other{color:#cbd5e1}.cal-cell.is-today{color:var(--blue);font-weight:700}.cal-cell.is-today.is-other{color:#cbd5e1}.cal-cell.is-selected{background:var(--blue);color:#fff}.cal-cell.is-selected.is-today{color:#fff}.cal-cell.is-selected:hover{background:var(--blue)}.cal-foot{border-top:1px solid var(--border);justify-content:center;margin-top:.45rem;padding-top:.45rem;display:flex}.cal-today{cursor:pointer;color:var(--blue);background:0 0;border:0;border-radius:6px;padding:.25rem .6rem;font-size:.78rem;font-weight:500;transition:background .14s}.cal-today:hover{background:#2e6d9d14}.toast-stack{z-index:200;pointer-events:none;flex-direction:column;gap:.6rem;width:min(360px,100vw - 2rem);display:flex;position:fixed;top:1rem;right:1rem}.toast{pointer-events:auto;border:1px solid var(--border);background:#fff;border-left-width:4px;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:.7rem;padding:.85rem .95rem;font-size:.9rem;line-height:1.45;animation:.22s cubic-bezier(.22,1,.36,1) both toast-in;display:grid;box-shadow:0 12px 28px -10px #080c1459,0 2px 6px #080c1414}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-error{border-left-color:var(--error);color:var(--text)}.toast-error .toast-icon{color:var(--error)}.toast-success{border-left-color:#16a34a}.toast-success .toast-icon{color:#16a34a}.toast-info{border-left-color:var(--blue)}.toast-info .toast-icon{color:var(--blue)}.toast-icon{margin-top:1px;font-size:1.05rem;font-weight:700;line-height:1.2}.toast-message{word-break:break-word}.toast-close{cursor:pointer;color:var(--text-muted);background:0 0;border:0;padding:0 .2rem;font-size:.95rem;line-height:1;transition:color .16s}.toast-close:hover{color:var(--text)}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-stack,.submit-btn,.field-input,.password-toggle,.forgot-link{transition:none;animation:none}}.permissions-form{flex-direction:column;gap:1.25rem;display:flex}.perm-group{flex-direction:column;gap:1rem;display:flex}.perm-group-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.perm-group-actions{gap:.4rem;display:flex}.perm-mini-btn{background:var(--surface-muted,#f5f7fb);border:1px solid var(--border,#e2e6ee);color:var(--text-muted,#5d6677);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:.32rem .7rem;font-size:.7rem;font-weight:600;transition:background .14s,color .14s,border-color .14s}.perm-mini-btn:hover:not(:disabled){background:var(--blue-soft,#e6efff);border-color:var(--blue,#2563eb);color:var(--blue,#2563eb)}.perm-mini-btn:disabled{opacity:.5;cursor:not-allowed}.perm-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem;display:grid}.perm-toggle{border:1px solid var(--border,#e2e6ee);background:var(--surface,#fff);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.6rem .8rem;transition:background .14s,border-color .14s;display:grid}.perm-toggle:hover{border-color:var(--blue,#2563eb)}.perm-toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--blue,#2563eb);margin:0}.perm-toggle.is-checked{background:var(--blue-soft,#e6efff);border-color:var(--blue,#2563eb)}.perm-toggle-label{color:var(--text,#1a2233);font-size:.9rem;font-weight:500}.perm-toggle-code{color:var(--text-muted,#8b94a8);letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.dirty-indicator{color:#92400e;letter-spacing:.02em;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.export-section{border-bottom:1px solid var(--border,#e2e6ee);flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.export-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.export-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.export-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text,#1a2233);margin:0;font-size:.85rem;font-weight:700}.export-section-hint{margin:0;font-size:.8rem}.export-field{flex-direction:column;gap:.4rem;display:flex}.export-field-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.export-field-summary{font-size:.78rem}.link-btn{color:var(--blue,#2563eb);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:.85rem;line-height:1}.link-btn:hover{text-decoration:underline}.checkbox-list{border:1px solid var(--border,#e2e6ee);background:var(--surface,#fff);border-radius:8px;flex-direction:column;gap:1px;max-height:180px;padding:.3rem;display:flex;overflow-y:auto}.checkbox-row{cursor:pointer;color:var(--text,#1a2233);border-radius:6px;grid-template-columns:16px 1fr;align-items:center;gap:.55rem;padding:.4rem .55rem;font-size:.875rem;transition:background .12s;display:grid}.checkbox-row:hover{background:var(--surface-muted,#f5f7fb)}.checkbox-row.is-checked{background:var(--blue-soft,#e6efff);color:var(--blue,#2563eb);font-weight:500}.checkbox-row input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--blue,#2563eb);margin:0}.export-columns-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;display:grid}.export-columns-grid .perm-toggle{grid-template-columns:auto 1fr;padding:.5rem .7rem}.bulk-action-bar{background:var(--blue-soft,#e6efff);border:1px solid var(--blue,#2563eb);color:var(--blue,#2563eb);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.6rem 1rem;font-weight:500;display:flex}.segment-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.seg-toggle{background:var(--surface-muted,#f5f7fb);border:1px solid var(--border,#e2e6ee);border-radius:999px;margin-top:.5rem;padding:3px;display:inline-flex}.seg-btn{color:var(--text-muted,#5d6677);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600;transition:background .14s,color .14s,box-shadow .14s}.seg-btn:hover{color:var(--text,#1a2233)}.seg-btn.is-active{color:var(--blue,#2563eb);background:#fff;box-shadow:0 1px 2px #0f172a14}.form-stack{flex-direction:column;gap:1rem;display:flex}.data-table.compact td,.data-table.compact th{padding:.4rem .6rem}.data-table.compact .filter-input{padding:.35rem .5rem;font-size:.875rem}.ghost-btn-sm{padding:.3rem .7rem;font-size:.8rem}.file-drop{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.failed-rows-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.failed-rows-head .surface-title{margin:0}.notify-frame{flex-direction:column;gap:1rem;display:flex}.notify-section{flex-direction:column;gap:.75rem;display:flex}.notify-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.notify-section-head .surface-title{margin:0}.notify-recipient-count{color:var(--blue,#2563eb);background:var(--blue-soft,#e6efff);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.notify-chips{flex-wrap:wrap;gap:.4rem;display:flex}.notify-chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .55rem .3rem .75rem;font-size:.85rem;font-weight:500;display:inline-flex}.notify-chip-dept{background:var(--blue-soft,#e6efff);color:var(--blue,#2563eb);border-color:#2563eb40}.notify-chip-member{color:#047857;background:#ecfdf5;border-color:#04785733}.notify-chip-x{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;margin-left:2px;padding:2px;transition:opacity .14s,background .14s;display:inline-flex}.notify-chip-x:hover{opacity:1;background:#0000000f}.notify-chip-x svg{width:12px;height:12px}.notify-recipient-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.notify-picker{flex-direction:column;gap:.5rem;display:flex}.filter-input-wrap{display:block;position:relative}.filter-input-icon{width:16px;height:16px;color:var(--text-muted,#5d6677);pointer-events:none;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.filter-input-with-icon{padding-left:2.1rem}.notify-member-row{flex-direction:column;gap:1px;min-width:0;display:flex}.notify-member-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.notify-member-sub{color:var(--text-muted,#8b94a8);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.notify-subject{padding:.65rem .85rem;font-size:1rem}.notify-message{resize:vertical;min-height:200px;padding:.75rem .85rem;font-family:inherit;font-size:.95rem;line-height:1.5}.notify-file-list{border:1px solid var(--border,#e2e6ee);border-radius:8px;flex-direction:column;gap:4px;margin:.5rem 0 0;padding:0;list-style:none;display:flex;overflow:hidden}.notify-file-row{background:var(--surface,#fff);border-bottom:1px solid var(--border,#e2e6ee);grid-template-columns:16px 1fr auto auto;align-items:center;gap:.65rem;padding:.55rem .75rem;font-size:.875rem;display:grid}.notify-file-row:last-child{border-bottom:0}.notify-file-icon{width:16px;height:16px;color:var(--text-muted,#5d6677)}.notify-file-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);overflow:hidden}.notify-file-size{color:var(--text-muted);font-size:.78rem}.notify-file-x{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:background .14s,color .14s;display:inline-flex}.notify-file-x:hover{color:#b91c1c;background:#fee2e2}.notify-file-x svg{width:14px;height:14px}.notify-too-large{font-weight:600;color:var(--error,#b91c1c)!important}.rte-wrap{border:1px solid var(--border,#e2e6ee);background:var(--surface,#fff);border-radius:8px;transition:border-color .14s,box-shadow .14s;overflow:hidden}.rte-wrap:focus-within{border-color:var(--blue,#2563eb);box-shadow:0 0 0 3px #2563eb26}.rte-wrap.is-disabled{opacity:.6;pointer-events:none}.rte-toolbar{border-bottom:1px solid var(--border,#e2e6ee);background:var(--surface-muted,#f5f7fb);flex-wrap:wrap;gap:2px;padding:6px;display:flex}.rte-btn{cursor:pointer;color:var(--text-muted,#5d6677);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:6px 8px;transition:background .14s,color .14s;display:inline-flex}.rte-btn:hover:not(:disabled){color:var(--text,#1a2233);background:#fff;box-shadow:0 1px 2px #0f172a0f}.rte-btn:active:not(:disabled){background:var(--blue-soft,#e6efff);color:var(--blue,#2563eb)}.rte-btn:disabled{opacity:.5;cursor:not-allowed}.rte-divider{background:var(--border,#e2e6ee);width:1px;margin:4px;display:inline-block}.rte-editable{color:var(--text,#1a2233);word-wrap:break-word;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;line-height:1.55;overflow-y:auto}.rte-editable.is-empty:before{content:attr(data-placeholder);color:var(--text-muted,#8b94a8);pointer-events:none;display:block}.rte-editable p{margin:0 0 .6em}.rte-editable p:last-child{margin-bottom:0}.rte-editable ul,.rte-editable ol{margin:0 0 .6em 1.4em;padding:0}.rte-editable li{margin:.15em 0}.rte-editable a{color:var(--blue,#2563eb);text-decoration:underline}.rte-editable strong,.rte-editable b{font-weight:700}.info-banner{background:var(--blue-soft,#e6efff);color:var(--text,#1a2233);border:1px solid #2563eb33;border-radius:10px;align-items:flex-start;gap:.55rem;padding:.75rem .9rem;font-size:.9rem;line-height:1.45;display:flex}.info-banner>:first-child{color:var(--blue,#2563eb);flex-shrink:0;font-size:1rem;font-weight:700}.schedule-presets{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0;display:flex}.td-icon{width:14px;height:14px;color:var(--text-muted,#5d6677)}.notify-detail-meta{flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:.5rem;font-size:.875rem;display:flex}.notify-detail-message{color:var(--text,#1a2233);font-size:.95rem;line-height:1.55}.notify-detail-message p{margin:0 0 .6em}.notify-detail-message p:last-child{margin-bottom:0}.notify-detail-message ul,.notify-detail-message ol{margin:0 0 .6em 1.4em;padding:0}.notify-detail-message a{color:var(--blue,#2563eb);text-decoration:underline}.confirm-modal-body{color:var(--text,#1a2233);font-size:.95rem;line-height:1.5}.secret-reveal{flex-direction:column;gap:1rem;display:flex}.secret-field{flex-direction:column;gap:.35rem;display:flex}.secret-field-row{align-items:stretch;gap:.5rem;display:flex}.secret-field-row .filter-input{flex:1;min-width:0}.secret-field-row .ghost-btn{flex-shrink:0;min-width:6rem}
