:root{color:#1d2528;background:#eef2ef;font-family:Segoe UI,Noto Sans,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{min-height:38px;border:1px solid #c9d2cc;border-radius:6px;background:#fff;color:#1f2b2f;cursor:pointer;padding:0 14px}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{width:100%;min-height:38px;border:1px solid #c9d2cc;border-radius:6px;background:#fff;color:#1f2b2f;padding:0 10px}textarea{min-height:96px;padding:10px;resize:vertical}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{width:auto;min-height:auto}label{display:grid;gap:6px;color:#536066;font-size:12px;font-weight:650}.required-mark{color:#c62828;font-weight:700;margin-left:2px}.role-field{display:grid;gap:6px;color:#536066;font-size:12px;font-weight:650}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.1}h2{font-size:19px}h3{font-size:14px;margin-bottom:10px}h4{margin:0;font-size:13px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(62,111,96,.16),transparent 36%),linear-gradient(315deg,rgba(173,92,55,.12),transparent 42%),#eef2ef}.login-panel{width:min(440px,100%);display:grid;gap:28px;border:1px solid #d5ddd7;border-radius:8px;background:#fbfcfb;padding:30px;box-shadow:0 20px 60px #1d252814}.login-remember{display:flex;align-items:center;gap:8px;cursor:pointer}.login-remember input[type=checkbox]{width:auto;min-height:auto;margin:0;accent-color:#3e6f60}.calendar-page{display:grid;gap:14px}.calendar-toolbar{display:grid;gap:16px}.calendar-toolbar-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.calendar-nav-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.segmented-control{display:inline-flex;border:1px solid #c9d2cc;border-radius:6px;overflow:hidden;background:#fff}.segmented-control button{border:0;border-radius:0}.segmented-control button.selected{background:#2f5f52;color:#fff}.calendar-color-section{display:grid;gap:8px}.calendar-color-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-color-current{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#536066;font-size:13px}.calendar-color-current strong{color:#1f2b2f}.calendar-color-palette{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px}.color-swatch-button{display:flex;align-items:center;gap:8px;justify-content:flex-start;min-width:0}.color-swatch-button.selected{border-color:#2f5f52;box-shadow:inset 0 0 0 1px #2f5f52}.color-swatch{width:16px;height:16px;border-radius:50%;flex:0 0 auto}.warning-text{color:#9a3412;font-size:12px;font-weight:650}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.calendar-period-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.calendar-period-banner h2{margin:0;font-size:32px;line-height:1.15;letter-spacing:-.01em;color:#1f2b2f;text-align:center}.calendar-period-title-wrap{display:flex;justify-content:center}.calendar-month-picker{position:relative}.calendar-period-title-button{min-height:auto;border:0;background:transparent;margin:0;padding:0;font-size:32px;line-height:1.15;letter-spacing:-.01em;color:#1f2b2f;font-weight:800}.calendar-month-picker-panel{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);z-index:20;width:260px;padding:12px;border:1px solid #d6ded8;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a29}.calendar-month-picker-panel label{display:grid;gap:6px;font-size:12px;font-weight:700}.calendar-month-picker-grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.calendar-month-picker-grid button{min-height:34px;padding:0 4px;font-size:12px}.calendar-month-picker-grid button.selected{border-color:#244e43;background:#edf6f2;color:#244e43;font-weight:800}.calendar-picker-hint{display:block;margin-top:8px;color:#64748b;font-size:11px;font-weight:700}.calendar-week-jump-date{margin-top:10px}.calendar-period-left{display:flex;justify-content:flex-start}.calendar-period-right{justify-content:flex-end}@media(max-width:900px){.calendar-period-banner{grid-template-columns:1fr;justify-items:center;gap:10px}.calendar-period-banner h2{order:3;font-size:28px}.calendar-period-title-button{font-size:28px}.calendar-period-left{order:1}.calendar-period-right{order:2}.calendar-period-left,.calendar-period-right,.calendar-nav-controls{justify-content:center}}.calendar-legend-button{display:inline-flex;gap:6px;align-items:center;padding:4px 8px;border:1px solid #d6ded8;border-radius:999px;background:#fff;font-size:12px;min-height:auto;cursor:pointer;transition:all .15s ease-in-out}.calendar-legend-button:hover{background:#f5f7f5;border-color:#c0c8c2}.calendar-legend-button.active{background:#eef7ff;border-color:#1a73e8;color:#1a73e8;font-weight:650}.calendar-legend i,.dashboard-calendar-row i{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d6ded8;background:#fff;overflow:hidden;border-radius:8px}.calendar-weekday{padding:10px;background:#e7ece8;font-size:12px;font-weight:700;color:#445157;text-align:center}.calendar-weekday.sunday,.calendar-week-heading.sunday strong{color:#c62828}.calendar-weekday.saturday,.calendar-week-heading.saturday strong{color:#1a73e8}.calendar-month-week{grid-column:1 / -1;position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:132px}.calendar-day-cell{min-height:132px;padding:8px;border-top:1px solid #d6ded8;border-right:1px solid #d6ded8;display:grid;grid-template-rows:auto 1fr;gap:6px;min-width:0}.calendar-day-cell.outside{background:#f5f7f5;color:#7a8580}.calendar-day-cell.is-today{background:#eef7ff;box-shadow:inset 0 0 0 2px #1a73e8}.calendar-day-header{display:flex;align-items:center;gap:6px;min-width:0}.calendar-holiday-list{display:flex;flex-wrap:wrap;gap:3px;align-items:center;min-width:0}.calendar-holiday-mark,.calendar-holiday-more{max-width:100%;min-height:20px;display:inline-flex;align-items:center;border:1px solid #f3c6c6;border-radius:6px;background:#fff3f3;color:#b42318;padding:0 6px;font-size:11px;font-weight:800;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-holiday-mark.substitute,.calendar-holiday-mark.temporary{border-color:#f7d69b;background:#fff7e6;color:#9a5b00}.calendar-holiday-mark.election{border-color:#c7d2fe;background:#eef2ff;color:#3730a3}.calendar-holiday-more{border-color:#d6ded8;background:#fff;color:#536066}.calendar-day-number{width:32px;min-height:30px;padding:0;border-radius:50%}.calendar-day-number.sunday{color:#c62828}.calendar-day-number.saturday{color:#1a73e8}.calendar-day-number.is-today{border-color:#1a73e8;background:#1a73e8;color:#fff;font-weight:800}.calendar-day-number.is-today.sunday{border-color:#c62828;background:#c62828}.calendar-connected-layer{--calendar-event-inset: 4px;position:absolute;left:0;right:0;top:48px;z-index:2;display:grid;grid-template-columns:repeat(6,var(--calendar-event-inset) minmax(0,1fr) var(--calendar-event-inset) var(--calendar-day-gap, 0px)) var(--calendar-event-inset) minmax(0,1fr) var(--calendar-event-inset);grid-auto-rows:28px;gap:4px 0;pointer-events:none}.calendar-continuous-event{display:flex;gap:5px;align-items:center;min-width:0;min-height:28px;padding:3px 4px;border:1px solid color-mix(in srgb,var(--event-color) 42%,#d6ded8);border-left:4px solid var(--event-color);border-radius:0;background:color-mix(in srgb,var(--event-color) 12%,#fff);color:#1f2b2f;font-size:12px;line-height:1.35;overflow:hidden;pointer-events:auto;text-align:left}.calendar-pattern-badge,.calendar-edge-time{display:inline-flex;align-items:center;min-height:18px;border-radius:999px;padding:0 6px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.calendar-pattern-badge{background:#1f2b2f1f;color:#334155}.calendar-edge-time{background:#ffffffbf;color:#1e293b}.calendar-continuous-event.starts-in-range{border-top-left-radius:6px;border-bottom-left-radius:6px}.calendar-continuous-event.ends-in-range{border-top-right-radius:6px;border-bottom-right-radius:6px}.calendar-connected-empty{color:#7a8580;font-size:12px}.calendar-connected-more{align-self:center;justify-self:start;min-height:24px;padding:0 8px;border-color:transparent;background:#ffffffdb;pointer-events:auto;font-size:12px;font-weight:750}.calendar-day-events{display:grid;gap:4px;align-content:start;min-width:0}.calendar-chip{display:flex;gap:5px;align-items:center;min-height:28px;padding:3px 6px;border-left-width:4px;font-size:12px;line-height:1.35;overflow:hidden;text-align:left}.calendar-chip.compact{font-size:11px}.calendar-chip span,.calendar-chip strong,.calendar-chip em,.calendar-continuous-event span,.calendar-continuous-event strong,.calendar-continuous-event em,.calendar-week-event span,.calendar-week-event strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-chip em{font-style:normal;color:#536066}.calendar-continuous-event em{color:#536066;font-style:normal}.calendar-chip strong,.calendar-continuous-event strong{flex:0 0 auto}.calendar-chip em,.calendar-continuous-event em{flex:1 1 auto}.calendar-chip span,.calendar-continuous-event span{flex:0 2 auto}.calendar-more{color:#64748b}.calendar-overflow-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-start;justify-content:flex-end;padding:96px 32px 32px;background:#1f2b2f2e}.calendar-overflow-panel{width:min(420px,calc(100vw - 64px));max-height:min(620px,calc(100vh - 128px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #cfd8d1;border-radius:8px;background:#fff;box-shadow:0 18px 48px #1f2b2f38}.calendar-overflow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e2e8e4}.calendar-overflow-header h3{margin:2px 0 0;font-size:16px}.calendar-overflow-header small{color:#64748b;font-size:12px}.calendar-overflow-list{min-height:0;overflow-y:auto;display:grid;gap:6px;padding:10px}.calendar-overflow-item{min-width:0;display:grid;align-content:start;gap:3px;padding:8px 10px;border-left-width:4px;text-align:left;height:auto;font-size:12px;line-height:1.35}.calendar-overflow-meta{min-width:0;display:flex;flex-wrap:wrap;gap:4px 8px;color:#64748b}.calendar-overflow-meta-time{color:#475569;font-weight:700}.calendar-overflow-meta-kind{border:1px solid #d8e0da;border-radius:999px;background:#f8faf8;color:#536066;padding:0 6px;font-size:10px;font-weight:800}.calendar-overflow-title{min-width:0;color:#1f2b2f;font-size:13px;white-space:normal;overflow-wrap:anywhere}.calendar-overflow-item span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4}.calendar-overflow-note{color:#64748b;font-size:11px;white-space:normal;overflow-wrap:anywhere}@media(max-width:720px){.calendar-overflow-overlay{align-items:flex-end;justify-content:center;padding:24px 12px 0}.calendar-overflow-panel{width:100%;max-height:min(75vh,620px);border-bottom-right-radius:0;border-bottom-left-radius:0}}.calendar-week-view{display:grid;gap:8px}.calendar-week-headings,.calendar-week-time-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-week-column{min-width:0;display:grid;grid-template-rows:auto auto 420px;gap:8px}.calendar-week-heading,.calendar-week-all-day-band,.calendar-all-day-lane,.calendar-time-lane{border:1px solid #d6ded8;background:#fff;border-radius:8px}.calendar-week-heading{padding:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;align-content:flex-start;gap:6px}.calendar-week-heading.is-today{background:#eef7ff;border-color:#1a73e8}.calendar-week-all-day-band{position:relative;min-height:172px;padding:8px 4px;max-height:204px;overflow-x:hidden;overflow-y:auto}.calendar-week-all-day-band .calendar-connected-layer{position:relative;left:auto;right:auto;top:auto;margin-top:0;--calendar-day-gap: 4px}.calendar-week-all-day-band .calendar-connected-empty{display:block;padding:8px}.calendar-all-day-lane{min-height:72px;padding:6px;display:grid;gap:4px;align-content:start}.calendar-all-day-lane small{color:#7a8580}.calendar-time-lane{position:relative;height:420px;overflow:hidden;background:repeating-linear-gradient(to bottom,#fff 0,#fff 25px,#f0f4f1 25px,#f0f4f1 26px)}.calendar-time-lane.is-today{background:linear-gradient(#1a73e80f,#1a73e80f),repeating-linear-gradient(to bottom,#fff 0,#fff 25px,#f0f4f1 25px,#f0f4f1 26px);border-color:#1a73e8}.calendar-week-event{position:absolute;left:4px;right:4px;min-height:34px;height:auto;display:grid;gap:1px;align-content:start;padding:5px;border-left-width:4px;font-size:12px;line-height:1.35;text-align:left;background:#fffffff0}.calendar-modal{width:min(420px,calc(100vw - 32px));max-width:760px}.calendar-detail{display:grid;gap:14px;padding:16px 20px;line-height:1.5;overflow-wrap:anywhere}.calendar-detail p{margin:0}.calendar-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.calendar-type-badge,.calendar-status-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:750}.calendar-kind-badge{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d8e0da;border-radius:999px;background:#f8faf8;color:#536066;padding:0 10px;font-size:12px;font-weight:750}.calendar-type-badge{background:#e9f3ee;color:#1d5a45}.calendar-status-badge{background:#f3f4f6;color:#64748b}.calendar-author{display:inline-flex;align-items:center;gap:6px;min-height:26px;color:#536066;font-size:13px;font-weight:650}.calendar-author i{width:9px;height:9px;border-radius:999px;box-shadow:0 0 0 2px #1f2b2f14}.calendar-detail-list{display:grid;gap:0;border-top:1px solid #e1e7e3}.calendar-detail-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #edf1ee}.calendar-detail-row>span{color:#69777d;font-size:12px;font-weight:750}.calendar-detail-row>strong,.calendar-detail-row>p{color:#1f2b2f;font-size:14px;font-weight:650;line-height:1.55;white-space:pre-wrap}.calendar-detail-row-block{align-items:start}@media(max-width:520px){.calendar-detail-row{grid-template-columns:52px minmax(0,1fr);gap:10px}}.calendar-form{display:grid;gap:14px;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.calendar-form>.grid-two{padding:0 20px}.calendar-form>label,.calendar-form>.calendar-overlap-warning{margin:0 20px}.calendar-overlap-warning{border:1px solid #f0b981;background:#fff8ed;border-radius:8px;padding:10px;display:grid;gap:4px}.calendar-form-hint{margin:0 20px;border:1px solid #cddfd7;background:#f2f8f5;border-radius:8px;padding:10px;color:#244e43;font-size:12px;font-weight:700}.dashboard-calendar-bucket{display:grid;gap:8px;align-content:start}.dashboard-calendar-bucket h4{text-align:center}.dashboard-calendar-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-calendar-list{display:grid;gap:6px;align-content:start;grid-auto-rows:minmax(42px,auto);max-height:292px;overflow-y:auto;padding-right:2px}.dashboard-calendar-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:start;min-height:42px}.dashboard-calendar-row div{min-width:0}.dashboard-calendar-row strong,.dashboard-calendar-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-calendar-row strong{font-size:14px}.dashboard-calendar-row small{font-size:11px}.compact-empty{padding:10px}.app-shell{min-height:100vh;display:grid;grid-template-columns:200px minmax(0,1fr)}.sidebar{display:grid;align-content:start;grid-template-rows:auto auto minmax(0,1fr) auto;gap:32px;min-width:0;min-height:100vh;overflow:hidden;border-right:1px solid #d7dfda;background:#f8faf8;padding:24px 16px}.sidebar>*{min-width:0;max-width:100%}.side-nav{display:grid;gap:8px;min-width:0;min-height:0;overflow-y:auto;align-content:start}.sidebar-footer{display:grid;gap:6px;min-width:0}.side-nav button{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;min-height:52px;text-align:left;border-radius:12px;transition:all .2s ease}.side-nav button svg{width:24px;height:24px;stroke-width:1.5}.side-nav button span{font-size:14px;font-weight:600;line-height:1.2}.side-nav button.selected{border-color:#3e6f60;background:#edf6f2;color:#244e43;font-weight:750}.workspace{display:grid;align-content:start;gap:18px;padding:24px}.topbar,.panel-heading,.detail-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-area{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:min(480px,100%);border:1px solid #d5ddd7;border-radius:8px;background:#fff;padding:10px 12px}.account-copy{display:grid;gap:2px;min-width:150px}.account-copy span,.account-copy small{color:#667278;font-size:12px}.account-copy strong{color:#1f2b2f;font-size:15px}.account-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.topbar>.account-area{display:none}.sidebar .account-area{width:100%;max-width:100%;min-width:0;display:grid;justify-content:stretch;justify-items:stretch;align-items:stretch;gap:12px;padding:12px;background:#fff}.approval-notification-toggle.panel{padding:7px 9px}.approval-notification-toggle{display:grid;gap:6px;background:#fff}.approval-notification-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.approval-notification-toggle-copy{display:flex;align-items:center;gap:5px;min-width:0;flex:1 1 auto;white-space:nowrap}.approval-notification-toggle-copy strong{flex-shrink:0;font-size:12px;line-height:1;white-space:nowrap}.approval-notification-status{flex-shrink:0;color:#667278;font-size:11px;line-height:1;white-space:nowrap}.approval-notification-toggle-hint{margin:0;font-size:11px;line-height:1.4}.approval-notification-switch{display:inline-flex;align-items:center;flex:0 0 auto;margin:0}.approval-notification-switch input[type=checkbox]{width:14px;height:14px;min-height:auto;margin:0;accent-color:#3e6f60}.approval-notification-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.approval-notification-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.account-profile{width:100%;display:flex;align-items:center;gap:10px;min-width:0}.account-avatar{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #c9d8d1;border-radius:50%;background:#edf6f2;color:#244e43;font-size:16px;font-weight:800;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}.sidebar .account-copy{min-width:0}.sidebar .account-copy strong,.sidebar .account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .account-actions{display:grid;grid-template-columns:1fr;gap:6px;min-width:0}.sidebar .account-actions button{width:100%;min-width:0;min-height:34px;padding:0 8px;font-size:12px}.panel{border:1px solid #d5ddd7;border-radius:8px;background:#fff;padding:18px}.compact,.creator{display:grid;gap:12px}.password-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.main-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px}.document-workspace-column{display:grid;gap:18px;align-content:start;min-width:0}.list-panel,.detail-panel{min-height:520px}.doc-list{display:grid;gap:8px;margin-top:14px}.heading-count{color:#667278;font-size:13px;font-weight:650}.document-filter-bar{display:grid;gap:12px;margin-top:6px;border:1px solid #e1e7e3;border-radius:8px;background:#fbfcfb;padding:14px}.document-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.document-filter-heading h3{margin-bottom:0}.document-filter-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.document-filter-summary>span:not(.pill){color:#667278;font-size:12px;font-weight:650}.document-status-filter{display:flex;flex-wrap:wrap;gap:8px}.document-status-filter button{min-height:34px;border-radius:999px;padding:0 12px;font-size:12px;font-weight:750}.document-status-filter button.selected{border-color:#3e6f60;background:#edf6f2;color:#244e43}.document-filter-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:end}.document-filter-controls .dashboard-period-presets{align-items:end}.document-filter-controls .dashboard-period-fields{justify-content:flex-end}.doc-row{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;width:100%;min-height:76px;text-align:left;padding:12px}.doc-row-badges{display:flex;flex-direction:column;align-items:flex-start;gap:4px;grid-column:1;grid-row:1 / span 2;align-self:center}.doc-row strong{grid-column:2;grid-row:1}.doc-row span:last-child{grid-column:2;grid-row:2;color:#667278;font-size:12px}.doc-row.selected{border-color:#3e6f60;background:#edf6f2}.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.form-row.wide{grid-template-columns:1.3fr 1fr auto}.form-row.temp-doc-row{grid-template-columns:112px minmax(220px,1.8fr) minmax(120px,.75fr) minmax(120px,.75fr) auto;gap:10px}.form-row.temp-doc-row label,.form-row.temp-doc-row input,.form-row.temp-doc-row select{min-width:0}.form-row.temp-doc-row button{white-space:nowrap}.form-row.comment-row{grid-template-columns:minmax(0,1fr) auto}.draft-meta-editor{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin-top:16px;padding:14px;border:1px solid #e1e7e3;border-radius:8px;background:#fbfcfb}.draft-meta-actions{display:flex;gap:8px}.grid-two{display:grid;grid-template-columns:.9fr 1.1fr;gap:10px}.calendar-grid-full{grid-column:1 / -1}.action-bar{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.approval-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.approval-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.purchase-reference-route{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px 12px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #e4e8e4}.purchase-reference-route>.eyebrow{margin:0;align-self:start;padding-top:2px}.purchase-reference-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;min-width:0}.purchase-reference-option{display:inline-flex;flex-direction:row;align-items:center;gap:6px;width:auto;margin:0;cursor:pointer;font-size:13px;font-weight:500;color:#1f2b2f;white-space:nowrap}.purchase-reference-option input[type=checkbox]{width:14px;height:14px;min-width:14px;min-height:14px;margin:0;padding:0;flex-shrink:0;accent-color:#3e6f60}.purchase-reference-hint{flex-basis:100%;font-size:11px;line-height:1.4}.purchase-reference-readonly{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13px;color:#1f2b2f}.approval-step{display:grid;gap:3px;border:1px solid #e1e7e3;border-radius:6px;padding:10px;background:#fbfcfb}.approval-step span,.approval-step small{color:#667278;font-size:12px}.approval-step--approved{border-color:#2f5f52;background:#edf6f2;box-shadow:inset 0 0 0 1px #2f5f52}.approval-step--approved small{color:#244e43;font-weight:600}.approval-step--rejected{border-color:#c62828;background:#fff5f5}.approval-step--rejected small{color:#c62828;font-weight:600}.expense-editor{display:grid;gap:12px;margin-top:16px}.expense-profile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.expense-profile div{display:grid;gap:3px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;padding:10px}.expense-profile span{color:#667278;font-size:11px;font-weight:800}.expense-profile strong{font-size:14px}.expense-table{display:grid;gap:6px;overflow-x:auto}.expense-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(110px,.7fr) minmax(140px,.8fr) minmax(220px,1.2fr);gap:8px;align-items:start;min-width:760px}.expense-row.expense-head{min-height:34px;align-items:center;border-radius:6px;background:#f5f7f5;color:#536066;font-size:12px;font-weight:800;padding:0 10px}.receipt-cell,.receipt-list{display:grid;gap:6px}.receipt-cell{align-content:start}.receipt-toolbar{display:grid;grid-template-columns:minmax(92px,1fr) auto;align-items:start;gap:8px}.receipt-upload-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.receipt-list{min-width:0}.receipt-list>.muted{display:flex;align-items:center;min-height:32px;min-width:92px;padding:0 6px;white-space:nowrap}.receipt-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:38px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;padding:0 0 0 10px;font-size:12px}.receipt-preview-button{width:min-content;min-width:0;min-height:0;border:0;background:transparent;padding:0;color:#244e43;font-size:12px;font-weight:700;text-decoration:underline}.file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-trigger{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:38px;border:1px solid #c9d2cc;border-radius:6px;background:#fff;color:#1f2b2f;padding:0 12px;font-size:13px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap}.file-input:disabled+.file-trigger,.file-trigger.disabled{cursor:not-allowed;opacity:.6}.receipt-preview-modal{width:min(920px,calc(100vw - 32px))}.receipt-preview-body{display:grid;place-items:center;min-height:420px;max-height:72vh;overflow:auto;border:1px solid #e1e7e3;border-radius:6px;background:#f8faf8}.receipt-preview-body img{display:block;max-width:100%;max-height:72vh;object-fit:contain}.receipt-preview-body iframe{width:100%;min-height:72vh;border:0;background:#fff}.pdf-preview-body{position:relative;display:block}.pdf-preview-body iframe{display:block}.pdf-preview-frame-loading{opacity:0}.pdf-preview-progress{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;background:#f8faf8;color:#1f2b2f;text-align:center}.pdf-preview-progress strong{font-size:15px}.pdf-preview-progress span,.pdf-preview-progress small{color:#667278;font-size:12px;font-weight:700}.pdf-progress-track{width:min(360px,72vw);height:8px;overflow:hidden;border-radius:999px;background:#dfe7e2}.pdf-progress-track div{height:100%;border-radius:inherit;background:#3e6f60;transition:width .35s ease}.expense-actions{display:flex;flex-wrap:wrap;gap:8px}.business-trip-editor{display:grid;gap:12px;margin-top:16px}.trip-basic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.trip-wide{grid-column:1 / -1}.trip-totals{display:flex;flex-wrap:wrap;gap:10px}.trip-totals strong,.trip-converted{display:inline-flex;align-items:center;min-height:38px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;padding:0 10px;font-size:13px}.trip-table{display:grid;gap:6px;overflow-x:auto}.trip-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(160px,1.2fr) 92px 100px 100px 120px minmax(220px,1.3fr);gap:8px;align-items:start;min-width:1080px}.trip-row.trip-head{min-height:34px;align-items:center;border-radius:6px;background:#f5f7f5;color:#536066;font-size:12px;font-weight:800;padding:0 10px}.trip-report-section{display:grid;gap:10px;border-top:1px solid #e1e7e3;padding-top:12px}.trip-report-list{display:grid;gap:8px}.trip-report-row{display:grid;grid-template-columns:160px 1fr auto;gap:16px;align-items:stretch;padding:16px;border:1px solid #e1e7e3;border-radius:10px;background:#fff;margin-bottom:12px;box-shadow:0 2px 4px #00000005}.trip-report-dates{display:grid;gap:10px;align-content:start}.date-field{display:grid;gap:4px}.date-field small{font-size:11px;color:#536066;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.trip-report-content{display:grid;gap:4px;min-width:0}.trip-report-content small{font-size:11px;color:#536066;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.trip-report-row textarea{flex:1;min-height:140px;padding:12px;line-height:1.5;resize:vertical}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.timeline{display:grid;gap:8px}.timeline-row{display:grid;gap:4px;border:1px solid #e1e7e3;border-radius:6px;padding:10px}.timeline-row span,.timeline-row small,.muted,.status-line{color:#667278;font-size:12px}.timeline-row p{color:#314046;font-size:13px}.eyebrow{color:#ad5c37;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase;margin-bottom:6px}.pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:11px;font-weight:800;color:#1f2b2f;background:#e8ece8}.pill.submitted{background:#d9e9f3}.pill.approved{background:#d9eee4}.pill.reference{background:#e8e0f4;color:#3f2f63}.pill.rejected_locked{background:#f7ddd6}.pill.withdrawn,.pill.resubmitted_locked{background:#ece4d6}.pill.active{background:#d9eee4}.pill.leave{background:#ece4d6}.pill.terminated{background:#f7ddd6}.primary{border-color:#244e43;background:#244e43;color:#fff;font-weight:750}.secondary{border-color:#ad5c37;background:#ad5c37;color:#fff;font-weight:750}.danger{border-color:#b94c34;background:#b94c34;color:#fff;font-weight:750}.ghost{background:transparent}.empty,.error{border-radius:6px;background:#f5f7f5;color:#667278;padding:16px;font-size:13px}.error{background:#f7ddd6;color:#87351f}.stack,.users-panel{display:grid;gap:14px}.add-user-panel{border:1px solid #d5ddd7;border-radius:8px;background:#f8faf8;padding:16px 18px}.add-user-panel h2{margin-bottom:12px;font-size:16px;color:#244e43}.add-user-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.add-user-form .grid-two{display:contents}.add-user-form label,.add-user-form .role-field{flex:1 1 120px;min-width:100px}.add-user-form button{flex:0 0 auto;align-self:flex-end}.user-table{display:grid;gap:8px;overflow-x:auto}.user-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.75fr) minmax(230px,1fr) max-content minmax(168px,max-content);gap:12px;align-items:center;min-width:860px;border:1px solid #e1e7e3;border-radius:6px;padding:10px}.user-row.user-head{min-height:40px;background:#f5f7f5;color:#536066;font-size:12px;font-weight:800}.user-row>div:not(.user-actions){display:grid;gap:4px}.user-row small{color:#667278;font-size:12px}.status-select{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:8px}.status-select.base-role-select select{min-width:132px}.status-select.work-role-select{grid-template-columns:minmax(48px,auto) minmax(190px,1fr)}.role-tag-picker{display:flex;flex-wrap:wrap;gap:6px;min-width:220px}.role-tag-picker.compact{min-width:240px}.role-tag{border:1px solid transparent;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}.role-tag.selected{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.role-tag:disabled{cursor:not-allowed;opacity:.64}.status-select.employment-status-select{grid-template-columns:auto 96px}.status-select.employment-status-select select{width:100%;max-width:96px}.user-actions{display:flex;flex-direction:column;gap:6px;justify-content:center}.user-actions button{white-space:nowrap;width:100%;min-width:max-content}.reset-password-form{display:flex;flex-direction:column;gap:10px;width:100%}.reset-password-form .reset-password-input-row{display:flex;align-items:stretch;gap:8px;width:100%}.reset-password-form .reset-password-input-row input{width:auto;flex:1 1 auto;min-width:0}.reset-password-form .reset-password-input-row button{flex:0 0 auto;white-space:nowrap}.reset-password-form .reset-password-input-row button.ghost{padding:0 12px}.reset-password-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.reset-password-form .reset-password-actions button{flex:0 0 auto}.pill.role-pill{background:#e8e4f3;color:#3b3470;white-space:nowrap}.pill.role-ceo,.role-tag.role-ceo{background:#e7f0ff;color:#1d4f91}.pill.role-manager,.role-tag.role-manager{background:#e7f4ec;color:#22623b}.pill.role-user,.role-tag.role-user{background:#f3ebff;color:#5a3a8f}.pill.role-system-admin,.role-tag.role-system-admin{background:#fff0df;color:#8a4a14}.pill.role-hr-manager,.role-tag.role-hr-manager{background:#e5f6f7;color:#0f5c63}.pill.role-purchase-manager,.role-tag.role-purchase-manager{background:#f3f0dd;color:#6b5a12}.pill.role-unknown,.role-tag.role-unknown{background:#e8ece8;color:#465156}.pill.active{background:#d9eee4;color:#22623b}.pill.leave{background:#fff0df;color:#8a4a14}.pill.terminated{background:#f7ddd6;color:#87351f}.dashboard-page{display:grid;gap:18px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.dashboard-hero h2{margin-bottom:6px}.dashboard-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-period-control{display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:end;border-top:1px solid #e1e7e3;padding-top:14px}.dashboard-period-presets,.dashboard-period-fields{display:flex;flex-wrap:wrap;gap:8px}.dashboard-period-presets button.selected{border-color:#3e6f60;background:#edf6f2;color:#244e43;font-weight:750}.dashboard-period-fields{align-items:end;justify-content:flex-end}.dashboard-period-fields label{width:180px}.dashboard-period-fields button{min-width:82px}.dashboard-period-error{grid-column:1 / -1;padding:10px 12px}.dashboard-stats-groups{display:grid;gap:20px}.dashboard-stats-group{display:grid;gap:10px}.dashboard-stats-heading{margin:0;font-size:15px;font-weight:800;color:#3a4a50}.dashboard-stats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.dashboard-stat{display:grid;gap:8px;min-height:104px;border:1px solid #d5ddd7;border-radius:8px;background:#fff;padding:16px;text-align:left}button.dashboard-stat{align-content:center}button.dashboard-stat:not(:disabled):hover{border-color:#3e6f60;box-shadow:0 8px 18px #244e4314;transform:translateY(-1px)}button.dashboard-stat:disabled{cursor:not-allowed;opacity:.58}.dashboard-stat span{color:#667278;font-size:12px;font-weight:800}.dashboard-stat strong{color:#1f2b2f;font-size:28px;line-height:1}.dashboard-stat.info{border-color:#b7d2df;background:#f1f8fb}.dashboard-stat.success{border-color:#b9d9c6;background:#f0f8f3}.dashboard-stat.warning{border-color:#e4d19e;background:#fbf7e9}.dashboard-stat.danger-tone{border-color:#e4b5a9;background:#fbf1ee}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-card{display:grid;gap:14px;align-content:start}.dashboard-wide-card{grid-column:span 2}.dashboard-grid-new-row{grid-column:1}.dashboard-type-list,.dashboard-recent-list,.dashboard-audit-list{display:grid;gap:8px}.dashboard-type-list div,.dashboard-recent-row,.dashboard-audit-row,.dashboard-system-grid div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;padding:10px 12px}.dashboard-type-list strong,.dashboard-system-grid strong{color:#1f2b2f;font-size:15px}.dashboard-money-grid{display:grid;gap:10px}.dashboard-money-grid>div{display:grid;gap:5px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;padding:14px}.dashboard-money-grid span,.dashboard-type-list span,.dashboard-system-grid span{color:#667278;font-size:12px;font-weight:800}.dashboard-money-grid strong{color:#244e43;font-size:20px}.dashboard-accounting-money-grid>.dashboard-money-tile-total{border-color:#9fc9b0;background:linear-gradient(180deg,#f0f8f3,#e8f4ec);padding:16px}.dashboard-accounting-money-grid>.dashboard-money-tile-total span{color:#2d6b52}.dashboard-accounting-money-grid>.dashboard-money-tile-total strong{color:#1a5c44;font-size:22px}.dashboard-accounting-money-grid>.dashboard-money-tile-item{border-color:#e1e7e3;background:#fff}.dashboard-accounting-money-grid>.dashboard-money-tile-item strong{color:#3d4f56;font-size:18px}.dashboard-monthly-chart{display:grid;gap:8px;padding:4px 2px 0}.dashboard-monthly-chart-svg{display:block;width:100%;height:140px;border:1px solid #e1e7e3;border-radius:6px;background:linear-gradient(180deg,#fbfcfb,#f4f8f5)}.dashboard-monthly-chart-bar{fill:#5a9f82}.dashboard-monthly-chart-bar:hover{fill:#3e6f60}.dashboard-monthly-chart-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;color:#667278;font-size:11px;font-weight:700;text-align:center}.dashboard-monthly-list{margin-top:2px}.dashboard-money-breakdown{display:grid;gap:8px}.dashboard-money-row{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(120px,1.2fr) max-content;align-items:center;gap:10px;border-top:1px solid #e1e7e3;padding-top:8px}.dashboard-money-row:first-child{border-top:0;padding-top:0}.dashboard-money-row strong{font-size:18px}.dashboard-money-row.pending strong{color:#5a4b1f}.dashboard-money-grid small,.dashboard-recent-row small,.dashboard-audit-row small{color:#667278;font-size:12px}.dashboard-recent-row div{display:grid;gap:4px;min-width:0}.dashboard-recent-row strong{overflow:hidden;color:#1f2b2f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.dashboard-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:980px){.app-shell,.main-grid,.detail-columns,.form-row,.form-row.temp-doc-row,.form-row.wide,.draft-meta-editor,.approval-route,.approval-steps,.expense-profile,.trip-basic-grid,.trip-report-row,.password-panel,.dashboard-stats,.dashboard-grid,.dashboard-period-control,.dashboard-system-grid,.dashboard-calendar-columns{grid-template-columns:1fr}.dashboard-wide-card{grid-column:auto}.dashboard-hero{align-items:stretch;grid-template-columns:1fr}.dashboard-hero-actions{justify-content:stretch}.dashboard-hero-actions button{flex:1}.dashboard-period-fields label,.dashboard-period-fields button{width:100%}.document-filter-heading,.document-filter-controls{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.document-filter-summary,.document-filter-controls .dashboard-period-fields{justify-content:stretch}.document-status-filter button{flex:1 1 130px}.topbar,.account-area{align-items:stretch;flex-direction:column}.account-actions{justify-content:stretch}.account-actions button{flex:1}.sidebar{border-right:0;border-bottom:1px solid #d7dfda}}.hr-layout{display:flex;gap:18px;align-items:start}.hr-sidebar{flex:0 0 220px;display:grid;gap:10px;align-content:start;padding:14px}.hr-sidebar .panel-heading{margin-bottom:6px}.hr-user-list{display:grid;gap:6px}.hr-value-with-action{display:flex;align-items:center;gap:10px}.hr-inline-edit{display:flex;align-items:center;gap:6px;width:100%}.hr-inline-edit input{flex:1 1 320px;min-width:0;padding:4px 8px;border:1px solid #d7dfda;border-radius:4px;font-size:14px}button.mini{flex:0 0 auto;align-self:stretch;min-height:100%;min-width:58px;border-width:1px;border-radius:6px;padding:0 12px;font-size:12px;white-space:nowrap}.link-btn{background:none;border:none;color:#2a6040;text-decoration:underline;cursor:pointer;font-size:13px;padding:0}.link-btn:hover{color:#1b432a}.hr-user-item{display:grid;gap:3px;text-align:left;padding:10px 12px;min-height:auto;border-radius:6px;background:transparent;border:1px solid transparent;transition:background .15s,border-color .15s}.hr-user-item:hover{background:#f0f5f2;border-color:#d5ddd7}.hr-user-item.selected{background:#edf6f2;border-color:#3e6f60;font-weight:600}.hr-user-item small{color:#667278;font-size:11px;font-weight:400}.hr-main{flex:1;min-width:0;display:grid;gap:16px;align-content:start}.hr-employee-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.hr-employee-header h2{margin-bottom:2px}.hr-profile-card h3{color:#244e43;border-bottom:1px solid #e1e7e3;padding-bottom:10px;margin-bottom:14px}.hr-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hr-info-item{display:grid;gap:4px;border:1px solid #e1e7e3;border-radius:6px;padding:10px 12px;background:#fbfcfb}.hr-info-item span{color:#536066;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.hr-info-item strong{color:#1f2b2f;font-size:14px}.hr-profile-form h3{color:#244e43;margin-bottom:16px}.hr-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.hr-full-width{grid-column:1 / -1}.hr-address-grid,.hr-address-info-grid{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hr-form-actions{display:flex;gap:10px}.hr-cert-section h3{color:#244e43;border-bottom:1px solid #e1e7e3;padding-bottom:10px;margin-bottom:14px}.hr-cert-form{display:grid;grid-template-columns:130px minmax(220px,1fr) max-content auto;gap:12px;align-items:end}.hr-cert-stamp-option{display:inline-flex;align-items:center;gap:8px;min-height:38px;white-space:nowrap}.hr-cert-stamp-option input{width:16px;height:16px}.hr-cert-readiness-warning{grid-column:1 / -1;padding:12px 14px;border:1px solid #e8c98a;border-radius:8px;background:#fff9ed}.hr-cert-readiness-warning ul{margin:8px 0 0;padding-left:18px}.hr-cert-readiness-warning li+li{margin-top:4px}.hr-history-section .panel-heading{margin-bottom:12px}.hr-history-list{display:grid;gap:8px}.hr-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e7e3;border-radius:6px;padding:10px 14px;background:#fbfcfb;transition:background .15s}.hr-history-item:hover{background:#f5f7f5}.hr-history-info{display:grid;gap:3px}.hr-history-info strong{font-size:13px;color:#1f2b2f}.hr-history-info span{font-size:12px;color:#536066}.hr-history-info small{font-size:11px;color:#8a969b}.hr-admin-section h3{color:#244e43;border-bottom:1px solid #e1e7e3;padding-bottom:10px;margin-bottom:14px}.hr-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hr-admin-card{display:grid;gap:8px;border:1px solid #e1e7e3;border-radius:8px;padding:14px;background:#fbfcfb}.hr-admin-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.hr-admin-card-header span:first-child{font-size:13px;font-weight:700;color:#1f2b2f}.hr-admin-card p.muted{font-size:12px;line-height:1.5}@media(max-width:980px){.hr-layout{flex-direction:column}.hr-info-grid,.hr-form-grid{grid-template-columns:repeat(2,1fr)}.hr-cert-form{grid-template-columns:1fr 1fr}.hr-admin-grid{grid-template-columns:1fr}}@media(max-width:600px){.hr-info-grid,.hr-form-grid,.hr-cert-form,.hr-address-grid,.hr-address-info-grid{grid-template-columns:1fr}}.notification-stack{position:fixed;top:18px;right:18px;z-index:2000;display:grid;gap:10px;width:min(420px,calc(100vw - 36px));pointer-events:none}.notification-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid #d5ddd7;border-left-width:4px;border-radius:8px;background:#fff;box-shadow:0 12px 30px #1d252829;padding:14px;pointer-events:auto}.notification-card h2{margin-bottom:6px;color:#1f2b2f;font-size:14px}.notification-card p{color:#536066;font-size:13px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.notification-card button{min-height:32px;padding:0 10px}.notification-card.error{border-color:#e0b8ae;border-left-color:#87351f;background:#fff8f6}.notification-card.error h2,.notification-card.error p{color:#87351f}.notification-card.success{border-left-color:#2f6b48;background:#f4fbf6}.notification-card.info{border-left-color:#3e6f60}@media(max-width:980px){.notification-stack{top:12px;left:16px;right:16px;width:auto}.notification-card{grid-template-columns:minmax(0,1fr)}.notification-card button{justify-self:end}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e1e7e3}.modal-header h2{margin:0;font-size:1.25rem;color:#1b3d32}.modal-body{padding:24px;flex:1;overflow:auto}.action-confirm-modal{width:min(520px,calc(100% - 32px))}.action-confirm-body{display:grid;gap:14px}.confirm-message{color:#1f2b2f;font-size:15px;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e1e7e3}.large-modal{max-width:1100px!important;width:90%!important;height:80vh!important;display:flex;flex-direction:column}.mapping-layout{display:flex;flex:1;gap:24px;overflow:hidden;padding-block:15px}.mapping-sidebar{width:280px;display:flex;flex-direction:column;border-right:1px solid #e1e7e3;padding-right:16px;overflow-y:auto}.mapping-help{margin-bottom:12px;line-height:1.45}.mapping-field-list{display:flex;flex-direction:column;gap:8px}.mapping-field-item{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:10px;border:1px solid #d5ddd7;border-radius:6px;cursor:pointer;transition:all .2s;background-color:#fbfcfb;text-align:left}.mapping-field-item:hover{background-color:#f0f5f2}.mapping-field-item.selected{border-color:#3e6f60;background-color:#edf6f2;font-weight:600}.mapping-field-item.mapped{border-left:4px solid #3e6f60}.mapping-field-content{display:grid;gap:3px;min-width:0}.mapping-field-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-english-badge{width:fit-content;border:1px solid #c9d8d1;border-radius:999px;background:#edf6f2;color:#244e43;padding:1px 6px;font-size:10px;font-weight:800;line-height:1.4}.mapping-clear-button{flex:0 0 auto;border-radius:4px;background:transparent;color:#87351f;padding:3px 6px;font-size:11px;font-weight:800}.mapping-control-group{display:grid;gap:8px;margin-top:16px}.mapping-control-label{color:#536066;font-size:12px;font-weight:800}.mapping-segmented-control,.mapping-zoom-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mapping-segmented-control button,.mapping-zoom-control button{min-height:34px;padding:0 8px;font-size:12px}.mapping-segmented-control button.selected{border-color:#244e43;background:#edf6f2;color:#244e43;font-weight:800}.mapping-zoom-control strong{display:grid;place-items:center;min-height:34px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;font-size:12px}.mapping-save-button{margin-top:18px;width:100%}.mapping-preview-area{flex:1;background:#f4f6f5;border:1px solid #d5ddd7;border-radius:8px;overflow:auto;position:relative;display:block;padding:40px;text-align:center}.mapping-image-container{position:relative;display:inline-block;width:max-content;max-width:none;box-shadow:0 6px 16px #0000001f;cursor:crosshair;background:#fff;margin:20px auto 40px}.mapping-image{display:block;max-width:none;height:auto;pointer-events:none;border:1px solid #d5ddd7}.mapping-box{position:absolute;display:flex;align-items:center;min-width:12px;min-height:8px;border:2px solid #d94a38;background:#d94a3808;cursor:move;z-index:10}.mapping-box.active{border-color:#1a73e8;background:#1a73e80f;z-index:20}.mapping-box-label{display:inline-block;max-width:calc(100% - 8px);overflow:hidden;margin:0 4px;border:1px solid rgba(29,37,40,.24);border-radius:4px;background:#ffffffeb;color:#1f2b2f;padding:1px 5px;font-size:11px;font-weight:800;line-height:1.25;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 3px #1d252829}.mapping-box-label.left{text-align:left}.mapping-box-label.center{text-align:center}.mapping-box-label.right{text-align:right}.mapping-resize-handle{position:absolute;width:10px;height:10px;min-height:0;border:1px solid #ffffff;border-radius:50%;background:#1a73e8;padding:0}.mapping-resize-handle.n,.mapping-resize-handle.s{left:50%;transform:translate(-50%);cursor:ns-resize}.mapping-resize-handle.e,.mapping-resize-handle.w{top:50%;transform:translateY(-50%);cursor:ew-resize}.mapping-resize-handle.n{top:-6px}.mapping-resize-handle.s{bottom:-6px}.mapping-resize-handle.e{right:-6px}.mapping-resize-handle.w{left:-6px}.mapping-resize-handle.ne,.mapping-resize-handle.nw,.mapping-resize-handle.se,.mapping-resize-handle.sw{cursor:nwse-resize}.mapping-resize-handle.ne{top:-6px;right:-6px;cursor:nesw-resize}.mapping-resize-handle.nw{top:-6px;left:-6px}.mapping-resize-handle.se{right:-6px;bottom:-6px}.mapping-resize-handle.sw{bottom:-6px;left:-6px;cursor:nesw-resize}.admin-settings-layout{display:grid;gap:16px;align-content:start}.admin-inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-company-section .panel-heading{margin-bottom:14px}.admin-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.admin-full-width{grid-column:1 / -1}.admin-company-subgroup{padding:14px;border:1px solid #e1e7e3;border-radius:8px;background:#fbfcfb}.admin-company-subgroup-title{margin:0 0 8px;font-size:.95rem;font-weight:600;color:var(--text-color)}.admin-company-subgroup-desc{margin:0 0 12px}.admin-company-subgroup .admin-company-grid,.admin-company-subgroup .hr-info-grid{margin-bottom:0}.admin-company-view .admin-company-subgroup{margin-top:8px}.admin-company-view .hr-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-company-form p.muted{font-size:12px;margin-bottom:12px}@media(max-width:980px){.admin-company-grid,.admin-company-view .hr-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.purchase-page{display:grid;gap:18px}.purchase-editor h3,.purchase-list h3,.purchase-contact-editor h3,.purchase-category-editor h3,.purchase-sub-panel h3{margin:0}.purchase-info-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.purchase-info-list div{display:grid;gap:4px;border:1px solid #e1e7e3;border-radius:6px;background:#fff;padding:10px 12px}.purchase-info-list span{color:#667278;font-size:12px;font-weight:800}.purchase-info-list strong{color:#244e43;font-size:18px}.purchase-sub-tabs{display:flex;align-items:center}.purchase-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:start}.purchase-grid.wide{grid-template-columns:minmax(620px,1.35fr) minmax(320px,.65fr)}.purchase-side-stack{display:grid;gap:18px;align-content:start;min-width:0}.purchase-editor,.purchase-contact-editor,.purchase-category-editor,.purchase-list{display:grid;gap:14px;align-content:start;min-width:0}.purchase-list-category-filter{padding-bottom:4px;border-bottom:1px solid #e8eeea}.purchase-quote-viewer{display:grid;gap:18px;margin-top:12px}.purchase-attachment-list{display:grid;gap:8px}.purchase-attachment-list .receipt-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.purchase-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.purchase-form-grid.single{grid-template-columns:1fr}.purchase-form-grid .purchase-form-full{grid-column:1 / -1}.purchase-inline-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto;gap:10px;align-items:end}.purchase-inline-form.category-form{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto}.purchase-sub-panel{display:grid;gap:12px;border:1px solid #e1e7e3;border-radius:8px;background:#fbfcfb;padding:14px}.purchase-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.list-search-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.list-search-toolbar input[type=search]{width:min(240px,42vw);min-width:160px}.list-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;padding-top:4px}.list-pagination button{min-width:34px;padding:6px 10px}.list-pagination button.selected{background:#2f5f52;color:#fff;border-color:#2f5f52}.list-pagination-ellipsis{color:#667278;font-size:13px;padding:0 4px;-webkit-user-select:none;user-select:none}.purchase-card-list{display:grid;gap:8px}.purchase-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:start;border:1px solid #e1e7e3;border-radius:6px;background:#fff;padding:12px}.purchase-row strong,.purchase-row small{display:block}.purchase-row small{color:#667278;font-size:12px;line-height:1.45}.purchase-row-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.purchase-row p.muted{margin-top:4px}.purchase-contact-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.purchase-contact-list span{display:inline-flex;gap:6px;align-items:center;min-height:28px;border:1px solid #d8e0da;border-radius:999px;background:#fbfcfb;padding:0 8px;font-size:12px}.purchase-contact-list button{min-height:22px;border:0;background:transparent;color:#87351f;padding:0 2px;font-size:11px;font-weight:800}.purchase-contact-list button.contact-edit{color:#4a5d66}.purchase-contact-list button:disabled{opacity:.45;cursor:not-allowed}.purchase-contact-phone{color:#667278;font-style:normal;font-weight:650}.purchase-category-list{display:flex;flex-wrap:wrap;gap:8px}.purchase-category-list button{display:inline-flex;align-items:center;gap:8px;min-height:32px;border:1px solid #d8e0da;border-radius:999px;background:#fff;color:#2f3f39;padding:0 10px;font-size:12px;font-weight:800}.purchase-category-list button.selected{border-color:#3e6f60;background:#edf6f2;color:#244e43}.purchase-category-chip{display:inline-flex;align-items:center;gap:4px;min-height:32px;border:1px solid #d8e0da;border-radius:999px;background:#fff;padding:0 5px 0 10px}.purchase-category-chip.selected{border-color:#3e6f60;background:#edf6f2;color:#244e43}.purchase-category-list .purchase-category-filter{min-height:auto;border:0;background:transparent;padding:0}.purchase-category-list .purchase-category-delete{min-height:22px;border:0;background:#f8e8e2;color:#87351f;padding:0 7px;font-size:10px}.purchase-category-list .purchase-category-delete:disabled{background:#eef1ef}.purchase-category-list button.danger-text{color:#87351f}.purchase-category-list button:disabled{color:#8f9a94;cursor:not-allowed}.purchase-category-list small{color:#667278;font-size:11px;font-weight:800}.purchase-line-table{display:grid;gap:6px;overflow-x:auto}.purchase-line-row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(130px,1fr) minmax(140px,1.1fr) minmax(110px,.8fr) 78px 88px 110px minmax(150px,1.1fr) 120px;gap:8px;align-items:start;min-width:1080px}.purchase-line-row.head{min-height:34px;align-items:center;border-radius:6px;background:#f5f7f5;padding:0 10px;font-size:12px;color:#60716a;font-weight:800}.purchase-line-row:not(.head){padding:10px;border:1px solid #d8e0da;border-radius:6px;background:#fff}.purchase-line-actions{display:flex;align-items:center;gap:4px}.purchase-line-actions .mini{width:28px;min-width:28px;padding:0}.purchase-total-bar{display:flex;flex-direction:column;align-items:flex-end;gap:6px;border:1px solid #e1e7e3;border-radius:6px;background:#fbfcfb;padding:12px}.purchase-total-row{display:flex;align-items:center;justify-content:flex-end;gap:12px}.purchase-total-bar span{color:#667278;font-size:12px;font-weight:800}.purchase-total-bar strong{color:#244e43;font-size:16px}.purchase-total-row:last-child strong{font-size:18px}.purchase-total-attachments{align-self:stretch;width:100%;margin-top:8px;padding-top:10px;border-top:1px solid #e1e7e3;display:grid;gap:8px}.purchase-total-attachments .purchase-attachment-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.purchase-total-attachments .receipt-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.purchase-filter-panel{display:grid;gap:12px;background:#fbfcfb}.purchase-filter-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end}.purchase-history-layout{display:grid;gap:18px}.purchase-document-grid .purchase-grid,.purchase-document-grid .purchase-grid.wide{grid-template-columns:1fr}.file-button{display:inline-grid;align-items:center;justify-content:center;min-height:38px}@media(max-width:1000px){.purchase-grid,.purchase-grid.wide,.purchase-filter-row{grid-template-columns:1fr}.purchase-info-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.purchase-form-grid,.purchase-inline-form,.purchase-inline-form.category-form,.purchase-info-list{grid-template-columns:1fr 1fr}.purchase-inline-form button{grid-column:1 / -1}}@media(max-width:600px){.purchase-form-grid,.purchase-inline-form,.purchase-inline-form.category-form,.purchase-info-list,.admin-company-grid,.admin-company-view .hr-info-grid,.purchase-row{grid-template-columns:1fr}}.version-text{display:block;font-size:11px;color:var(--text-muted, #888);opacity:.6;text-align:center;padding:4px 0;letter-spacing:.03em}.sidebar-footer .version-text{margin-top:0;padding:2px 0 0}.login-panel .version-text{margin-top:12px}.accounting-page{display:grid;gap:16px}.accounting-filter{display:grid;gap:14px}.accounting-form-row{grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end}.accounting-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr)}.accounting-list-column{display:grid;gap:12px;align-content:start}.accounting-filtered-total .dashboard-stat{min-height:88px}.accounting-document-content{display:grid;gap:14px}.accounting-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.accounting-summary-grid div{min-width:0;padding:10px;border:1px solid #d5ddd7;border-radius:8px;background:#f5f7f5}.accounting-summary-grid dt{margin-bottom:4px;color:#667278;font-size:12px}.accounting-summary-grid dd{margin:0;color:#1d2528;font-weight:700;overflow-wrap:anywhere}.accounting-content-table-wrap{overflow-x:auto;border:1px solid #d5ddd7;border-radius:8px}.accounting-content-table{width:100%;border-collapse:collapse;min-width:520px;font-size:13px}.accounting-content-table th,.accounting-content-table td{padding:10px;border-bottom:1px solid #e1e7e3;text-align:left;vertical-align:top}.accounting-content-table th{background:#f5f7f5;color:#667278;font-size:12px;font-weight:700}.accounting-content-table tr:last-child td{border-bottom:0}.accounting-content-table .align-right{text-align:right;white-space:nowrap}.raw-document-details{display:grid;gap:8px}.raw-document-details summary{width:fit-content;cursor:pointer;color:#244e43;font-size:13px;font-weight:700}.json-preview{max-height:360px;overflow:auto;padding:12px;border:1px solid #d5ddd7;border-radius:8px;background:#0f172a;color:#e2e8f0;font-size:12px;line-height:1.5;white-space:pre-wrap}.attachment-list{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:1200px){.accounting-form-row{grid-template-columns:repeat(3,minmax(120px,1fr))}.accounting-grid{grid-template-columns:1fr}}@media(max-width:720px){.accounting-form-row,.accounting-summary-grid{grid-template-columns:1fr}}.purchase-receipt-section{display:grid;gap:14px;margin-top:16px}.purchase-receipt-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:13px;color:#4f5d57}.purchase-receipt-order-sent{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.purchase-receipt-line-table .receipt-head,.purchase-receipt-line-table .receipt-row{grid-template-columns:minmax(140px,1.2fr) minmax(120px,1fr) 72px 88px 88px 88px 72px;min-width:760px}.purchase-receipt-entry-table .receipt-entry-head,.purchase-receipt-entry-table .receipt-entry-row{grid-template-columns:minmax(180px,1.4fr) 88px 120px;min-width:420px}.purchase-receipt-form,.purchase-receipt-complete{display:grid;gap:10px;border-top:1px solid #e1e7e3;padding-top:12px}.purchase-receipt-complete-label{display:inline-flex;align-items:center;align-self:start;min-height:32px;border-radius:6px;padding:0 14px;background:#d9eee4;color:#244e43;font-size:14px;font-weight:800}.purchase-receipt-history{display:grid;gap:10px;border-top:1px solid #e1e7e3;padding-top:12px}.purchase-receipt-history-row{border:1px solid #d8e0da;border-radius:6px;padding:10px;background:#fff}.purchase-receipt-history-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.purchase-receipt-history-row ul{margin:8px 0 0;padding-left:18px}.purchase-receipt-status-page{display:grid;gap:16px}.purchase-receipt-status-filters{display:flex;flex-wrap:wrap;gap:12px}.purchase-receipt-status-table .panel-heading{margin-bottom:14px}.purchase-receipt-status-rows{display:grid;gap:8px}.purchase-receipt-status-row{width:100%;text-align:left;border:1px solid #d8e0da;border-radius:8px;background:#fff;padding:12px;cursor:pointer}.purchase-receipt-status-row:hover{border-color:#9eb5a8}.purchase-receipt-status-row-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.purchase-receipt-status-row-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12px;color:#667278}
