:root{--bg: #eef3f8;--bg-alt: #dfe8f2;--bg-card: #ffffff;--border: #d0dceb;--border-focus: #2f5f93;--text: #0f2438;--text-secondary: #2f4f6d;--text-muted: #58748e;--accent: #00508f;--accent-soft: #dce9f8;--success: #2d6a4f;--success-bg: #edf5f0;--warning: #b5830a;--warning-bg: #fdf8ec;--danger: #9b2c2c;--danger-bg: #fdf0f0;--info: #1f70ba;--info-bg: #e9f3ff;--donut-track-color: #c7d5e6;--donut-remaining-color: #93a8c1;--sidebar-bg: linear-gradient(180deg, #0f2740 0%, #0b1e31 100%);--sidebar-text: #c7d7e7;--sidebar-active: #ffffff;--sidebar-label: #e8f0f9;--sidebar-hover: rgba(255, 255, 255, .12);--radius: 8px;--radius-lg: 14px;--shadow-sm: 0 2px 6px rgba(15, 40, 64, .08);--shadow: 0 8px 20px rgba(15, 40, 64, .12);--shadow-lg: 0 16px 36px rgba(9, 24, 39, .2);--transition: .15s ease;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--table-font-size: .8rem;--table-header-font-size: .68rem;--table-text: var(--text-secondary);--table-header-text: var(--text-muted);--table-row-height: 42px;--native-icon-filter: none;--native-icon-opacity: 1;--select-chevron-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232f4f6d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 8 10 12 14 8'/%3E%3C/svg%3E");--login-wave-color: #2f5f93;--login-wave-opacity: .34;--login-dot-from: rgba(0, 80, 143, .72);--login-dot-to: rgba(47, 95, 147, .5)}[data-theme=dark]{--bg: #091a2b;--bg-alt: #0d2237;--bg-card: #122b43;--border: #29445e;--border-focus: #70a6d4;--text: #eef6fc;--text-secondary: #c4d7e7;--text-muted: #91abc1;--accent: #79b7e8;--accent-soft: #193c59;--success: #4caf80;--success-bg: #143a32;--warning: #daa520;--warning-bg: #3b321d;--danger: #e57373;--danger-bg: #43252d;--info: #64b5f6;--info-bg: #173954;--donut-track-color: rgba(255, 255, 255, .1);--donut-remaining-color: rgba(255, 255, 255, .24);--sidebar-bg: linear-gradient(180deg, #071827 0%, #0a2034 100%);--sidebar-text: #b8cee0;--sidebar-active: #fff;--sidebar-label: #dfebf7;--sidebar-hover: rgba(121, 183, 232, .13);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5);--native-icon-filter: brightness(0) invert(1);--native-icon-opacity: 1;--select-chevron-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23e4e4e4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 8 10 12 14 8'/%3E%3C/svg%3E");--login-wave-color: #79b7e8;--login-wave-opacity: .28;--login-dot-from: rgba(121, 183, 232, .78);--login-dot-to: rgba(86, 142, 187, .56)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}aside{background:var(--sidebar-bg);color:var(--sidebar-text);padding:1.5rem 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}.brand{padding:0 1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center}.brand-title{font-size:.72rem;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--text-muted)}.brand-subtitle{font-size:1.05rem;font-weight:600;color:var(--sidebar-active);letter-spacing:.2px}.brand-logo{width:140px;height:auto;display:block;filter:brightness(0) invert(1)}aside h2{display:none}aside nav{display:flex;flex-direction:column;gap:2px;padding:.5rem .75rem;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.performance-page{display:flex;flex-direction:column;gap:1rem}.performance-cycle-picker{display:flex;align-items:flex-end;gap:.6rem}.performance-cycle-picker label{min-width:230px}.performance-tabs{margin-bottom:.25rem;overflow-x:auto}.performance-stack{display:flex;flex-direction:column;gap:1rem}.performance-overview-band,.performance-action-band,.performance-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem}.performance-overview-band,.performance-action-band{display:flex;align-items:center;justify-content:space-between;gap:1rem}.performance-overview-band{border-left:4px solid var(--accent)}.performance-overview-band h2,.performance-action-band h3,.performance-section h2{margin:.1rem 0;font-size:1.15rem;letter-spacing:0}.performance-overview-band p,.performance-action-band p{color:var(--text-muted)}.performance-action-band.warning{border-color:var(--warning);background:var(--warning-bg)}.performance-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.7rem}.performance-metrics.compact{min-width:min(640px,58vw);grid-template-columns:repeat(4,minmax(110px,1fr))}.performance-goals-cell{min-width:220px;max-width:360px;white-space:normal;overflow-wrap:anywhere}.table-actions.performance-team-actions{min-width:190px;flex-wrap:wrap}.performance-metric{min-height:74px;padding:.7rem .8rem;background:var(--bg-card);border:1px solid var(--border);border-top:3px solid var(--info);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:center}.performance-metric span{color:var(--text-muted);font-size:.73rem;text-transform:uppercase;font-weight:600}.performance-metric strong{color:var(--text);font-size:1.25rem}.performance-metric.good{border-top-color:var(--success)}.performance-metric.attention{border-top-color:var(--warning)}.performance-metric.late{border-top-color:var(--danger)}.performance-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:.8rem}.performance-goal-card{min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-sm)}.performance-goal-heading{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:.65rem}.performance-goal-heading h3{font-size:1rem;line-height:1.35;overflow-wrap:anywhere;letter-spacing:0}.performance-goal-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700}.performance-status{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:.15rem .5rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-alt);color:var(--text-secondary);font-size:.7rem;font-weight:700;white-space:nowrap}.performance-status.success{color:var(--success);background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.performance-status.warning{color:var(--warning);background:var(--warning-bg);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.performance-status.danger{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.performance-details{display:grid;gap:.45rem}.performance-details div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:.5rem}.performance-details dt{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;font-weight:600}.performance-details dd{color:var(--text-secondary);overflow-wrap:anywhere}.smart-mini{display:flex;flex-wrap:wrap;gap:.35rem}.smart-mini span{padding:.1rem .35rem;color:var(--success);background:var(--success-bg);border-radius:4px;font-size:.72rem;font-weight:700}.performance-progress{margin-top:auto}.performance-progress>div:first-child{display:flex;justify-content:space-between}.performance-progress-track{height:7px;margin-top:.25rem;border-radius:4px;background:var(--bg-alt);overflow:hidden}.performance-progress-track span{display:block;height:100%;background:var(--success)}.performance-filter-row{display:flex;gap:.4rem;overflow-x:auto}.performance-filter-row button{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border);white-space:nowrap}.performance-filter-row button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.performance-page table td small{display:block;color:var(--text-muted)}.performance-empty{grid-column:1 / -1;min-height:150px;display:grid;place-items:center;color:var(--text-muted);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius)}.performance-completion-number{color:var(--success);font-size:2rem}.performance-modal.wide{width:min(1080px,calc(100vw - 2rem));max-width:1080px}.performance-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.performance-modal-header h2{margin:0;font-size:1.15rem}.performance-smart-form{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:1rem;align-items:start}.performance-form-sections,.performance-checkin-list{display:grid;gap:.8rem}.performance-goal-form fieldset,.performance-checkin-list fieldset,.performance-modal fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.8rem}.performance-goal-form legend,.performance-checkin-list legend,.performance-modal legend{padding:0 .35rem;color:var(--text);font-weight:700}.performance-goal-form legend span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:.3rem;border-radius:4px;color:#fff;background:var(--accent)}.smart-check-panel{position:sticky;top:0;border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;background:var(--bg-alt)}.smart-check-panel h3{margin-bottom:.5rem;font-size:.9rem}.smart-check-panel div{display:grid;grid-template-columns:22px 1fr;padding:.3rem 0;color:var(--text-muted)}.smart-check-panel div.passed{color:var(--success);font-weight:600}.performance-overall-confirm{border:1px solid var(--accent);border-radius:var(--radius);padding:.75rem;background:var(--accent-soft)}.performance-note{margin-top:.75rem;padding:.75rem;border-left:3px solid var(--warning);background:var(--warning-bg)}@media (max-width: 1180px){.performance-goal-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.performance-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width: 760px){.performance-page .page-header,.performance-overview-band,.performance-action-band,.performance-cycle-picker{align-items:stretch;flex-direction:column}.performance-cycle-picker label{min-width:0}.performance-goal-grid,.performance-metrics,.performance-metrics.compact{grid-template-columns:1fr;min-width:0}.performance-smart-form{grid-template-columns:1fr}.smart-check-panel{position:static}.performance-goal-heading{grid-template-columns:32px minmax(0,1fr)}.performance-goal-heading .performance-status{grid-column:2}}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:.35rem}.nav-group-items{display:flex;flex-direction:column;gap:2px}.nav-group-items[hidden]{display:none}aside nav a{color:var(--sidebar-text);padding:.55rem .75rem;border-radius:var(--radius);font-size:.875rem;font-weight:400;display:flex;align-items:center;gap:.5rem;transition:background var(--transition),color var(--transition);text-decoration:none}.nav-alert-badge{margin-left:auto;min-width:18px;height:18px;border-radius:99px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}aside nav a:hover{background:var(--sidebar-hover);color:var(--sidebar-active);text-decoration:none}aside nav a.active{background:linear-gradient(90deg,#ffffff3d,#ffffff1a);color:var(--sidebar-active);font-weight:500}.nav-divider{height:1px;background:#ffffff14;margin:.5rem 0}.nav-section-label{font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--sidebar-label);padding:.75rem .75rem .3rem}.nav-group-toggle{width:100%;min-height:30px;margin:0;border:0;border-radius:4px;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;transition:background-color var(--transition),color var(--transition)}.nav-group-toggle:hover{background:var(--sidebar-hover);color:var(--sidebar-active);box-shadow:none;transform:none}.nav-group-toggle:active{transform:none}.nav-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-group-chevron{width:7px;height:7px;margin-left:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}.nav-group-toggle[aria-expanded=false] .nav-group-chevron{transform:rotate(-45deg)}aside .user-info{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}aside .user-info .user-name{font-size:.875rem;font-weight:500;color:var(--sidebar-active)}.app-main-shell{min-width:0;width:100%}.app-topbar{min-height:56px;padding:0 2.5rem;display:flex;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--border);background:var(--bg)}.topbar-actions{display:flex;align-items:center;gap:.5rem}.topbar-icon-btn{width:36px;height:36px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;background:var(--bg-alt);border:1px solid var(--border);color:var(--text-secondary)}.topbar-icon-btn:hover{background:var(--accent-soft);border-color:var(--border-focus);transform:none;box-shadow:none}.topbar-icon-btn:active{transform:none}.profile-trigger{width:36px;height:36px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;letter-spacing:0;background:var(--accent);color:#fff;border:1px solid var(--accent)}.profile-trigger:hover{transform:none;filter:brightness(.94)}.app-main-shell main{padding-top:1rem}main{padding:2rem 2.5rem;width:100%;max-width:none;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.page-header h1,h1{font-size:1.5rem;font-weight:600;letter-spacing:-.5px;color:var(--text);margin-bottom:.25rem}.page-header h2,h2{font-size:1.15rem;font-weight:600;letter-spacing:-.3px;color:var(--text);margin-bottom:.25rem;margin-top:2rem}.page-header p.muted,.muted{font-size:.8rem;color:var(--text-muted)}.dashboard-greeting{font-size:1.35rem;font-weight:800;letter-spacing:-.2px;color:var(--text);margin-top:.2rem}.section-gap{margin-top:2.5rem}.dashboard-panel{border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:32px;background:var(--bg-card)}.panel-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card h3{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.75rem}.card .stat-value{font-size:1.75rem;font-weight:700;letter-spacing:-1px;color:var(--text)}.card .stat-label{font-size:.8rem;color:var(--text-secondary)}.stat-card{width:100%;text-align:left;cursor:pointer}.stat-group{width:100%}.stat-group-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:8px}.stat-row{display:flex;gap:12px;flex-wrap:wrap}.stat-row .stat-card{flex:1;min-width:180px}.stat-card.is-active{border-color:var(--text);box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-groups-grid{grid-template-columns:1fr;gap:1.25rem}.dashboard-table-header{margin-top:1rem;margin-bottom:1rem}.admin-status-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1rem}.detail-grid p{margin:.25rem 0;color:var(--text-secondary)}.budget-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.budget-card h4{font-size:.85rem;font-weight:600;margin-bottom:.75rem}.budget-bar{height:6px;background:var(--border);border-radius:99px;overflow:hidden;margin:8px 0 4px}.budget-bar-fill{height:100%;border-radius:99px;transition:width .4s ease}.budget-bar-fill.low{background:var(--success)}.budget-bar-fill.medium{background:var(--warning)}.budget-bar-fill.high{background:var(--danger)}.budget-amounts{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.budget-amounts .spent{font-weight:600;color:var(--text)}.budget-pct{font-size:11px;color:var(--text-muted);margin-top:4px;display:block}button{font-family:var(--font);font-size:.8rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid #2a5a7f;background:#1e4d6b;color:#fff;cursor:pointer;transition:all var(--transition);white-space:nowrap}button:hover{background:#26607e;transform:translateY(-1px);box-shadow:var(--shadow)}button:active{transform:translateY(0)}button.secondary{background:transparent;color:var(--text);border-color:var(--border)}button.secondary:hover{background:var(--bg-alt);border-color:var(--border-focus)}:root .signout-button{background:var(--danger);border-color:var(--danger);color:#fff}:root .signout-button:hover{background:#7c2222;border-color:#7c2222}[data-theme=dark] .signout-button{background:transparent;color:var(--text);border-color:var(--border)}[data-theme=dark] .signout-button:hover{background:var(--bg-alt);border-color:var(--border-focus)}button.danger{background:var(--danger);border-color:var(--danger)}button.danger:hover{background:#7c2222}button.success{background:var(--success);border-color:var(--success)}button.success:hover{background:#245840}button.sm{font-size:.75rem;padding:.35rem .65rem}button:disabled{opacity:.4;cursor:not-allowed;transform:none}label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500;color:var(--text-secondary)}input,select,textarea{font-family:var(--font);font-size:.875rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2rem;background-image:var(--select-chevron-icon);background-repeat:no-repeat;background-position:right .55rem center;background-size:14px 14px}select:not([multiple]):not([size])::-ms-expand{display:none}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #1f70ba29}input[type=date],input[type=time],input[type=month],input[type=datetime-local],select{color-scheme:light}[data-theme=dark] input[type=date],[data-theme=dark] input[type=time],[data-theme=dark] input[type=month],[data-theme=dark] input[type=datetime-local],[data-theme=dark] select{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{filter:var(--native-icon-filter);opacity:var(--native-icon-opacity)}.leave-request-form .leave-submission-date-field{grid-column:1 / -1;max-width:320px}.leave-request-form .leave-signature-field{grid-column:1 / -1}.leave-request-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem}.modal.leave-pdf-preview-modal{display:flex;flex-direction:column;width:min(960px,calc(100vw - 2rem));max-width:960px;height:min(820px,calc(100vh - 2rem));overflow:hidden}.leave-pdf-preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.leave-pdf-preview-header h2{margin-bottom:1rem}.leave-pdf-preview-frame{flex:1;width:100%;min-height:360px;border:1px solid var(--border);background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label:last-of-type:nth-child(odd){grid-column:1 / -1}.overtime-form-grid{grid-template-columns:repeat(3,minmax(180px,240px));column-gap:.9rem;row-gap:.75rem;justify-content:start;align-items:end}.overtime-form-grid label:last-of-type:nth-child(odd){grid-column:auto}.overtime-field-full{grid-column:1 / -1;max-width:738px}.overtime-form-actions{display:flex;gap:.5rem;justify-content:flex-start}.form-actions{grid-column:1 / -1;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.5rem}.error{color:var(--danger);font-size:.8rem;font-weight:500}.success-text{color:var(--success);font-size:.8rem;font-weight:500}.error-text{color:var(--danger);font-size:.8rem;font-weight:500}.signature-wrap{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.signature-canvas{width:100%;height:220px;display:block;cursor:crosshair;touch-action:none}.inline-password-row{display:flex;gap:.5rem;align-items:center}.inline-password-row input{flex:1}.password-rules{margin:-.5rem 0 0;padding-left:0;list-style:none;font-size:.75rem}.password-rules li{margin:.15rem 0}.password-rules li.passed{color:var(--success)}.password-rules li.failed{color:var(--danger)}table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font);font-size:var(--table-font-size);color:var(--table-text);margin-bottom:1.5rem}.table-system{width:100%;min-width:0}.table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;padding-bottom:.25rem}.standard-table{width:max-content;min-width:100%;table-layout:auto}thead th{font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:var(--table-header-font-size);color:var(--table-header-text);border-bottom:2px solid var(--border);padding:.6rem .75rem;text-align:left;white-space:nowrap;vertical-align:bottom}tbody td{padding:.65rem .75rem;border-bottom:1px solid var(--bg-alt);color:var(--table-text);vertical-align:middle;white-space:nowrap;height:var(--table-row-height);line-height:1.25}tbody tr{transition:background var(--transition)}tbody tr:hover{background:var(--bg-alt)}.table-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:nowrap;white-space:nowrap}.daily-allowance-settlement-note{margin:-.25rem 0 .75rem}.daily-allowance-settlement-control{display:inline-grid;grid-template-columns:120px auto;gap:.4rem;align-items:center;min-width:180px}.daily-allowance-settlement-control input{width:120px;min-width:0;text-align:right}.col-hidden{display:none}.th-content{display:flex;align-items:center;justify-content:space-between;gap:.45rem;white-space:nowrap}.column-filter{display:inline-flex;flex:0 0 auto}.column-filter-trigger{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--table-header-text);cursor:pointer;line-height:1;transition:background var(--transition),border-color var(--transition),color var(--transition)}.column-filter-trigger:hover,.column-filter-trigger.active,.column-filter-trigger.open{background:var(--accent-soft);border-color:var(--border);color:var(--accent)}.column-filter-panel{position:fixed;z-index:1000;min-width:230px;max-width:calc(100vw - 1rem);max-height:320px;overflow:auto;padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);color:var(--text);text-transform:none;letter-spacing:normal}.column-filter-title{font-size:.76rem;font-weight:700;margin-bottom:.55rem;color:var(--text)}.column-filter-options{display:grid;gap:.35rem;max-height:150px;overflow:auto;margin-bottom:.6rem}.column-filter-option{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:var(--text-secondary)}.column-filter-field{display:grid;gap:.25rem;margin-bottom:.55rem;font-size:.72rem;color:var(--text-muted)}.column-filter-field input,.column-filter-field select{min-width:0;width:100%;font-size:.78rem}.column-filter-range{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.table-filter-summary{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin:0 0 .55rem;color:var(--text-muted);font-size:.75rem}.numeric-cell{text-align:right;font-variant-numeric:tabular-nums}.table-primary-text{color:var(--text);font-weight:600}.cell-secondary{color:var(--text-muted)}.table-empty-state{margin:0;padding:.8rem;text-align:center}.subtotal-row td,.grand-total-row td{background:var(--bg-alt);color:var(--text)}.dashboard-requests-table tbody tr:nth-child(2n){background:#ffffff05}.status-pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;letter-spacing:.3px;white-space:nowrap}.status-red{background:var(--danger-bg);color:var(--danger)}.status-yellow{background:var(--warning-bg);color:var(--warning)}.status-green{background:var(--success-bg);color:var(--success)}.status-blue{background:var(--info-bg);color:var(--info)}.status-default{background:var(--accent-soft);color:var(--text-secondary)}.timeline{list-style:none;padding-left:1.5rem;border-left:2px solid var(--border)}.timeline li{position:relative;padding:.75rem 0 .75rem 1rem;font-size:.8rem;color:var(--text-secondary)}.timeline li:before{content:"";position:absolute;left:-1.55rem;top:1rem;width:8px;height:8px;background:var(--accent);border-radius:50%;border:2px solid var(--bg)}.timeline li strong{color:var(--text);font-weight:600}.timeline li span{display:block;font-size:.7rem;color:var(--text-muted);margin-top:2px}.timeline li p{margin-top:.25rem;font-style:italic;color:var(--text-muted)}.timeline .actor-name{font-weight:500;color:var(--text-secondary)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at top,#f8fbff,#e6eef7 45%,#d9e5f2);position:relative;overflow:hidden}.login-container--wave{background:#0c2a46}.login-wave-video,.login-wave-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-wave-video{display:block;object-fit:cover;object-position:center}.login-wave-overlay{background:linear-gradient(180deg,#04111d3d,#04111d75),radial-gradient(circle at center,transparent 20%,rgba(4,17,29,.18) 100%)}.login-dot-field,.login-dot-field canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-dot-field{overflow:hidden}.login-dot-field canvas{display:block}[data-theme=dark] .login-container{background:radial-gradient(circle at top,#173a57,#0d2237 48%,#091a2b)}[data-theme=dark] .login-container--wave{background:#071b2d}.login-card{background:linear-gradient(180deg,#fffffff7,#f7fafdf7);border:1px solid #cfdced;border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:380px;box-shadow:var(--shadow-lg);position:relative;z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .login-card{background:linear-gradient(180deg,#122b43f0,#0d2237f0);border-color:var(--border)}@media (prefers-reduced-motion: reduce){.login-container--wave{background:radial-gradient(ellipse at 72% 40%,rgba(103,143,181,.34),transparent 34%),radial-gradient(ellipse at 28% 68%,rgba(48,94,136,.42),transparent 40%),linear-gradient(135deg,#123e64,#0b2946 52%,#061827)}.login-wave-video{display:none}.login-wave-overlay{background:#04111d29}}@media (max-width: 640px){.login-wave-video{object-position:58% center}.login-card{margin:1rem;padding:2rem}}.login-card .login-brand{text-align:center;margin-bottom:2.15rem}.login-logo{display:block;width:168px;height:auto;margin:0 auto}[data-theme=dark] .login-logo{filter:brightness(0) invert(1)}.login-card .login-brand h1{font-size:1.35rem;font-weight:700;letter-spacing:-.2px}.login-card .login-brand p{font-size:.75rem;color:#2f5f93;text-transform:uppercase;letter-spacing:2px}[data-theme=dark] .login-card .login-brand p{color:var(--accent)}@media (max-width: 960px){.layout{grid-template-columns:1fr}aside{position:static;height:auto;overflow:visible}aside nav{overflow:visible}main{padding:1.25rem}.app-topbar{padding:0 1.25rem}.app-main-shell main{padding-top:.75rem}.profile-details-grid,.overtime-form-grid{grid-template-columns:1fr}.overtime-field-full{max-width:100%}}@media (max-width: 1024px){.dashboard-panel{padding:18px}.donut-chart-wrapper{flex-direction:column;align-items:flex-start;gap:18px}}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-card button{width:100%;padding:.7rem;margin-top:.5rem}.user-role-badge{display:inline-block;white-space:nowrap;font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:99px;text-transform:uppercase;letter-spacing:.5px}.role-badge-stack{display:flex;flex-wrap:nowrap;gap:.25rem}.role-badge-stack-compact{width:15rem;max-width:100%;align-items:center}.role-badge-stack-compact.is-expanded{flex-wrap:wrap}.role-overflow-toggle{width:28px;min-width:28px;height:24px;padding:0;border-radius:4px;background:var(--bg-alt);border-color:var(--border);color:var(--text-secondary);font-size:1rem;line-height:1}.role-overflow-toggle:hover{background:var(--accent-soft);border-color:var(--border-focus);color:var(--accent)}.employee-country-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem 1rem;margin:-.25rem 0 1rem;padding:.7rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8rem}.employee-country-summary-label{color:var(--text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0}.employee-country-count strong{color:var(--text);font-variant-numeric:tabular-nums}.column-visibility-control{position:relative}.column-visibility-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:40;width:min(330px,calc(100vw - 2rem));max-height:min(460px,calc(100vh - 8rem));overflow-y:auto;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-lg);color:var(--text);white-space:normal}.column-visibility-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.column-visibility-options{display:grid;gap:.2rem}.column-visibility-option{display:flex;align-items:center;gap:.55rem;min-height:2rem;margin:0;padding:.25rem .35rem;border-radius:4px;cursor:pointer}.column-visibility-option:hover{background:var(--bg-alt)}.column-visibility-option input{width:auto;margin:0}.column-visibility-option:has(input:disabled){color:var(--text-muted);cursor:default}.employee-directory-table .sticky-column{position:sticky;left:0;z-index:2;width:240px;min-width:240px;max-width:240px;background:var(--bg);box-shadow:1px 0 0 var(--border)}.employee-directory-table thead .sticky-column{z-index:3}.employee-directory-table tbody tr:hover>.sticky-column{background:var(--bg-alt)}.role-employee{background:var(--info-bg);color:var(--info)}.role-manager{background:var(--warning-bg);color:var(--warning)}.role-finance{background:var(--success-bg);color:var(--success)}.role-admin{background:var(--danger-bg);color:var(--danger)}.role-auditor{background:var(--bg-alt);color:var(--text);border:1px solid var(--border)}.role-hr{background:#fef3c7;color:#92400e}.role-facility{background:#dcfce7;color:#166534}.role-procurement{background:#cffafe;color:#155e75}.role-policy{background:#e0e7ff;color:#3730a3}[data-theme=dark] .role-hr{background:#3a2f14;color:#facc15}[data-theme=dark] .role-facility{background:#123525;color:#4ade80}[data-theme=dark] .role-procurement{background:#164e63;color:#67e8f9}[data-theme=dark] .role-policy{background:#25244a;color:#a5b4fc}.role-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .75rem;margin-bottom:.75rem}.role-checkbox-item{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-secondary)}.inline-checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary)}.active-badge{color:var(--success)}.inactive-badge{color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;width:100%;max-width:480px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 2rem);overflow-y:auto}.modal h2{font-size:1.1rem;margin-top:0;margin-bottom:1rem}.profile-modal{max-width:720px}.profile-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.profile-modal-header h2,.profile-modal-header p{margin-bottom:0}.profile-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.profile-details-grid>div{min-width:0;display:flex;flex-direction:column;gap:.2rem}.profile-details-grid span,.profile-section-label{color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0}.profile-details-grid strong{overflow-wrap:anywhere}.profile-role-section{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;margin-top:1rem}.profile-modal form{margin-top:1rem}.profile-actions{justify-content:space-between!important}.deployment-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:#071e3494;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.deployment-update-dialog{width:min(100%,420px);padding:1.5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-lg)}.deployment-update-dialog h2{margin:0 0 .5rem;font-size:1.25rem}.deployment-update-dialog p{margin:0 0 1.25rem;color:var(--text-muted)}.deployment-update-dialog button{width:100%}.modal form{display:flex;flex-direction:column;gap:.75rem}.modal .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem;padding-top:.75rem;position:sticky;bottom:0;background:var(--bg-card);box-shadow:0 -8px 12px -8px var(--bg-card)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-weight:500;padding:.5rem 1rem;margin-bottom:-2px;cursor:pointer;transition:all var(--transition)}.tab-btn:hover{color:var(--text);background:none;transform:none;box-shadow:none}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.expense-type-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;border-radius:99px;text-transform:uppercase}.type-benefit{background:var(--info-bg);color:var(--info)}.type-travel{background:var(--warning-bg);color:var(--warning)}.type-protocol{background:var(--success-bg);color:var(--success)}.type-other{background:#e0f2fe;color:#0369a1}.type-overtime{background:var(--accent-soft);color:var(--accent)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.875rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.audit-table-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.audit-filters{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}.audit-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-muted)}.audit-filters input{min-width:200px}.audit-table-card{padding:1.25rem 1.5rem}.audit-table-wrap{width:100%;overflow-x:auto}.audit-transactions-table{width:100%;min-width:1080px;table-layout:auto;font-size:var(--table-font-size)}.audit-transactions-table thead th{font-size:var(--table-header-font-size);padding:.55rem .45rem;white-space:nowrap}.audit-transactions-table tbody td{padding:.55rem .45rem;overflow-wrap:normal;vertical-align:middle;white-space:nowrap}.audit-cell-main{display:inline;font-weight:500}.audit-cell-meta{display:inline;color:var(--text-muted);font-size:.72rem}.audit-cell-note{display:inline;font-size:.72rem;color:var(--text-muted)}.audit-cell-main+.audit-cell-meta:before,.audit-cell-meta+.audit-cell-note:before{content:" · ";color:var(--text-muted)}.team-budget-filters{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap}.team-section-header{margin-bottom:1rem}.team-member-multiselect{min-width:240px;min-height:110px}.team-benefit-chart-card{margin-bottom:1rem}.spend-overview-dual-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:32px}.spend-overview-summary-grid{margin-bottom:1.2rem}.spend-overview-chart-card{margin-bottom:1.4rem}.spend-overview-team-card{margin-top:.2rem}.spend-overview-donut-panel h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.team-kpi-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.kpi-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 18px;flex:1;min-width:140px}.kpi-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.kpi-value{font-size:22px;font-weight:700;color:var(--text)}.donut-chart-wrapper{display:flex;align-items:center;gap:32px;padding:16px 0}.donut-chart{width:180px;height:180px;flex-shrink:0}.donut-center-value{fill:var(--text);font-size:18px;font-weight:700}.donut-center-sub{fill:var(--text-muted);font-size:11px}.donut-legend{display:flex;flex-direction:column;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-label{flex:1;color:var(--text-secondary)}.legend-val{color:var(--text);font-weight:600}.benefit-usage-cell{min-width:260px}.usage-bar-wrap{white-space:nowrap}.usage-bar-track{height:4px;background:var(--border);border-radius:99px;margin-bottom:4px;overflow:hidden}.usage-bar-fill{height:100%;border-radius:99px}.usage-text small{color:var(--text-muted);font-size:10px}.travel-spend-empty{color:var(--text-muted)}.travel-spend-value{font-weight:600;color:var(--text)}.login-footer-links{margin-top:1rem;text-align:center;font-size:.85rem}.privacy-card{max-width:720px}.privacy-card h2{margin-top:1rem;margin-bottom:.5rem;font-size:1rem}.privacy-card ul{margin-left:1.2rem}.notif-bell{position:relative;display:inline-flex}.notif-bell-badge{position:absolute;top:-6px;right:-6px;margin-left:0;border:1px solid var(--bg)}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:300px;max-width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #00000040;z-index:1000;overflow:hidden}.notif-dropdown-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.85rem;color:var(--text-secondary)}.notif-list{max-height:360px;overflow-y:auto}.notif-empty{padding:1rem .75rem;color:var(--text-muted);font-size:.85rem}.notif-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);padding:.6rem .75rem;cursor:pointer}.notif-item:hover{background:var(--accent-soft)}.notif-item.unread{background:var(--info-bg)}.notif-item-title{font-weight:600;font-size:.82rem;color:var(--text)}.notif-item-body{font-size:.8rem;color:var(--text-secondary);margin-top:.15rem}.notif-item-time{font-size:.72rem;color:var(--text-muted);margin-top:.2rem}.ref-status,.role-status{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;letter-spacing:.3px;white-space:nowrap}.ref-status-new{background:var(--info-bg);color:var(--info)}.ref-status-review{background:var(--warning-bg);color:var(--warning)}.ref-status-shortlisted{background:var(--accent-soft);color:var(--accent)}.ref-status-rejected{background:var(--danger-bg);color:var(--danger)}.ref-status-hired{background:var(--success-bg);color:var(--success)}.role-status-draft{background:var(--accent-soft);color:var(--text-secondary)}.role-status-open{background:var(--success-bg);color:var(--success)}.role-status-hold{background:var(--warning-bg);color:var(--warning)}.role-status-closed{background:var(--danger-bg);color:var(--danger)}.table-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:340px;color:var(--text-secondary)}.referral-jd{white-space:pre-wrap;background:var(--bg-alt, var(--bg-card));border:1px solid var(--border);border-radius:8px;padding:.75rem .9rem;margin-top:.5rem;max-height:320px;overflow-y:auto;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.referral-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin-top:.5rem}.referral-detail-grid .muted{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.4px}.page-subtitle{color:var(--text-muted);font-size:.85rem;margin:-.25rem 0 1rem}.diagram-stage{display:flex;flex-direction:column;gap:.75rem}.diagram-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.diagram-stage-title{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.diagram-stage-title strong{font-size:1.05rem;color:var(--text)}.diagram-stage-msg{font-size:.8rem;color:var(--text-muted)}.admin-status-card-button{display:block;width:100%;text-align:left;color:var(--text);background:var(--bg-card);border-color:var(--border)}.admin-status-card-button:hover{background:var(--bg-card);border-color:var(--border-focus);box-shadow:var(--shadow)}.admin-session-list{margin-top:1rem}.admin-session-list table{min-width:720px}.diagram-conflict-banner,.canvas-validation-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-radius:var(--radius-md);padding:.65rem .8rem;background:var(--warning-bg);color:var(--text);font-size:.84rem}.canvas-validation-list{display:grid;gap:.55rem;margin:.75rem 0}.canvas-validation-item.blocking{border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.diagram-meta-muted{font-size:.78rem;color:var(--text-muted)}.diagram-canvas-host{position:relative;width:100%;height:72vh;min-height:520px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);box-shadow:var(--shadow-sm)}.diagram-canvas-host .excalidraw{height:100%;width:100%}.diagram-canvas-surface{width:100%;height:100%}.diagram-history-controls{display:inline-flex;align-items:center;gap:.35rem}.diagram-history-button{width:34px;min-width:34px;height:32px;padding:0;font-size:1.15rem;line-height:1}.diagram-history-button:before{display:block}.diagram-history-button.undo:before{content:"↶"}.diagram-history-button.redo:before{content:"↷"}.diagram-canvas-host .excalidraw button[aria-label^=Undo],.diagram-canvas-host .excalidraw button[aria-label^=Redo]{display:none}.diagram-two-bend-action{min-width:112px;white-space:nowrap;box-shadow:var(--shadow-sm)}.diagram-canvas-host .excalidraw [role=dialog][aria-label^=arrowhead_] .picker-option[aria-keyshortcuts=w]{display:none}.diagram-canvas-host .buttonList:has(input[name=sloppiness]) label:not(:first-child){display:none}.diagram-canvas-host .FontPicker__container [data-testid=font-family-hand-drawn],.diagram-canvas-host .FontPicker__container [data-testid=font-family-code],.diagram-canvas-host .FontPicker__container [data-testid=font-family-show-fonts],.diagram-canvas-host .FontPicker__container button[value="1"],.diagram-canvas-host .FontPicker__container button[value="5"],.diagram-canvas-host .FontPicker__container button[value="7"],.diagram-canvas-host .FontPicker__container button[value="8"]{display:none}.diagram-canvas-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.9rem}.diagram-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.diagram-card{display:flex;flex-direction:column;gap:.5rem;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.diagram-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--border-focus)}.diagram-card-top{display:flex;align-items:center;justify-content:space-between}.diagram-card-title{margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text)}.diagram-card-desc{margin:0;font-size:.82rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.diagram-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.4rem;font-size:.72rem;color:var(--text-muted)}.procedure-workspace,.procedure-detail{width:100%}.procedure-tabs{flex-wrap:wrap}.procedure-section-heading,.procedure-detail-header,.procedure-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.procedure-section-heading{margin-bottom:1rem}.procedure-section-heading h2,.procedure-section-heading h3,.procedure-detail-header h1,.procedure-editor-header h2{margin:0}.procedure-section-heading p,.procedure-editor-header p{margin:.25rem 0 0;color:var(--text-secondary)}.procedure-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem}.procedure-library-card{display:flex;min-height:160px;flex-direction:column;align-items:stretch;gap:.7rem;padding:1rem 1.15rem;color:var(--text);text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.procedure-library-card:hover{color:var(--text);background:var(--bg-card);border-color:var(--border-focus);box-shadow:var(--shadow);transform:translateY(-1px)}.procedure-library-card h3{margin:0;font-size:1rem;line-height:1.35}.procedure-card-top,.procedure-card-meta{display:flex;justify-content:space-between;gap:.6rem;color:var(--text-muted);font-size:.78rem}.procedure-card-meta{flex-direction:column}.procedure-card-link{margin-top:auto;color:var(--accent);font-size:.82rem;font-weight:600}.procedure-progress{display:flex;min-width:170px;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.78rem}.procedure-progress-track{height:7px;min-width:70px;flex:1;overflow:hidden;background:var(--border);border-radius:999px}.procedure-progress-track span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width var(--transition)}.procedure-detail-header{margin-bottom:1rem}.procedure-detail-header h1{margin-top:.75rem}.procedure-detail-meta{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.5rem;color:var(--text-muted);font-size:.82rem}.procedure-detail>.procedure-progress{max-width:520px;margin-bottom:1rem;padding:.7rem .85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.procedure-row-list{overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.procedure-row{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.65rem;min-height:48px;padding:.65rem .8rem;border-bottom:1px solid var(--border)}.procedure-row.has-checkbox{grid-template-columns:2rem auto minmax(0,1fr)}.procedure-row:last-child{border-bottom:0}.procedure-row.is-complete .procedure-row-copy>strong{color:var(--text-muted);text-decoration:line-through}.procedure-row-number{display:inline-grid;width:1.75rem;height:1.75rem;place-items:center;flex:0 0 auto;color:var(--text-muted);background:var(--bg-alt);border-radius:var(--radius);font-size:.78rem;font-weight:700}.procedure-row-checkbox{width:1.05rem;height:1.05rem;margin:.35rem 0 0;accent-color:var(--accent)}.procedure-row-copy{min-width:0;padding-top:.22rem}.procedure-row-copy>strong{display:block;overflow-wrap:anywhere;line-height:1.35}.procedure-row-copy details{margin-top:.3rem}.procedure-row-copy summary{width:max-content;color:var(--accent);cursor:pointer;font-size:.78rem}.procedure-row-copy p{max-width:900px;margin:.45rem 0 0;color:var(--text-secondary);line-height:1.55;white-space:pre-wrap}.procedure-row-copy p a{color:var(--accent);overflow-wrap:anywhere}.procedure-editor-overlay{align-items:flex-start;padding:1rem}.procedure-editor-modal{width:min(1180px,calc(100vw - 2rem));max-width:none;max-height:calc(100vh - 2rem)}.procedure-editor-meta{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(200px,1fr));gap:.7rem;margin-top:1rem}.procedure-canvas-picker,.procedure-editor-rows{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.procedure-canvas-element-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.3rem .8rem;max-height:240px;overflow-y:auto;padding:.65rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius)}.procedure-canvas-element-list label{display:flex;flex-direction:row;align-items:flex-start;gap:.5rem;min-width:0;padding:.35rem .4rem;color:var(--text);background:var(--bg-card);border-radius:var(--radius);font-weight:500}.procedure-canvas-element-list input{width:1rem;height:1rem;flex:0 0 auto;margin-top:.15rem;accent-color:var(--accent)}.procedure-canvas-element-list span{overflow-wrap:anywhere}.procedure-editor-row-list{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg)}.procedure-editor-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:start;gap:.65rem;padding:.75rem;background:var(--bg-card);border-bottom:1px solid var(--border)}.procedure-editor-row:last-child{border-bottom:0}.procedure-editor-row-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.5fr);gap:.65rem}.procedure-editor-row-fields textarea{min-height:62px;resize:vertical}.procedure-editor-row-fields input[readonly]{color:var(--text-secondary);background:var(--bg-alt);cursor:default}.procedure-linked-label{grid-column:1 / -1;width:max-content;margin-top:-.35rem;color:var(--accent);font-size:.72rem;font-weight:600}.procedure-editor-row-actions{display:flex;gap:.3rem;padding-top:1.45rem}.procedure-table-scroll{width:100%;overflow-x:auto;padding:0}.procedure-manage-table{min-width:960px;margin-bottom:0}.procedure-assignment-table{min-width:720px;margin-bottom:0}.procedure-manage-table td,.procedure-assignment-table td{white-space:normal}.procedure-manage-table td:first-child strong,.procedure-table-subtext{display:block}.procedure-table-subtext{margin-top:.2rem;color:var(--text-muted);font-size:.72rem}.procedure-manage-actions{flex-wrap:wrap}.procedure-assignment-heading{margin-top:1.5rem}.canvas-process-card{cursor:default}.canvas-process-card button{width:max-content;margin-top:auto}.canvas-process-modal{width:min(1320px,calc(100vw - 2rem))}.canvas-process-block-list{display:grid;gap:.65rem}.warning-banner{margin:0 0 .65rem;padding:.65rem .8rem;color:var(--text);background:var(--warning-bg);border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-radius:var(--radius)}.canvas-process-block-editor{padding:0;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition),opacity var(--transition)}.canvas-process-block-editor.is-selected{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-focus) 22%,transparent)}.canvas-process-block-editor.is-selected .canvas-process-block-header{background:color-mix(in srgb,var(--border-focus) 10%,var(--bg-card))}.canvas-process-block-editor.is-dragging{opacity:.55}.canvas-process-diagram-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.canvas-process-diagram-preview{position:relative;width:100%;height:clamp(250px,32vh,380px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.canvas-process-diagram-preview .excalidraw{width:100%;height:100%}.canvas-process-block-header,.procedure-section-heading.compact{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.canvas-process-block-header{min-height:52px;padding:.55rem .7rem;cursor:grab;-webkit-user-select:none;user-select:none}.canvas-process-block-header:active{cursor:grabbing}.canvas-process-block-header strong{min-width:0;flex:1;overflow-wrap:anywhere}.canvas-process-expand-button{display:inline-grid;place-items:center;width:30px;min-width:30px;height:30px;padding:0;border-color:var(--border);background:transparent;color:var(--text);font-size:1.05rem;line-height:1}.canvas-process-expand-button:hover{background:var(--bg-alt);border-color:var(--border-focus)}.canvas-process-block-header-meta{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.canvas-process-order-field{display:flex;flex-direction:row;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.72rem;-webkit-user-select:none;user-select:none}.canvas-process-order-field input{width:58px;min-height:30px;padding:.25rem .35rem;text-align:center}.canvas-process-block-details{padding:.8rem;border-top:1px solid var(--border)}.canvas-process-block-grid{grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.4fr) minmax(180px,1fr) minmax(120px,.7fr) minmax(130px,.7fr) minmax(240px,1.5fr);margin-top:0}.canvas-process-parallel-toggle{display:flex;flex-direction:row;align-items:center;gap:.5rem;align-self:end;min-height:2.45rem}.canvas-process-parallel-toggle input{width:1rem;height:1rem;margin:0}.canvas-process-incoming-dependencies{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}.canvas-process-incoming-dependencies h4{margin:0 0 .55rem}.canvas-process-dependency-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.5rem}.canvas-process-dependency-option{display:grid;gap:.45rem;min-width:0;padding:.55rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius)}.canvas-process-dependency-option>label{display:flex;flex-direction:row;align-items:flex-start;gap:.45rem;min-width:0}.canvas-process-dependency-option>label input{width:1rem;height:1rem;margin:.15rem 0 0}.canvas-process-dependency-option>label span{min-width:0;overflow-wrap:anywhere}.canvas-process-steps{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--border)}.procedure-section-heading.compact{margin-bottom:.6rem}.procedure-section-heading.compact h4{margin:0}.canvas-process-step-editor{display:grid;grid-template-columns:2rem minmax(180px,1.4fr) minmax(180px,1fr) minmax(110px,.6fr) minmax(120px,.6fr) auto;align-items:end;gap:.55rem;padding:.55rem 0;border-top:1px solid var(--border)}.canvas-process-step-editor:first-of-type{border-top:0}.canvas-process-dependency-list{display:grid;gap:.5rem}.canvas-process-dependency-row,.canvas-process-launch-row{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr) auto;align-items:end;gap:.6rem;padding:.65rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius)}.canvas-process-dependency-row{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center}.canvas-process-launch-modal{width:min(900px,calc(100vw - 2rem));max-width:none}.canvas-process-launch-required{display:grid;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.canvas-process-launch-required h3{margin:0}.canvas-process-launch-row{grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(180px,1fr)}.canvas-process-table{min-width:980px}.canvas-process-detail .procedure-progress{max-width:560px}.canvas-process-task-list{display:grid;gap:.75rem}.canvas-process-task-group{overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.canvas-process-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:.8rem;border-bottom:1px solid var(--border)}.canvas-process-task-row:last-child{border-bottom:0}.canvas-process-task-row.nested{padding-left:2.6rem;background:var(--bg-alt)}.canvas-process-task-main{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.canvas-process-task-main>div{min-width:0}.canvas-process-task-main strong{overflow-wrap:anywhere}@media (max-width: 900px){.procedure-editor-meta,.procedure-editor-row-fields,.canvas-process-block-grid,.canvas-process-step-editor,.canvas-process-dependency-row,.canvas-process-launch-row{grid-template-columns:1fr}.procedure-linked-label{grid-column:auto}}@media (max-width: 720px){.procedure-section-heading,.procedure-detail-header,.procedure-editor-header{flex-direction:column}.procedure-library-grid{grid-template-columns:1fr}.procedure-editor-overlay{padding:.5rem}.procedure-editor-modal{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.procedure-editor-row{grid-template-columns:2rem minmax(0,1fr)}.procedure-editor-row-actions{grid-column:2;padding-top:0}.canvas-process-task-row,.canvas-process-task-main{grid-template-columns:1fr;flex-direction:column}.canvas-process-task-row.nested{padding-left:1rem}.procedure-row{grid-template-columns:1.75rem minmax(0,1fr);gap:.45rem}.procedure-row.has-checkbox{grid-template-columns:1.75rem auto minmax(0,1fr)}}.select-cell{width:2.5rem;text-align:center;padding-left:.5rem!important;padding-right:.5rem!important}.select-cell input[type=checkbox]{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:var(--accent)}.bulk-action-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow)}.bulk-action-bar input{flex:1 1 18rem;min-width:12rem}@media (max-width: 720px){.bulk-action-bar{align-items:stretch;flex-direction:column}}.chart-svg{width:100%;height:auto;display:block;margin-top:.5rem;overflow:visible}.chart-gridline{stroke:var(--border);stroke-width:1}.chart-axis-label{fill:var(--text-muted);font-size:.68rem}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--accent);opacity:.12;stroke:none}.chart-point{fill:var(--bg-card);stroke:var(--accent);stroke-width:2;transition:r var(--transition)}.chart-point.is-active{fill:var(--accent)}.chart-hover-guide{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.6}.chart-container{position:relative}.chart-tooltip{position:absolute;z-index:4;display:flex;flex-direction:column;gap:.1rem;padding:.4rem .6rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);white-space:nowrap;pointer-events:none;transform:translate(-50%,calc(-100% - .6rem))}.chart-tooltip-label{color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.chart-tooltip strong{font-size:.95rem}.bar-chart{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.bar-chart-row{display:grid;grid-template-columns:minmax(6rem,14rem) 1fr minmax(8rem,auto);align-items:center;gap:.75rem}.bar-chart-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.bar-chart-track{background:var(--bg-alt);border-radius:var(--radius);height:1.1rem;overflow:hidden}.bar-chart-fill{height:100%;border-radius:var(--radius);transition:width var(--transition)}.bar-chart-value{font-size:.8rem;text-align:right;white-space:nowrap}.budget-bar-mini{position:relative;background:var(--bg-alt);border-radius:var(--radius);height:1.1rem;min-width:5rem;display:flex;align-items:center;justify-content:center}.budget-bar-mini-fill{position:absolute;inset:0 auto 0 0;background:var(--accent-soft);border-radius:var(--radius)}.budget-bar-mini span{position:relative;font-size:.7rem}.budget-calculator-page{max-width:1240px}.budget-calculator-page h1,.budget-calculator-page h2,.budget-calculator-page th,.budget-calculator-page td{letter-spacing:0}.budget-calculator-input-band{padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.budget-calculator-input-band h2,.budget-calculator-assumptions h2,.budget-calculator-results h2{margin:0 0 .75rem;font-size:.9rem}.budget-calculator-input-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:1rem}.budget-calculator-input-grid input{width:100%;font-variant-numeric:tabular-nums}.budget-calculator-input-grid input[readonly]{color:var(--text-muted);background:var(--bg-alt);cursor:default}.budget-calculator-field-note{color:var(--text-muted);font-size:.7rem;font-weight:400}.budget-calculator-page>.warning-banner{margin-top:.75rem}.budget-calculator-assumptions{display:flex;align-items:center;gap:1.5rem;margin:1rem 0;padding:.8rem 1rem;background:var(--bg-alt);border-block:1px solid var(--border)}.budget-calculator-assumptions h2{flex:0 0 auto;margin:0}.budget-calculator-assumptions dl{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.budget-calculator-assumptions dl div{display:flex;gap:.4rem;align-items:baseline}.budget-calculator-assumptions dt{color:var(--text-muted);font-size:.72rem}.budget-calculator-assumptions dd{color:var(--text);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.budget-calculator-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}.budget-calculator-summary-item{min-width:0;padding:.9rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--border-focus);border-radius:var(--radius)}.budget-calculator-summary-item.scenario-a{border-left-color:var(--success)}.budget-calculator-summary-item.scenario-b{border-left-color:var(--info)}.budget-calculator-summary-item.difference{border-left-color:var(--warning)}.budget-calculator-summary-item span,.budget-calculator-summary-item small{display:block;color:var(--text-muted);font-size:.72rem}.budget-calculator-summary-item strong{display:block;margin:.25rem 0 .1rem;color:var(--text);font-size:1.25rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.budget-calculator-table-wrap{overflow-x:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.budget-calculator-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.8rem;font-variant-numeric:tabular-nums}.budget-calculator-table th,.budget-calculator-table td{padding:.65rem .75rem;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.budget-calculator-table thead th{color:var(--table-header-text);background:var(--bg-alt);font-size:var(--table-header-font-size);font-weight:700;text-transform:uppercase}.budget-calculator-table th:first-child{position:sticky;left:0;z-index:1;text-align:left;background:var(--bg-card)}.budget-calculator-table thead th:first-child{z-index:2;background:var(--bg-alt)}.budget-calculator-table tbody th{color:var(--text-secondary);font-weight:600}.budget-calculator-table tbody tr:last-child th,.budget-calculator-table tbody tr:last-child td{border-bottom:none}.budget-calculator-table tbody tr.is-total th,.budget-calculator-table tbody tr.is-total td{color:var(--text);background:var(--success-bg);font-weight:700}.budget-calculator-table .is-negative{color:var(--danger)}.budget-calculator-note{margin-top:.65rem;color:var(--text-muted);font-size:.72rem}.projection-over{color:var(--danger);font-weight:600}.stat-tile{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem;background:var(--bg-alt);border-radius:var(--radius)}.stat-tile .stat-label{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.stat-tile strong{font-size:1.15rem}@media (max-width: 720px){.budget-calculator-input-grid,.budget-calculator-summary{grid-template-columns:1fr}.budget-calculator-assumptions{align-items:flex-start;flex-direction:column;gap:.65rem}.budget-calculator-table{min-width:820px}.bar-chart-row{grid-template-columns:1fr;gap:.25rem}.bar-chart-value{text-align:left}}@media (max-width: 720px){.table-scroll{overflow-x:visible}.standard-table{width:100%;min-width:0!important;display:block}.standard-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.standard-table tbody,.standard-table tfoot{display:block}.standard-table tbody tr{display:block;margin-bottom:.75rem;padding:.25rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.standard-table tbody td{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;height:auto;padding:.4rem 0;border:none;border-bottom:1px solid var(--border);text-align:right}.standard-table tbody tr td:last-child{border-bottom:none}.standard-table tbody td[data-label]:before{content:attr(data-label);flex:0 0 auto;color:var(--text-muted);font-size:var(--table-header-font-size);font-weight:600;letter-spacing:.03em;text-align:left;text-transform:uppercase}.standard-table tbody td:not([data-label]){justify-content:flex-start;text-align:left}.standard-table tbody td.numeric-cell{text-align:right}.standard-table .table-actions{justify-content:flex-end;flex-wrap:wrap}.standard-table tbody tr:has(.table-empty-state){border:none;background:none;box-shadow:none;padding:0}.standard-table tbody tr:has(.table-empty-state) td{display:block;text-align:center}.employee-directory-table .sticky-column{position:static;width:auto;min-width:0;max-width:none;background:transparent;box-shadow:none}}.procurement-page,.ai-settings-page{min-width:0}.procurement-tabs{display:inline-flex;align-items:center;gap:2px;margin:.75rem 0 1rem;padding:3px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.procurement-tabs button{min-width:106px;padding:.48rem .8rem;border:0;background:transparent;color:var(--text-secondary)}.procurement-tabs button.active{background:var(--accent);color:#fff}.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.contract-metric{min-width:0;padding:.9rem 1rem;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);text-align:left;white-space:normal}.contract-metric:last-child{border-right:0}.contract-metric:hover,.stat-row:hover{background:var(--bg-alt);box-shadow:none;transform:none}.contract-metric:focus-visible,.stat-row:focus-visible{position:relative;z-index:1;outline:2px solid var(--border-focus);outline-offset:-2px}.metric-strip span,.metric-strip strong{display:block}.metric-strip span{color:var(--text-muted);font-size:.7rem;text-transform:uppercase}.metric-strip strong{margin-top:.18rem;font-size:1.35rem;line-height:1.25}.contract-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin-top:1.25rem}.contract-dashboard-grid section{padding:.85rem 0;border-top:2px solid var(--border-focus)}.contract-dashboard-grid h2,.supplier-create-panel h2,.ai-settings-form h2,.ai-usage-panel h2{margin-bottom:.75rem;font-size:1rem}.stat-row{display:flex;justify-content:space-between;width:100%;gap:1rem;padding:.48rem 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);font-size:inherit;font-weight:inherit;text-align:left}.contract-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-alt)}.contract-filter-bar strong,.contract-filter-bar span{display:block}.contract-filter-bar span{margin-top:.15rem;color:var(--text-muted);font-size:.75rem}.table-link{padding:0;border:0;background:transparent;color:var(--accent);font-weight:700;text-align:left}.table-actions{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:.18rem .55rem;border-radius:999px;background:var(--bg-alt);color:var(--text-secondary);font-size:.72rem;font-weight:700;white-space:nowrap}.status-active{background:var(--success-bg);color:var(--success)}.status-draft{background:var(--bg-alt);color:var(--text-muted)}.status-expired,.status-terminated,.status-archived{background:var(--danger-bg);color:var(--danger)}.status-notice_due,.status-renewal_due{background:var(--warning-bg);color:var(--warning)}.supplier-master-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:1rem;align-items:start}.supplier-create-panel,.ai-settings-form,.ai-usage-panel{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:1.5rem;background:#041220a3}.contract-editor-modal,.contract-detail-modal,.supplier-editor-modal{max-height:92vh;overflow:auto;padding:0;border-radius:var(--radius)}.supplier-register-heading{padding:1rem;border-bottom:1px solid var(--border)}.supplier-register-heading h2{margin-bottom:.2rem;font-size:1rem}.supplier-register-heading p{color:var(--text-muted)}.linked-contract-list{display:grid;gap:.35rem}.linked-contract-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:240px;gap:.75rem;padding:.35rem .45rem;border-color:var(--border);background:transparent;color:var(--text-secondary);text-align:left;white-space:normal}.linked-contract-link:hover{border-color:var(--border-focus);background:var(--bg-alt)}.contract-editor-modal,.contract-detail-modal{width:calc(100vw - 3rem);max-width:none}.supplier-editor-modal{width:min(560px,96vw)}.supplier-edit-form{display:grid;gap:.75rem;padding:1rem 1.25rem}.contract-editor-modal>form,.contract-detail-modal>section,.contract-detail-grid{padding:0 1.25rem}.modal-header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-card)}.modal-header h2{font-size:1.15rem}.contract-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1rem 0}.contract-form-wide{grid-column:1 / -1}.sticky-modal-actions{position:sticky;bottom:0;margin:0 -1.25rem;padding:.8rem 1.25rem;border-top:1px solid var(--border);background:var(--bg-card)}.contract-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-top:1rem}.contract-detail-grid h3,.document-section h3,.analysis-review h3,.contract-notes h3{margin-bottom:.7rem;font-size:.9rem}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.detail-list>div{min-width:0;padding:.52rem 0;border-bottom:1px solid var(--border)}.detail-list dt{color:var(--text-muted);font-size:.68rem;text-transform:uppercase}.detail-list dd{overflow-wrap:anywhere;color:var(--text-secondary);font-weight:600}.contract-notes,.contract-version-history,.document-section,.analysis-review{margin-top:1rem;padding-top:1rem!important;padding-bottom:1rem!important;border-top:1px solid var(--border)}.contract-version-history{margin-top:1rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}.contract-version-history h3{margin-bottom:.65rem;font-size:.9rem}.version-list details{border-bottom:1px solid var(--border)}.version-list summary{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;cursor:pointer;color:var(--text-secondary)}.version-list summary span{color:var(--text-muted);font-size:.75rem}.section-heading,.file-upload-row,.document-list>div,.analysis-review .section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.file-upload-row input{max-width:min(430px,42vw)}.document-list>div{padding:.65rem 0;border-bottom:1px solid var(--border)}.document-file-details{min-width:0;flex:1}.document-file-details strong,.document-file-details span,.analysis-review .section-heading p,.analysis-review .section-heading>div{min-width:0;overflow-wrap:anywhere}.document-list span{display:block;color:var(--text-muted);font-size:.75rem}.document-list .document-analysis-state{margin-top:.22rem;font-weight:600}.document-analysis-state.completed,.document-analysis-state.applied{color:var(--success)}.document-analysis-state.pending{color:var(--warning)}.document-analysis-state.failed{color:var(--danger)}.analysis-status-message{margin:1rem 1.25rem 0;padding:.7rem .85rem;border:1px solid var(--border-focus);border-radius:var(--radius);background:var(--bg-alt);color:var(--text-secondary)}.analysis-status-message.success{border-color:var(--success);background:var(--success-bg);color:var(--success)}.analysis-status-message.empty,.analysis-status-message.progress{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.analysis-status-message.error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.analysis-empty-result{margin-top:.75rem;color:var(--text-muted)}.document-preview-backdrop{z-index:1200}.document-preview-modal{display:flex;flex-direction:column;width:calc(100vw - 3rem);max-width:none;height:92vh;max-height:92vh;overflow:hidden;padding:0}.document-preview-modal .modal-header h2{min-width:0;overflow-wrap:anywhere}.document-preview-frame{width:100%;min-height:0;flex:1;border:0;background:#fff}.document-preview-unavailable{display:grid;place-items:center;align-content:center;gap:.75rem;min-height:320px;padding:2rem;text-align:center}a.button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:1px solid #2a5a7f;border-radius:var(--radius);background:#1e4d6b;color:#fff;font-size:.8rem;font-weight:500;text-decoration:none;white-space:nowrap}a.button.secondary{border-color:var(--border);background:transparent;color:var(--text)}.analysis-warnings{margin:.6rem 0;padding:.65rem .8rem;border-left:3px solid var(--warning);background:var(--warning-bg);color:var(--warning)}.analysis-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.75rem}.analysis-fields label{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius)}.analysis-fields input{width:16px;height:16px;margin-top:3px}.analysis-fields span,.analysis-fields b,.analysis-fields small{display:block}.analysis-fields b{color:var(--text-secondary);overflow-wrap:anywhere}.analysis-fields small{margin-top:.2rem;color:var(--text-muted)}.ai-settings-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:1rem}.ai-settings-form .section-heading>div{display:flex;align-items:center;gap:.7rem}.switch-control{display:flex;flex-direction:row;align-items:center;gap:.45rem}.switch-control input{width:18px;height:18px}.ai-threshold-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.75rem}.usage-meter{width:100%;height:10px;overflow:hidden;border-radius:5px;background:var(--bg-alt)}.usage-meter span{display:block;height:100%;background:var(--accent)}.ai-budget-alert{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.7rem .9rem;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-bg);color:var(--warning)}.ai-budget-alert.critical{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.success-message{margin-bottom:1rem;color:var(--success)}@media (max-width: 1100px){.metric-strip{grid-template-columns:repeat(3,minmax(120px,1fr))}.contract-metric:nth-child(3){border-right:0}.contract-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-settings-layout{grid-template-columns:1fr}}@media (max-width: 1500px) and (min-width: 1101px){.contract-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.metric-strip,.contract-dashboard-grid,.supplier-master-layout,.contract-detail-grid,.analysis-fields,.detail-list,.ai-threshold-grid{grid-template-columns:1fr}.contract-metric{border-right:0;border-bottom:1px solid var(--border)}.contract-form-grid{grid-template-columns:1fr}.procurement-tabs{width:100%}.procurement-tabs button{flex:1;min-width:0}.contract-filter-bar{align-items:stretch;flex-direction:column}.section-heading,.file-upload-row,.document-list>div{align-items:stretch;flex-direction:column}.file-upload-row input{max-width:100%}.modal-backdrop{padding:0}.contract-editor-modal,.contract-detail-modal,.document-preview-modal{width:100vw;max-height:100vh;min-height:100vh;border-radius:0}}
