/* Veridian's internal employee portal: forest green, lime, and warm white. */
:root{--ink:#223c2c;--muted:#62715d;--line:#dfe8d9;--surface:#f6f8f3}
.app-sidebar{background:radial-gradient(ellipse at 5% 5%,#547e3238,transparent 65%),linear-gradient(160deg,#063c23,#0a452b);border-right:1px solid #164c32;color:#edf6e8;padding-top:31px}
.app-sidebar .brand{color:#29e260;margin-bottom:7px}.portal-identity{font-size:8px;font-weight:600;letter-spacing:2px;color:#c7ddbb;margin:0 0 33px 3px}.app-sidebar .nav-label{color:#bcd3b3;font-size:8px;letter-spacing:1.7px;margin-bottom:12px}.app-sidebar nav{gap:7px}.app-sidebar nav a{color:#e3eedb;font-size:13px;font-weight:500;padding:12px 14px;min-height:45px;border-radius:8px}.app-sidebar nav a span{color:#b4cfaa}.app-sidebar nav a:hover{background:#ffffff12;color:#fff}.app-sidebar nav a.active,.app-sidebar nav a[aria-current=page]{background:#dcefd2;color:#16442a;font-weight:600;box-shadow:inset 3px 0 0 #36d85d}.app-sidebar nav a.active span,.app-sidebar nav a[aria-current=page] span{color:#3b6d42}.app-sidebar nav a:focus-visible,.app-sidebar .signout:focus-visible{outline:2px solid #93eb9c;outline-offset:3px}.app-sidebar .user-card{border-color:#ffffff24}.app-sidebar .user-card b{font-size:12px;color:#fff}.app-sidebar .user-card small{font-size:11px;color:#cfdfc6}.app-sidebar .signout{color:#d9e9d1;font-size:12px;min-height:42px}.app-sidebar .signout:hover{color:#8cf09d}.app-sidebar .menu-toggle{background:#ffffff0c;border-color:#ffffff4d;color:#eff8e9}.app-sidebar .sidebar-bottom{border-color:#ffffff24}
.app-main{background:#f6f8f3}.app-main .muted,.welcome p:not(.eyebrow),.stat>span,.directory-person small,.review-note,.request-card-top p,.request-card h3 small{color:#62715d}.app-top{color:#60715a}.eyebrow{color:#60785a}.request-id,.duration,.filter-links a,.app-footer{color:#65755e}.app-main label{color:#2f4b34}.app-main .field-hint,.session-help,.remember-option small{color:#61715b}.panel{background:#fffefc;border-color:#dfe8d9}.stat{background:#fffefc}.stat strong{color:#244730}.badge.pending{background:#fbefcf;color:#80631e}.badge.approved{background:#dff1de;color:#346c3d}.badge.rejected{background:#f8e3dd;color:#914d3c}.badge.cancelled{background:#eee7f3;color:#735982}.gentle-banner{background:#e6efdb}.gentle-banner p{color:#5e7351}.gentle-banner h3{color:#355d35}.empty{color:#6e7e62}.empty h3{color:#4b6742}.info{color:#586d4c}.form-panel .muted{font-size:12px}
.profile-avatar{display:inline-block;padding:0;object-fit:cover;border:2px solid #f3f8ee;box-shadow:0 1px 6px #102a1712;flex-shrink:0;background:#dfebd1}.user-card .profile-avatar{width:38px;height:38px}.directory-person .profile-avatar{width:44px;height:44px;border-color:#e8efdf}.profile-settings-top{display:flex;align-items:center;gap:22px;margin-bottom:26px}.profile-settings-top h2{margin-bottom:7px}.profile-settings-top p{margin-bottom:0;font-size:12px}.profile-picture-large{width:96px;height:96px;object-fit:cover;border-radius:50%;border:4px solid #e5efdc;background:#e5efdc;flex-shrink:0;box-shadow:0 3px 15px #244d2410}.profile-panel input[type=file]{padding:9px;background:#fffefc;font-size:12px;max-width:100%;min-width:0}.profile-panel input[type=file]::file-selector-button{border:0;border-radius:5px;background:#e2efda;color:#285331;padding:8px 12px;margin-right:12px;font:inherit;cursor:pointer}.restore-picture-form{margin-top:15px}.profile-panel .cancel{color:#476d40;border-color:#bbd1ad}
@media(max-width:1050px){.app-sidebar nav a{font-size:12px}.portal-identity{font-size:7px;letter-spacing:1.4px;margin-bottom:28px}}
@media(max-width:760px){.app-layout{display:block}.app-sidebar{width:100%;height:auto;position:static;border-right:0;border-bottom:1px solid #164c32;padding:19px 20px}.app-sidebar.has-menu>.brand{margin:0}.app-sidebar.has-menu>.portal-identity{grid-column:1/-1;margin:-4px 0 0 2px;order:1;font-size:8px}.app-sidebar.has-menu>.menu-toggle{grid-column:2;grid-row:1}.app-sidebar.has-menu>.nav-label{display:none}.app-sidebar.has-menu>nav{order:2}.app-sidebar.has-menu>.sidebar-bottom{order:3;border-color:#ffffff26}.app-sidebar .user-card{border:0;padding:0}.app-sidebar .signout{padding:7px 0}.app-main{padding:0 18px;width:100%;margin:0}.app-sidebar.has-menu>nav a{font-size:13px}.profile-settings-top{gap:15px}.profile-picture-large{width:80px;height:80px}.profile-settings-top h2{font-size:20px}.profile-settings-top p{font-size:11px}.profile-panel input[type=file]{font-size:11px}.profile-panel input[type=file]::file-selector-button{padding:8px;font-size:11px}}
@media(max-width:390px){.profile-settings-top{align-items:start;gap:12px}.profile-picture-large{width:65px;height:65px}.profile-settings-top h2{font-size:18px}.profile-settings-top p{font-size:11px}.profile-panel input[type=file]{font-size:10px}.profile-panel input[type=file]::file-selector-button{font-size:10px;margin-right:5px;padding:7px}}

/* Contained tables keep small screens readable without widening the page. */
.app-main,.panel,.team-layout{min-width:0}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid #dce7de;border-radius:14px}
.table-scroll:focus-visible{outline:3px solid #149b55;outline-offset:3px}
.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.5}
.data-table caption{text-align:left;padding:12px 16px;color:#496452;background:#f5f9f5}
.data-table th,.data-table td{padding:16px;border-bottom:1px solid #e3ebe5;vertical-align:top}
.data-table thead{background:#edf5ee;color:#164b2c}
.data-table thead th{white-space:nowrap}
.data-table th a{color:inherit;text-decoration:none}
.data-table th a:hover{text-decoration:underline}
.data-table tbody tr:hover{background:#f7fbf7}
.data-table td{min-width:90px}.data-table td:last-child{min-width:210px;max-width:400px}
.data-table .directory-person{margin:0;padding:0;border:0;min-width:160px;align-items:center}
.data-table details{margin-top:8px;white-space:normal}.data-table .reason{overflow-wrap:anywhere}
summary{cursor:pointer;color:#146c3a;font-weight:600;padding:8px 0}
.leave-timing{color:#185835;display:block;white-space:nowrap}
.table-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}
.table-tools label{flex:1;min-width:140px;max-width:360px}.table-tools input{margin-bottom:0}
.table-tools .text-link{padding:12px}.balance-panel,.policy-note{margin-bottom:22px}
.allowance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.balance-warning{color:#9b2929}.team-layout{display:block;max-width:620px;margin-bottom:24px}
@media(max-width:600px){.data-table th,.data-table td{padding:12px}.allowance-grid{grid-template-columns:1fr}.table-tools .button{padding:12px 16px}.panel{max-width:100%}}
.balance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.balance-summary>div{background:#f1f7ef;border-radius:12px;padding:18px}.balance-summary strong{display:block;font-size:32px;color:#164d2b}.balance-summary span,.balance-summary small{display:block}.balance-summary small{color:#496452;margin-top:8px}
@media(max-width:600px){.balance-summary{grid-template-columns:1fr}.balance-summary>div{padding:14px}.balance-summary strong{font-size:26px}}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.calendar-toolbar h2{margin:0}.calendar-scroll{overflow-x:auto;border:1px solid #dce7de;border-radius:12px;margin:20px 0 28px;max-width:100%}.leave-calendar{min-width:700px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#eaf4e9;color:#20552e}.calendar-weekdays b{padding:12px;font-size:12px}.calendar-day,.calendar-blank{min-height:115px;border-top:1px solid #e0e9e0;border-right:1px solid #e0e9e0;padding:9px;min-width:0}.calendar-day time{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.calendar-weekend,.calendar-blank{background:#f5f7f3}.calendar-today{box-shadow:inset 0 0 0 2px #208044}.calendar-event{display:block;background:#e1f3de;border-left:3px solid #287f40;border-radius:5px;padding:6px;margin:5px 0;font-size:10px;overflow-wrap:anywhere}.calendar-event b,.calendar-event span{display:block}.calendar-event:hover{background:#cce8c8}.calendar-agenda,.ongoing-list{display:grid;gap:12px}.calendar-agenda article,.ongoing-list article{padding:16px;border:1px solid #dce7de;border-radius:10px;background:#f6faf4;scroll-margin-top:20px}.calendar-agenda p{margin:8px 0}.ongoing-list span,.ongoing-list small{display:block;margin-top:6px}.ongoing-list{margin-bottom:14px}.calendar-agenda-title{margin-bottom:10px}input[readonly]{background:#eef4ec;color:#315c3d}.app-sidebar{overflow-y:auto}
@media(max-width:600px){.calendar-toolbar .button-group{gap:14px}.calendar-agenda article{padding:13px}.calendar-toolbar h2{font-size:23px}}

/* Consistent control baselines across search, filters, and editor forms. */
.app-main .button{min-height:46px;padding:11px 20px;font-size:13px;line-height:22px;gap:6px;vertical-align:middle}
.app-main .button-secondary{background:#fff;color:#245c36;border-color:#b9cfbc}.app-main .button-secondary:hover{background:#edf5eb}
.table-tools{align-items:flex-end;gap:12px;row-gap:14px}.table-tools label{margin:0;max-width:360px;flex:1 1 240px}.table-tools input{height:46px;min-height:46px;margin:7px 0 0;padding:10px 13px;line-height:24px}.table-tools .button{margin:0;min-width:92px;height:46px;flex:0 0 auto}.table-tools .text-link{margin:0;min-height:46px;display:inline-flex;align-items:center;justify-content:center;line-height:22px;padding:11px 16px}
.panel-heading{align-items:center}.panel-heading h2{margin:0}.panel-heading>.text-link{flex-shrink:0}.button-group{align-items:center;gap:10px}.review-form .button-group .button{flex:1;min-width:100px}.review-form label{margin-bottom:14px}.restore-picture-form{margin-top:16px}.filter-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;line-height:20px}.app-footer{align-items:center;column-gap:24px;row-gap:10px;flex-wrap:wrap}.app-footer>span{display:block}.calendar-toolbar .button-group{flex-wrap:wrap;gap:18px}.balance-panel details>form{margin-top:12px}.allowance-grid label{margin-bottom:12px}.balance-panel h2 small{font-size:13px}
@media(max-width:600px){.table-tools label{flex-basis:100%;max-width:none}.table-tools .button{flex:1 1 90px}.panel-heading{align-items:flex-start;flex-wrap:wrap}.panel-heading>.text-link{max-width:none;text-align:left}.app-footer{align-items:flex-start}.review-form .button-group .button{padding-left:12px;padding-right:12px}.calendar-toolbar .button-group{width:100%;justify-content:space-between;gap:12px}}
.balance-summary{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.balance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.balance-summary{grid-template-columns:1fr}}
.password-reset-dialog{position:fixed;inset:0;width:min(480px,calc(100% - 36px));max-height:calc(100svh - 48px);overflow:auto;margin:auto;padding:36px;border:1px solid #cfe0cf;border-radius:22px;background:#fff;color:#203b2c;box-shadow:0 25px 90px #052c2755;text-align:center}.password-reset-dialog::backdrop{background:#092b1c88;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;background:#edf4eb;color:#315f3d;border:1px solid #d3e3d1;border-radius:50%;font-size:26px;line-height:1}.dialog-close:hover{background:#dcecd7}.reset-success-icon{display:grid;place-items:center;margin:4px auto 20px;width:58px;height:58px;border-radius:50%;background:#e1f4da;color:#247b3c;font-size:30px}.password-reset-dialog h2{font-size:27px;margin:0 0 16px}.password-reset-dialog p{line-height:1.7}.temporary-password-label{font-size:13px;margin:20px 0 10px}.temporary-password{display:block;padding:17px 12px;border:1px dashed #82ad80;background:#f1f8ec;border-radius:10px;font-size:23px;font-weight:700;letter-spacing:2px;color:#174b2b;overflow-wrap:anywhere;user-select:all}.password-reset-dialog .reset-password-help{font-size:13px;color:#496452;margin:20px 0 10px}.password-reset-dialog>small{font-size:11px;color:#536b57}@media(max-width:480px){.password-reset-dialog{padding:32px 22px}.temporary-password{font-size:21px;letter-spacing:1px}.password-reset-dialog h2{font-size:24px}}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 24px}.account-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.account-create-grid>.panel{width:100%;max-width:none;margin:0 0 24px}.account-create-grid .button{white-space:normal}@media(max-width:1100px){.account-create-grid{grid-template-columns:1fr;max-width:730px;gap:0}}
.account-type-picker{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.account-type-picker .button{min-width:150px}.account-type-prompt{margin:0 0 28px}.account-create-grid.account-create-single{display:block;max-width:730px}.account-create-single>.panel{max-width:730px}@media(max-width:480px){.account-type-picker .button{flex:1;min-width:110px}}
