/* Employee components share one DOM on phones and desktop. */
@import url('./employee.css');
:root{
  --bg:#f2f4f8;--surface:rgba(255,255,255,.88);--surface-solid:#fff;--text:#12151b;--muted:#737a86;
  --line:rgba(18,21,27,.09);--line-strong:rgba(18,21,27,.16);--shadow:0 18px 55px rgba(24,31,46,.10);
  --shadow-soft:0 8px 28px rgba(24,31,46,.07);--radius:1.625rem;--radius-sm:1rem;
  --accent:#15171c;--accent2:#343946;--danger:#b42318;--danger-bg:#fff1f0;--success:#137a55;
}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:
radial-gradient(circle at 12% 8%,rgba(255,72,150,.09),transparent 24%),
radial-gradient(circle at 86% 12%,rgba(59,130,246,.10),transparent 26%),
radial-gradient(circle at 72% 80%,rgba(30,200,160,.07),transparent 25%),linear-gradient(145deg,#f8f9fb 0%,#eef1f6 100%);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:inherit}.brand-logo{display:block;object-fit:contain}.header-logo{width:180px;max-height:2.75rem;object-position:left center}.brand-heading{display:flex;align-items:center;gap:1.125rem;min-width:0}.brand-heading h1{margin:0}.title-row{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap}.login-view{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden}.login-view::before,.login-view::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;filter:blur(20px);opacity:.25;pointer-events:none}.login-view::before{background:linear-gradient(135deg,#ff4f9a,#ffbd59);left:-11.25rem;top:-10rem}.login-view::after{background:linear-gradient(135deg,#59a7ff,#65e8cc);right:-11.875rem;bottom:-11.25rem}.login-card{position:relative;z-index:1;width:min(470px,100%);padding:2.625rem 2.125rem 2.125rem;border:1px solid rgba(255,255,255,.7);border-radius:2.125rem;background:rgba(255,255,255,.78);backdrop-filter:blur(24px);box-shadow:0 28px 90px rgba(21,28,43,.16),inset 0 1px 0 rgba(255,255,255,.95)}.login-card::after{content:"";position:absolute;inset:0;border-radius:2.125rem;padding:0.0625rem;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.1),rgba(64,111,255,.18));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-icon{display:block;width:5.125rem;height:5.125rem;object-fit:contain;margin:0 auto 1.875rem;filter:drop-shadow(0 14px 22px rgba(0,0,0,.12))}.login-form{display:grid;gap:0.9375rem}.app-shell{width:min(1260px,calc(100% - 32px));margin:0 auto;padding:1.625rem 0 3.625rem}.topbar{position:sticky;top:0.75rem;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.125rem;padding:1.0625rem 1.25rem;border:1px solid rgba(255,255,255,.82);background:rgba(250,251,253,.78);backdrop-filter:blur(22px);border-radius:1.5625rem;box-shadow:0 12px 38px rgba(24,31,46,.08)}.topbar-actions,.section-heading,.footer-actions,.dialog-header,.dialog-actions,.dialog-actions-right,.entry-top,.entry-meta,.admin-report-filters,.inline-actions,.admin-summary-filters{display:flex;align-items:center}.topbar-actions{gap:0.5625rem;flex-wrap:wrap;justify-content:flex-end}.section-heading,.dialog-header,.dialog-actions{justify-content:space-between;gap:1rem}.section-heading.compact{align-items:flex-start}.summary-heading{align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.6875rem,4.4vw,2.5rem);letter-spacing:-.035em;margin-bottom:0.3125rem}h2{font-size:max(11px,1.375rem);letter-spacing:-.02em;margin-bottom:0.3125rem}h3{font-size:max(11px,1.0625rem);margin-bottom:0.5rem}.muted{color:var(--muted);margin-bottom:0;font-size:max(11px,0.8125rem)}.role-pill,.host-badge{display:inline-flex;align-items:center;border-radius:62.4375rem;font-weight:850;letter-spacing:.04em}.role-pill{font-size:max(11px,0.6875rem);padding:0.4375rem 0.625rem;background:linear-gradient(135deg,#171a20,#3c4250);color:#fff;box-shadow:0 6px 15px rgba(20,25,34,.18)}.host-badge{padding:0.5625rem 0.8125rem;font-size:max(11px,0.6875rem);color:#fff;background:linear-gradient(110deg,#111,#3c4150);box-shadow:0 8px 22px rgba(0,0,0,.2)}.card,.summary-card,.dialog-card{background:var(--surface);border:1px solid rgba(255,255,255,.82);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(18px)}.card{padding:1.375rem;margin-top:1.125rem;border-radius:var(--radius)}.card:hover{box-shadow:0 12px 36px rgba(24,31,46,.08),inset 0 1px 0 #fff}.report-meta{display:grid;grid-template-columns:minmax(260px,2fr) 1fr 1fr;gap:0.875rem}.field{display:flex;flex-direction:column;gap:0.4375rem}.field label{font-size:max(11px,0.75rem);font-weight:800;color:#59606c;letter-spacing:.012em}input,select,textarea,.readonly-value{width:100%;border:1px solid var(--line);border-radius:0.9375rem;padding:0.75rem 0.875rem;background:rgba(255,255,255,.82);color:var(--text);outline:none;transition:.18s ease;box-shadow:inset 0 1px 2px rgba(16,24,40,.025)}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:#596276;box-shadow:0 0 0 4px rgba(60,70,90,.09),0 6px 16px rgba(30,40,60,.05);background:#fff}.readonly-value{background:rgba(245,247,250,.88);font-weight:750;min-height:max(36px,2.8125rem)}.role-readonly{display:flex;align-items:center;background:linear-gradient(135deg,#f5f6f8,#e9edf3)}input[readonly],input:disabled,select:disabled{background:#f2f4f7;color:#737a86}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.8125rem;margin-top:1.125rem}.summary-card{padding:1.1875rem;border-radius:1.375rem;position:relative;overflow:hidden}.summary-card::before{content:"";position:absolute;inset:0 0 auto;height:0.1875rem;background:linear-gradient(90deg,transparent,rgba(80,100,150,.35),transparent)}.summary-card-accent{background:linear-gradient(145deg,rgba(25,28,34,.96),rgba(49,55,67,.96));color:#fff;border-color:rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(20,24,33,.18)}.summary-card-accent span,.summary-card-accent small{color:rgba(255,255,255,.67)}.summary-card-expense{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,244,250,.94))}.summary-card span{display:block;color:#7a818c;font-size:max(11px,0.75rem);margin-bottom:0.5rem;font-weight:700}.summary-card strong{display:block;font-size:max(11px,1.5625rem);letter-spacing:-.035em}.summary-card small{display:block;margin-top:0.375rem;color:#7b828e}.btn,.icon-btn{border:0;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font:inherit;line-height:normal;cursor:pointer;user-select:none;vertical-align:middle;padding:0.6875rem 1rem;border-radius:0.875rem}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#121419,#303641);color:#fff;box-shadow:0 9px 20px rgba(20,25,34,.18)}.btn-primary:hover{box-shadow:0 12px 26px rgba(20,25,34,.24)}.btn-ghost,.btn-ghost:visited{background:linear-gradient(145deg,#f3f5f8,#e6eaf0);color:#292f38;border:1px solid rgba(20,26,36,.05)}.btn-danger{background:linear-gradient(145deg,#fff1f0,#ffe3e1);color:var(--danger);border:1px solid rgba(180,35,24,.08)}.btn-small{padding:0.5rem 0.6875rem;border-radius:0.6875rem;font-size:max(11px,0.75rem)}.icon-btn{width:2.625rem;height:2.625rem;border-radius:0.875rem;background:#eff2f6;font-size:max(11px,1.5rem);color:#353b45}.empty-state{margin-top:1.125rem;padding:1.75rem 1.125rem;border:1px dashed rgba(70,80,100,.24);border-radius:1.125rem;text-align:center;color:#858c98;background:rgba(250,251,253,.55)}.empty-state.no-margin{margin-top:0}.empty-state strong{display:block;color:#4d5562}.entries-list{display:grid;gap:0.8125rem;margin-top:1.125rem}.entry-card{border:1px solid var(--line);border-radius:1.25rem;padding:1.0625rem;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(247,249,252,.8));box-shadow:0 7px 22px rgba(24,31,46,.045)}.entry-card.corrected{border-color:rgba(81,96,127,.28);background:#fff}.entry-top{justify-content:space-between;gap:0.75rem;align-items:flex-start}.entry-date{font-weight:850;font-size:max(11px,0.875rem)}.entry-type{color:#666;font-size:max(11px,0.8125rem)}.entry-meta{flex-wrap:wrap;gap:0.5rem;margin-top:0.75rem}.badge{background:linear-gradient(145deg,#f1f3f6,#e8ebf0);border-radius:62.4375rem;padding:0.375rem 0.625rem;font-size:max(11px,0.6875rem);font-weight:800}.badge-warning{background:#fff0d5}.badge-danger{background:#fbe6e6;color:#8c1717}.badge-admin{background:#e9edf2}.entry-comment{margin:0.75rem 0 0;color:#5b5b5b;white-space:pre-wrap}.admin-comment{margin-top:0.75rem;padding:0.75rem 0.8125rem;border-left:3px solid #272c35;background:linear-gradient(135deg,#f2f4f7,#e9edf3);border-radius:0.625rem;white-space:pre-wrap}.admin-comment strong{display:block;margin-bottom:0.1875rem;font-size:max(11px,0.75rem)}.entry-edit{white-space:nowrap}.task-list-display{display:grid;gap:0.4375rem;margin-top:0.75rem}.task-display-row{display:flex;justify-content:space-between;gap:0.75rem;padding:0.625rem 0.75rem;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:0.8125rem}.task-display-row span:last-child{font-weight:850;white-space:nowrap}.footer-actions{position:sticky;bottom:0.75rem;margin-top:1.125rem;padding:0.75rem;border-radius:1.125rem;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.85);justify-content:flex-end;gap:0.625rem;box-shadow:0 12px 34px rgba(24,31,46,.08)}.dialog{border:0;background:transparent;padding:1rem;width:min(800px,100%);max-height:96vh}.dialog::backdrop{background:rgba(13,17,24,.55);backdrop-filter:blur(5px)}.dialog-card{padding:1.375rem;overflow:auto;max-height:calc(96vh - 32px);border-radius:1.75rem}.form-grid,.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem;margin-top:1.125rem}.field-full{grid-column:1/-1}.duration-box{padding:0.8125rem 0.9375rem;background:linear-gradient(135deg,#f4f6f9,#e9edf3);border-radius:0.9375rem}.duration-box span,.duration-box strong{display:block}.duration-box span{font-size:max(11px,0.75rem);color:#6b7280}.duration-box strong{margin-top:0.25rem}.dialog-actions{margin-top:1.25rem}.dialog-actions-right{gap:0.625rem;margin-left:auto}.admin-note{padding:0.75rem 0.875rem;border-radius:0.875rem;background:#f1f3f6;font-size:max(11px,0.8125rem)}.review-info{margin:1rem 0;padding:0.875rem;border-radius:1rem;background:linear-gradient(135deg,#f5f7fa,#e9edf3);line-height:1.5}.task-section{margin-top:0.375rem}.task-editor,.admin-task-editor{display:grid;gap:0.625rem;margin-top:0.75rem}.task-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 1fr auto;gap:0.625rem;align-items:end;padding:0.8125rem;background:rgba(247,248,250,.9);border-radius:0.9375rem;border:1px solid var(--line)}.task-row .remove-task{height:2.75rem}.task-rate-readonly{background:#eff1f4}.admin-task-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0.625rem;align-items:end;padding:0.8125rem;border:1px solid var(--line);border-radius:0.9375rem}.admin-task-row .requested{background:#f3f4f6}.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:1.125rem}.admin-panel{min-width:0}.employee-list{display:grid;gap:0.5625rem;margin-top:0.75rem}.employee-row{width:100%;text-align:left;border:1px solid var(--line);background:linear-gradient(145deg,#fbfcfd,#f2f4f7);border-radius:1rem;padding:0.8125rem 0.875rem;transition:.16s ease}.employee-row:hover,.employee-row.active{border-color:rgba(45,54,70,.30);background:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(22,30,44,.07)}.employee-row strong,.employee-row span{display:block}.employee-row span{margin-top:0.25rem;color:#7a818c;font-size:max(11px,0.75rem)}.city-filter{margin-top:0.875rem}.rates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-top:1rem}.divider{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.admin-report-filters{gap:0.625rem;align-items:end;flex-wrap:wrap}.admin-report-filters .field{min-width:150px}.mini-summary{margin-top:1rem;padding:0.9375rem;background:linear-gradient(135deg,#f4f6f9,#eaedf2);border-radius:1rem;display:flex;gap:1.125rem;flex-wrap:wrap;font-size:max(11px,0.8125rem)}.mini-summary strong{font-size:max(11px,1rem)}.inline-actions{justify-content:flex-end;margin-top:0.875rem}.checkbox-label{display:flex!important;align-items:center;gap:0.625rem;font-size:max(11px,0.875rem)!important}.checkbox-label input{width:auto;min-width:1.125rem;height:1.125rem;margin:0}.admin-summary-filters{gap:0.75rem;flex-wrap:wrap;margin-top:0.875rem}.admin-summary-filters .field{min-width:170px}.table-wrap{width:100%;overflow:auto;margin-top:1rem;border-radius:1.0625rem;border:1px solid var(--line);background:rgba(255,255,255,.62)}.summary-table{width:100%;border-collapse:collapse;min-width:780px}.summary-table th,.summary-table td{padding:0.75rem 0.6875rem;border-bottom:1px solid rgba(30,40,60,.07);text-align:right;white-space:nowrap}.summary-table th:first-child,.summary-table td:first-child,.summary-table th:nth-child(2),.summary-table td:nth-child(2){text-align:left}.summary-table thead th{font-size:max(11px,0.6875rem);color:#69717e;background:rgba(244,246,249,.92);text-transform:uppercase;letter-spacing:.035em}.summary-table tbody tr:hover{background:rgba(245,247,250,.8)}.summary-table tfoot td{font-weight:850;border-top:2px solid #242a34;border-bottom:0}.summary-table .empty-row{text-align:center;color:#777;padding:1.375rem}.summary-name{font-weight:800}.summary-table .action-cell{text-align:right}.summary-table button{white-space:nowrap}.venue-list{display:grid;gap:0.625rem;margin-top:1rem}.venue-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:0.625rem;align-items:center;padding:0.6875rem;border:1px solid var(--line);border-radius:0.9375rem;background:rgba(250,251,253,.82)}.stats-table{min-width:1100px}.stats-table th,.stats-table td{text-align:center}.stats-table th:first-child,.stats-table td:first-child,.stats-table th:nth-child(2),.stats-table td:nth-child(2){text-align:left}.governance-card{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(243,246,250,.86))}.danger-zone{border-color:rgba(180,35,24,.13)}.section-icon{width:2.375rem;height:2.375rem;display:grid;place-items:center;border-radius:0.8125rem;background:linear-gradient(145deg,#eef1f5,#dfe4eb);font-weight:900}.approval-list{display:grid;gap:0.625rem;margin-top:0.9375rem}.approval-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.8125rem 0.875rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.75)}.approval-row strong,.approval-row span{display:block}.approval-row span{font-size:max(11px,0.75rem);color:var(--muted);margin-top:0.1875rem}.approval-actions{display:flex;gap:0.5rem;flex-wrap:wrap}.danger-row{border-color:rgba(180,35,24,.12);background:linear-gradient(135deg,#fff,#fff7f6)}.host-card{background:linear-gradient(145deg,rgba(28,31,38,.97),rgba(49,55,67,.96));color:#fff;border-color:rgba(255,255,255,.08);box-shadow:0 22px 55px rgba(20,24,32,.24)}.host-card .muted{color:rgba(255,255,255,.62)}.host-card .approval-row{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}.host-card .approval-row span{color:rgba(255,255,255,.58)}.host-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.4fr);gap:1.125rem;margin-top:1rem}.audit-list{max-height:390px;overflow:auto;display:grid;gap:0.4375rem}.audit-row{display:grid;grid-template-columns:135px 150px 1fr;gap:0.5rem 0.75rem;padding:0.625rem 0.6875rem;border-radius:0.8125rem;background:rgba(255,255,255,.065);font-size:max(11px,0.6875rem)}.audit-row code{color:#a9c7ff;word-break:break-all}.audit-row span:last-child{grid-column:2/-1;color:rgba(255,255,255,.52)}.error-text{margin:0.625rem 0 0;color:#b42318;font-size:max(11px,0.8125rem);font-weight:800}.subheading{margin-top:1.375rem}.city-group-title{font-size:max(11px,0.6875rem);font-weight:900;letter-spacing:.09em;color:#777;margin:0.5rem 0.125rem 0.125rem;text-transform:uppercase}
@media(max-width:960px){.admin-grid{grid-template-columns:1fr}.employee-list{grid-template-columns:repeat(2,1fr)}.rates-grid{grid-template-columns:1fr}.host-grid{grid-template-columns:1fr}}
@media(max-width:760px){.app-shell{width:min(100% - 16px,1260px);padding-top:0.625rem}.topbar{top:0.375rem;align-items:flex-start}.brand-heading{align-items:flex-start;gap:0.75rem;flex-direction:column}.header-logo{width:150px;max-height:2.125rem}.report-meta{grid-template-columns:1fr 1fr}.employee-readonly{grid-column:1/-1}.summary-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start}.form-grid,.profile-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.task-row,.admin-task-row{grid-template-columns:1fr}.dialog{padding:0.5rem}.dialog-card{padding:1.0625rem;max-height:calc(100vh - 16px)}.admin-summary-filters{align-items:stretch}.admin-summary-filters .field{flex:1;min-width:140px}.venue-row{grid-template-columns:1fr}.venue-row .btn{width:100%}.approval-row{align-items:flex-start;flex-direction:column}.approval-actions{width:100%}.approval-actions .btn{flex:1}.audit-row{grid-template-columns:1fr 1fr}.audit-row code,.audit-row span:last-child{grid-column:1/-1}}
@media(max-width:480px){.login-card{padding:2.125rem 1.25rem 1.5rem;border-radius:1.75rem}.report-meta,.summary-grid,.employee-list{grid-template-columns:1fr}.employee-readonly{grid-column:auto}.section-heading{flex-direction:column}.section-heading .btn{width:100%}.entry-top{flex-direction:column}.entry-edit{width:100%}.task-display-row{flex-direction:column}.dialog-actions{align-items:stretch;flex-direction:column}.dialog-actions-right{width:100%;margin-left:0}.dialog-actions-right .btn,.dialog-actions>.btn{flex:1}.footer-actions{flex-wrap:wrap}.footer-actions .btn{width:100%}.admin-report-filters{align-items:stretch}.admin-report-filters .field,.admin-report-filters .btn{width:100%}.topbar-actions{width:100%;justify-content:flex-start}.topbar-actions .btn{flex:1}.summary-heading{align-items:stretch}.admin-summary-filters{display:grid;grid-template-columns:1fr}.admin-summary-filters .field{min-width:0}.title-row{align-items:flex-start}}
.dialog-wide{width:min(980px,100%)}
.day-venues-editor{display:grid;gap:0.875rem;margin-top:0.75rem}.day-venue-block{padding:1rem;border:1px solid var(--line);border-radius:1.25rem;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(242,245,249,.82));box-shadow:0 8px 24px rgba(24,31,46,.05)}.venue-block-head{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;margin-bottom:0.75rem}.venue-summary{padding:0.75rem 0.8125rem;margin-top:0.625rem;border:1px solid var(--line);border-radius:0.9375rem;background:rgba(255,255,255,.72)}.venue-summary>strong{display:block;margin-bottom:0.5rem}.venue-summary>div{display:flex;gap:0.4375rem;flex-wrap:wrap}.task-chip{display:inline-flex;padding:0.375rem 0.5625rem;border-radius:62.4375rem;background:#eef1f5;font-size:max(11px,0.6875rem);font-weight:800}.locked-chip{background:linear-gradient(135deg,#e7edf5,#dde6f2);box-shadow:inset 0 0 0 1px rgba(50,70,105,.08)}.lock-note{align-self:center;padding:0.5rem 0.625rem;border-radius:62.4375rem;background:#e7edf5;font-size:max(11px,0.6875rem);font-weight:850;color:#465166}.rate-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:0.875rem}.rate-toolbar>.field{min-width:180px}.duty-rate-card{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 0.875rem;border-radius:1rem;background:linear-gradient(135deg,#f5f7fa,#e9edf3);border:1px solid var(--line)}.duty-rate-card span{font-size:max(11px,0.75rem);color:var(--muted);font-weight:700}.duty-rate-card strong{font-size:max(11px,1.1875rem)}.rate-history{display:grid;gap:0.4375rem;margin-top:0.875rem}.rate-history-title{font-size:max(11px,0.75rem);font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.rate-history-row{display:grid;grid-template-columns:130px 180px 1fr;gap:0.625rem;align-items:center;padding:0.5625rem 0.6875rem;border-radius:0.8125rem;background:rgba(247,249,252,.86);border:1px solid var(--line)}.rate-history-row small{color:var(--muted)}.summary-name+small{display:block;margin-top:0.1875rem;color:var(--muted)}
@media(max-width:760px){.rate-history-row{grid-template-columns:1fr 1fr}.rate-history-row small{grid-column:1/-1}.duty-rate-card{width:100%;justify-content:space-between}}

/* V12 rate console */
.btn-nav-accent{background:linear-gradient(135deg,#17191f,#343a46)!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 10px 26px rgba(20,24,32,.16)!important}
.rate-console{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(241,244,248,.92))}
.rate-console:before{content:"";position:absolute;inset:-7.5rem auto auto -6.25rem;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(52,69,102,.10),transparent 68%);pointer-events:none}
.rate-console-heading{position:relative}.rate-console-badge{display:inline-flex;padding:0.4375rem 0.625rem;border-radius:62.4375rem;background:linear-gradient(135deg,#181b21,#3d4554);color:#fff;font-size:max(11px,0.625rem);font-weight:900;letter-spacing:.12em;box-shadow:0 8px 18px rgba(23,28,38,.14)}
.rate-console-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(460px,1.35fr);gap:1rem;margin-top:1.125rem}.rate-module{position:relative;padding:1.0625rem;border:1px solid rgba(38,49,68,.09);border-radius:1.375rem;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,247,250,.84));box-shadow:0 12px 32px rgba(25,33,48,.06)}.rate-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem}.rate-module h3{margin:0}.rate-module p{margin:0.3125rem 0 0;font-size:max(11px,0.75rem)}.rate-employees-module{margin-top:1rem}.rate-city-field{min-width:180px}
.grade-list{display:grid;gap:0.5625rem;margin-top:0.9375rem}.grade-chip{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.75rem 0.8125rem;border-radius:1rem;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f2f5f8)}.grade-chip>div{min-width:0}.grade-chip strong{display:block;font-size:max(11px,1.125rem)}.grade-chip span{display:block;color:var(--muted);font-size:max(11px,0.6875rem);margin-top:0.125rem}.grade-chip.is-inactive,.work-rule-row.is-inactive,.rate-option-row.is-inactive{opacity:.48;filter:grayscale(.35)}
.rate-inline-editor{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,.7fr) auto;gap:0.625rem;align-items:end;margin-top:0.875rem;padding-top:0.875rem;border-top:1px solid var(--line)}
.work-rule-list{display:grid;gap:0.5rem;margin-top:0.9375rem}.work-rule-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(190px,1fr) auto;gap:0.625rem;align-items:center;padding:0.6875rem 0.75rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.76)}.work-rule-name strong,.work-rule-name span{display:block}.work-rule-name span{font-size:max(11px,0.6875rem);color:var(--muted);margin-top:0.1875rem}.work-rule-mode select{min-height:max(36px,2.375rem);padding:0.5rem 0.625rem}.work-rule-actions{display:flex;gap:0.4375rem;justify-content:flex-end}.mode-pill{display:inline-flex;padding:0.4375rem 0.5625rem;border-radius:62.4375rem;background:#eef1f5;font-size:max(11px,0.6875rem);font-weight:800;color:#4a5260}
.rate-option-list{display:grid;gap:0.5625rem;margin:0.875rem 0 1.125rem}.rate-option-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.75rem 0.8125rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(135deg,#fff,#f4f6f9)}.rate-option-row strong,.rate-option-row span{display:block}.rate-option-row span{font-size:max(11px,0.75rem);color:var(--muted);margin-top:0.1875rem}.work-rate-option-action{display:flex;align-items:end}.work-rate-option-action .btn{width:100%;min-height:max(36px,2.875rem)}
@media(max-width:980px){.rate-console-grid{grid-template-columns:1fr}.work-rule-row{grid-template-columns:1fr 1fr}.work-rule-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:650px){.rate-inline-editor,.work-rule-row{grid-template-columns:1fr}.work-rule-actions{grid-column:auto}.rate-city-field{width:100%}.grade-chip,.rate-option-row{align-items:flex-start;flex-direction:column}.grade-chip .btn,.rate-option-row .btn{width:100%}}
.task-row-with-preset{grid-template-columns:minmax(145px,1fr) minmax(170px,1.15fr) minmax(120px,.72fr) auto}
@media(max-width:900px){.task-row-with-preset{grid-template-columns:1fr 1fr}.task-row-with-preset .remove-task,.task-row-with-preset .lock-note{grid-column:1/-1}}
@media(max-width:600px){.task-row-with-preset{grid-template-columns:1fr}}


/* V13 navigation, mobile header and separate rates page */
html,body{max-width:100%;overflow-x:hidden}
.topbar,.brand-heading,.title-row,.topbar-actions{min-width:0}
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0.875rem;align-items:center}
.topbar-actions{display:flex;gap:0.5rem;justify-content:flex-end;flex-wrap:wrap}
.brand-heading{display:flex;align-items:center;gap:0.875rem}
.brand-heading>div{min-width:0}.brand-heading h1{overflow-wrap:anywhere}.title-row{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.rates-console-dialog{padding:0.875rem}.rates-page-card{width:min(1120px,100%);max-width:1120px;max-height:calc(100vh - 28px)}
.rates-page-header{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);padding-bottom:0.8125rem;border-bottom:1px solid var(--line)}
.rate-console-simple{padding-top:0.375rem}.rate-simple-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr);gap:1rem}
.work-reference-list{display:grid;gap:0.5rem;margin-top:0.9375rem}.work-reference-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.55fr) auto;gap:0.625rem;align-items:center;padding:0.75rem 0.8125rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(135deg,#fff,#f5f7fa)}
.work-reference-row .ref-name strong,.work-reference-row .ref-name span{display:block}.work-reference-row .ref-name span{font-size:max(11px,0.6875rem);color:var(--muted);margin-top:0.1875rem}.work-reference-row .ref-amount{font-weight:900;text-align:right}.work-reference-row.is-inactive{opacity:.48;filter:grayscale(.35)}
.pending-count{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 0.375rem;margin-left:0.25rem;border-radius:62.4375rem;background:#111318;color:#fff;font-size:max(11px,0.625rem)}
@media(max-width:900px){.rate-simple-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .app-shell{width:min(100% - 12px,1260px);padding-top:0.375rem}
  .topbar{position:static!important;display:flex!important;flex-direction:column;align-items:stretch!important;padding:0.75rem 0.8125rem;border-radius:1.125rem;gap:0.625rem}
  .brand-heading{flex-direction:row!important;align-items:center!important;gap:0.625rem!important}
  .header-logo{width:2.625rem!important;height:2.625rem!important;max-height:2.625rem!important;object-fit:contain;object-position:left center;flex:0 0 42px}
  .brand-heading h1{font-size:max(11px,1.3125rem);line-height:1.1;margin:0}.brand-heading .muted{font-size:max(11px,0.6875rem);margin-top:0.25rem}.role-pill{font-size:max(11px,0.5625rem);padding:0.3125rem 0.4375rem}
  .topbar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:0.4375rem!important}
  .topbar-actions .btn{width:100%;min-width:0!important;padding:0.625rem 0.5rem;font-size:max(11px,0.75rem);white-space:normal}
  .rates-console-dialog{padding:0}.rates-page-card{width:100%;max-width:none;min-height:100vh;max-height:100vh;border-radius:0;padding:0.875rem}.rates-page-header{top:0;padding-top:0.25rem}
  .work-reference-row{grid-template-columns:1fr auto}.work-reference-row .ref-amount{text-align:left}.work-reference-row .work-rule-actions{grid-column:1/-1;justify-content:stretch}.work-reference-row .work-rule-actions .btn{flex:1}
}
@media(max-width:420px){.topbar-actions{grid-template-columns:1fr 1fr}.title-row{gap:0.375rem}.brand-heading .muted{display:none}}

.header-logo-mobile{display:none;width:2.625rem;height:2.625rem;object-fit:contain;flex:0 0 42px}
@media(max-width:760px){.header-logo-desktop{display:none!important}.header-logo-mobile{display:block!important}}

/* V14: full rates page, clean mobile layout and PWA help */
.rates-view{padding-bottom:4rem}
.rates-topbar{margin-bottom:1rem}
.rates-tabs{position:sticky;top:6rem;z-index:12;display:flex;gap:0.5rem;padding:0.5625rem;margin-top:0.875rem;border-radius:1.25rem;overflow:auto;scrollbar-width:none}
.rates-tabs::-webkit-scrollbar{display:none}
.rates-tab{flex:1;min-width:180px;border:0;border-radius:0.875rem;padding:0.75rem 0.875rem;background:transparent;color:#666f7c;font-weight:850;white-space:nowrap;cursor:pointer;transition:.18s ease}
.rates-tab:hover{background:rgba(235,239,245,.78);color:#252b34}
.rates-tab.is-active{background:linear-gradient(135deg,#15181d,#353c48);color:#fff;box-shadow:0 9px 22px rgba(23,29,40,.18)}
.rates-page-content{display:grid;gap:1rem}
.rates-panel{margin-top:0;padding:1.5rem;border-radius:1.625rem;overflow:visible}
.rates-panel .rate-module-head{margin-bottom:0.25rem}
.rates-panel .rate-module-head h2{font-size:max(11px,1.5rem)}
.rates-employee-table{margin-top:1rem}
.rates-employee-filters{display:flex;align-items:end;gap:0.75rem;margin-top:1rem}
.rates-employee-filters .field{min-width:180px;flex:1}
.rates-employee-filters .rate-city-field{flex:0 1 220px}
.rates-employee-filters .rate-search-field{flex:1 1 320px}
.install-help-dialog{width:min(560px,calc(100% - 20px))}
.install-help-card{max-height:none}
.install-help-content{font-size:max(11px,0.9375rem);line-height:1.55;color:#3f4652}
.install-help-content ol{margin:0.5rem 0 0;padding-left:1.5rem;display:grid;gap:0.625rem}
.install-help-content p{margin-bottom:0}

/* Custom venue field should look intentional when it appears. */
[data-custom-wrap]{margin-top:0.625rem;padding:0.75rem;border:1px dashed rgba(55,65,85,.22);border-radius:1rem;background:rgba(248,250,253,.78)}
[data-custom-wrap] input{background:#fff}

@media(max-width:760px){
  .rates-view{width:100%;padding:0.375rem 0.375rem 2.625rem}
  .rates-view .topbar{margin:0}
  .rates-tabs{top:0;margin:0.5rem 0 0.75rem;padding:0.4375rem;border-radius:1rem;gap:0.375rem}
  .rates-tab{min-width:155px;padding:0.625rem 0.75rem;font-size:max(11px,0.75rem)}
  .rates-panel{padding:1rem;border-radius:1.25rem;margin:0}
  .rates-panel .rate-module-head h2{font-size:max(11px,1.25rem)}
  .rates-employee-filters{display:grid;grid-template-columns:1fr;gap:0.5625rem;margin-top:0.875rem}
  .rates-employee-filters .field{min-width:0}
  .rates-employee-filters .rate-city-field,.rates-employee-filters .rate-search-field{width:100%}
  .rate-inline-editor{grid-template-columns:1fr!important;gap:0.5625rem}
  .rate-inline-editor .btn{width:100%}
  .grade-chip{align-items:stretch!important;flex-direction:column!important}
  .grade-chip .work-rule-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .grade-chip .btn{width:100%}
  .work-reference-row{display:grid;grid-template-columns:1fr!important;gap:0.5rem;padding:0.8125rem}
  .work-reference-row .ref-amount{text-align:left!important;font-size:max(11px,1.125rem)}
  .work-reference-row .work-rule-actions{grid-column:auto!important;display:grid;grid-template-columns:1fr 1fr;gap:0.4375rem}
  .work-reference-row .work-rule-actions .btn{width:100%}
  .rate-city-field{width:100%;min-width:0}

  /* Employee rates table becomes stacked cards instead of a horizontally scrolling table. */
  .rates-employee-table{overflow:visible}
  .rates-employee-table table,.rates-employee-table thead,.rates-employee-table tbody,.rates-employee-table tr,.rates-employee-table th,.rates-employee-table td{display:block;width:100%}
  .rates-employee-table thead{display:none}
  .rates-employee-table tbody{display:grid;gap:0.625rem}
  .rates-employee-table tr{padding:0.8125rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.82);box-shadow:0 5px 14px rgba(24,31,46,.04)}
  .rates-employee-table td{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(0,1fr);gap:0.625rem;align-items:center;padding:0.375rem 0!important;border:0!important;text-align:left!important;overflow-wrap:anywhere}
  .rates-employee-table td:nth-child(1)::before{content:'Сотрудник'}
  .rates-employee-table td:nth-child(2)::before{content:'Должность'}
  .rates-employee-table td:nth-child(3)::before{content:'Город'}
  .rates-employee-table td:nth-child(4)::before{content:'Монтажная ставка'}
  .rates-employee-table td:nth-child(5)::before{content:'Действует с'}
  .rates-employee-table td::before{font-size:max(11px,0.625rem);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}
  .rates-employee-table td:nth-child(6){display:block;padding-top:0.625rem!important}
  .rates-employee-table td:nth-child(6)::before{display:none}
  .rates-employee-table td:nth-child(6) .btn{width:100%}
  .rates-employee-table .empty-row{display:block!important;text-align:center!important}
}

@media(max-width:430px){
  .rates-tabs{display:grid;grid-template-columns:1fr}
  .rates-tab{min-width:0;width:100%;white-space:normal}
  .work-reference-row .work-rule-actions,.grade-chip .work-rule-actions{grid-template-columns:1fr}
  .rates-employee-table td{grid-template-columns:1fr;gap:0.125rem}
}


/* V15: session boot splash + custom venue consistency */
.boot-view{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#ffffff 0,#f4f6f9 42%,#e8ecf2 100%)}
.boot-card{display:grid;place-items:center;gap:1.125rem;padding:1.625rem 1.875rem;border-radius:1.75rem;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);box-shadow:0 22px 70px rgba(20,27,39,.12);backdrop-filter:blur(18px)}
.boot-icon{width:4.375rem;height:4.375rem;object-fit:contain}
.boot-spinner{width:1.75rem;height:1.75rem;border:3px solid rgba(20,24,30,.13);border-top-color:#171a20;border-radius:50%;animation:boot-spin .75s linear infinite}
@keyframes boot-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.boot-card{padding:1.375rem 1.625rem;border-radius:1.5rem}.boot-icon{width:3.875rem;height:3.875rem}}

/* V15.2: rates page mobile width fix */
@media (max-width:760px){
  .rates-view,
  .rates-page-content,
  .rates-panel,
  .rates-employee-table,
  .rates-employee-table .summary-table,
  .rates-employee-table tbody,
  .rates-employee-table tr,
  .rates-employee-table td{
    min-width:0!important;
    max-width:100%!important;
  }
  .rates-view{width:calc(100% - 12px)!important;margin-left:auto;margin-right:auto;overflow-x:clip}
  .rates-page-content{width:100%;overflow:hidden}
  .rates-panel{width:100%;overflow:hidden}
  .rates-panel .section-heading.compact{flex-direction:column!important;align-items:stretch!important;width:100%}
  .rates-panel .section-heading.compact>div{width:100%;min-width:0}
  .rate-city-field{width:100%!important;max-width:none!important}
  .rates-employee-table{width:100%!important;overflow:visible!important}
  .rates-employee-table .summary-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .rates-employee-table tbody{width:100%!important}
  .rates-employee-table tr{width:100%!important;overflow:hidden}
  .rates-employee-table td{width:100%!important;overflow-wrap:anywhere;word-break:break-word}
  .rates-employee-table td>*{min-width:0;max-width:100%}
}

/* V16: profile avatars, employee table view, host positions, positive earnings */
.salary-positive{color:#18a66f!important;text-shadow:0 1px 0 rgba(255,255,255,.08)}
.summary-card-accent .salary-positive{color:#5ff0ae!important}
.report-list-heading{align-items:center}.report-view-actions{display:flex;align-items:center;gap:0.625rem;flex-wrap:wrap;justify-content:flex-end}.view-toggle{display:inline-flex;padding:0.25rem;border-radius:0.875rem;background:#edf0f4;border:1px solid var(--line)}.view-toggle-btn{border:0;background:transparent;padding:0.5rem 0.75rem;border-radius:0.625rem;font-weight:800;color:#69717d;cursor:pointer}.view-toggle-btn.is-active{background:#fff;color:#171a20;box-shadow:0 4px 12px rgba(20,26,36,.09)}
.employee-table-view{margin-top:1.125rem}.employee-report-table td,.employee-report-table th{white-space:nowrap}.employee-report-table tfoot td{font-weight:850;background:#f6f8fb}
.profile-avatar-header{width:3rem;height:3rem;border-radius:0.9375rem;object-fit:cover;box-shadow:0 8px 18px rgba(20,25,34,.12);border:2px solid rgba(255,255,255,.9);flex:0 0 48px}.avatar-preview{min-height:86px;border:1px dashed var(--line-strong);border-radius:1.125rem;display:grid;place-items:center;background:#f7f9fc;color:var(--muted);overflow:hidden}.avatar-preview img{width:5.375rem;height:5.375rem;border-radius:1.125rem;object-fit:cover;display:block}.avatar-preview span{font-size:max(11px,0.75rem);font-weight:750}
.host-positions{grid-column:1/-1}.position-list{display:grid;gap:0.5rem}.position-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto auto;gap:0.5rem;align-items:center;padding:0.625rem;border:1px solid var(--line);border-radius:0.9375rem;background:rgba(255,255,255,.72)}.position-row.is-inactive{opacity:.5}.position-access{font-size:max(11px,0.75rem);font-weight:800;color:var(--muted)}.position-create{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:0.625rem;align-items:end;margin-top:0.75rem}
.work-reference-row .ref-name span{display:none!important}
@media(max-width:760px){.report-list-heading{align-items:stretch;flex-direction:column}.report-view-actions{width:100%;display:grid;grid-template-columns:1fr}.view-toggle{width:100%;display:grid;grid-template-columns:1fr 1fr}.view-toggle-btn{width:100%}.report-view-actions .btn{width:100%}.employee-table-view .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.employee-report-table{min-width:720px}.position-row{grid-template-columns:1fr}.position-row .btn{width:100%}.position-create{grid-template-columns:1fr}.profile-avatar-header{width:2.625rem;height:2.625rem;flex-basis:2.625rem}#employeeView .header-logo-mobile{display:none!important}}

/* V17: focused admin navigation, attention queue, month closure and offline workflow */
.offline-banner{margin:0.875rem 0 0;padding:0.75rem 1rem;border:1px solid rgba(230,164,35,.3);border-radius:1rem;background:linear-gradient(135deg,#fff8dc,#fffdf4);color:#725314;box-shadow:0 8px 20px rgba(124,88,18,.06)}
.admin-nav{display:flex;gap:0.5rem;padding:0.5rem;margin-top:0.875rem;overflow-x:auto;scrollbar-width:none;position:sticky;top:0.5rem;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(18px)}
.admin-nav::-webkit-scrollbar{display:none}.admin-nav-btn{border:0;background:transparent;padding:0.625rem 0.875rem;border-radius:0.75rem;font-weight:850;color:#6b7280;white-space:nowrap;cursor:pointer}.admin-nav-btn:hover{background:#f1f4f8;color:#20242b}.admin-nav-btn.is-active{background:linear-gradient(135deg,#171a20,#3b4350);color:#fff;box-shadow:0 8px 18px rgba(20,27,38,.16)}
.attention-card{border-color:rgba(234,173,47,.28);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,237,.9))}.attention-count{min-width:2.125rem;height:2.125rem;padding:0 0.625rem;border-radius:62.4375rem;display:grid;place-items:center;background:#eef1f5;color:#7a828f;font-weight:900}.attention-count.has-items{background:#fff0c6;color:#9a6500}.attention-list{display:grid;gap:0.625rem}.attention-row{display:flex;align-items:center;gap:0.75rem;justify-content:space-between;padding:0.8125rem 0.875rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.attention-row.attention-blocking{border-color:rgba(213,77,77,.24);background:linear-gradient(135deg,#fff,#fff7f7)}.attention-row.attention-warning{border-color:rgba(224,165,46,.25)}.attention-main{display:grid;gap:0.5rem;min-width:0}.attention-main>div:first-child{display:grid;gap:0.125rem}.attention-main span{font-size:max(11px,0.75rem);color:var(--muted)}.attention-issues{display:flex;gap:0.375rem;flex-wrap:wrap}.attention-tag{display:inline-flex;padding:0.3125rem 0.5rem;border-radius:62.4375rem;font-size:max(11px,0.6875rem)!important;font-weight:850}.attention-tag.danger{background:#ffe5e5;color:#a33636}.attention-tag.warn{background:#fff1c7;color:#8b6200}
.summary-actions{display:flex;gap:0.5rem;flex-wrap:wrap;justify-content:flex-end}.month-status-line{display:flex;gap:0.375rem;flex-wrap:wrap;margin-top:0.3125rem}.month-status-pill{display:inline-flex;padding:0.3125rem 0.5625rem;border-radius:62.4375rem;font-size:max(11px,0.6875rem);font-weight:850}.month-status-pill.open{background:#e8f8f0;color:#18835b}.month-status-pill.closed{background:#eef0f3;color:#4f5660}.filter-grow{min-width:220px;flex:1}.staff-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem;margin-bottom:0.75rem}.staff-filter-grid .field-full{grid-column:1/-1}
.employee-profile-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.625rem;margin-bottom:1.125rem}.profile-stat{padding:0.75rem 0.8125rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,#fff,#f8fafc);display:grid;gap:0.25rem;min-width:0}.profile-stat span{font-size:max(11px,0.6875rem);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.profile-stat strong{font-size:max(11px,0.9375rem);overflow-wrap:anywhere}.profile-stat-positive{background:linear-gradient(135deg,#e9fbf3,#f8fffb);border-color:rgba(24,166,111,.2)}.profile-stat-positive strong{color:#168a5e}
.meal-suggestion{margin-top:0.4375rem;display:flex;align-items:center;justify-content:space-between;gap:0.625rem;padding:0.5rem 0.625rem;border-radius:0.75rem;background:#f1f7f4;color:#316a55;font-size:max(11px,0.75rem)}.link-button{border:0;background:transparent;color:#13825a;font-weight:850;cursor:pointer;padding:0.125rem 0}
@media(max-width:900px){.employee-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-nav{top:0.25rem;margin:0.5rem 0 0.75rem;padding:0.375rem;border-radius:1rem}.admin-nav-btn{padding:0.5625rem 0.6875rem;font-size:max(11px,0.75rem)}.attention-row{align-items:stretch;flex-direction:column}.attention-row>.btn{width:100%}.summary-heading{align-items:stretch;flex-direction:column}.summary-actions{display:grid;grid-template-columns:1fr}.summary-actions .btn{width:100%}.staff-filter-grid{grid-template-columns:1fr}.staff-filter-grid .field-full{grid-column:auto}.employee-profile-summary{grid-template-columns:1fr 1fr}.filter-grow{min-width:0}}
@media(max-width:430px){.employee-profile-summary{grid-template-columns:1fr}.admin-nav{display:grid;grid-template-columns:1fr 1fr;position:static}.admin-nav-btn{white-space:normal}}

/* V18.2 workflow refinements */
.field-hint{display:block;margin-top:0.375rem;color:var(--muted);font-size:max(11px,0.75rem)}.trip-checkbox{font-weight:850!important}.badge-trip{background:#e8f0ff;color:#315f9b}.review-action{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;justify-content:flex-end}.review-status{display:inline-flex;align-items:center;border-radius:62.4375rem;padding:0.375rem 0.625rem;font-size:max(11px,0.6875rem);font-weight:900}.review-status.is-reviewed{background:#e5f7ea;color:#23733b}.review-status.is-pending{background:#fff0c8;color:#8b6200}.x2-check,.x2-approve{align-self:center;white-space:nowrap}.admin-review-task{grid-template-columns:minmax(180px,1.3fr) minmax(130px,.8fr) auto}.city-change-box{padding:0.75rem;border:1px solid var(--line);border-radius:1rem;background:#f8fafc}.city-change-controls{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) auto;gap:0.625rem;margin-top:0.5rem;align-items:center}.attention-list{max-height:540px;overflow-y:auto;padding-right:0.25rem;overscroll-behavior:contain}.attention-person{border:1px solid var(--line);border-radius:1.0625rem;background:#fff;padding:0.75rem}.attention-person.attention-blocking{border-color:rgba(213,77,77,.24);background:linear-gradient(135deg,#fff,#fff8f8)}.attention-person-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;text-align:left;background:transparent;border:0;padding:0;color:inherit}.attention-person-head strong,.attention-person-head span{display:block}.attention-person-head span{font-size:max(11px,0.75rem);color:var(--muted);margin-top:0.1875rem}.attention-chevron{font-size:max(11px,1.25rem)}.attention-person-details{display:grid;gap:0.4375rem;margin-top:0.625rem;padding-top:0.625rem;border-top:1px solid var(--line)}.attention-detail-row{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;padding:0.5rem 0.5625rem;border-radius:0.75rem;background:rgba(246,248,251,.9)}.attention-detail-row strong,.attention-detail-row span{display:block}.attention-detail-row span{font-size:max(11px,0.6875rem);color:var(--muted);margin-top:0.125rem}.venue-row .venue-city-label{font-size:max(11px,0.75rem);color:var(--muted)}
@media(max-width:700px){.admin-review-task{grid-template-columns:1fr}.city-change-controls{grid-template-columns:1fr}.attention-list{max-height:440px}.review-action{justify-content:flex-start}.task-row{grid-template-columns:1fr}.x2-check{justify-self:start}.dialog-actions{gap:0.5rem;flex-wrap:wrap}.dialog-actions-right{margin-left:0;width:100%;justify-content:flex-end}}

/* V20: sortable analytics, compact header, staff review table, diagnostics */
.brand-home-btn{display:block;border:0;background:transparent;padding:0;margin:0;cursor:pointer;border-radius:0.75rem}.brand-home-btn:focus-visible{outline:3px solid rgba(38,92,166,.28);outline-offset:4px}.panel-heading-copy h1{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.05;margin:0}.panel-heading-copy .muted{margin-top:0.3125rem}.role-inline{font-weight:850;color:#303640}.topbar .brand-heading{gap:1.125rem;align-items:center}.topbar .header-logo-desktop{max-width:190px;height:auto}
.sort-head{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:850;text-transform:inherit;letter-spacing:inherit;display:inline-flex;align-items:center;gap:0.3125rem;padding:0;cursor:pointer;white-space:nowrap}.sort-head span{display:inline-block;width:0.75rem;color:#4a5565;font-size:max(11px,0.5625rem)}.sort-head.is-sorted{color:#171a20}
.period-presets{display:flex;gap:0.4375rem;flex-wrap:wrap;margin:0.625rem 0 0.875rem}.admin-summary-filters{grid-template-columns:repeat(5,minmax(130px,auto)) minmax(220px,1fr)!important}.staff-report-viewbar{display:flex;justify-content:flex-end;margin:0.625rem 0 0.75rem}.workday-correction-box{margin:0.75rem 0;padding:0.875rem;border:1px solid var(--line);border-radius:1.125rem;background:linear-gradient(180deg,#fafbfc,#f5f7fa)}.admin-venue-corrections{margin-top:0.5rem}.admin-venue-correction-list{display:grid;gap:0.5rem;margin-top:0.4375rem}.admin-venue-correction-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:0.625rem;align-items:center}.admin-venue-correction-row input[type=text]{min-width:0}
.avatar-preview,.profile-avatar-header{cursor:zoom-in}.avatar-lightbox{background:rgba(15,18,24,.78);border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100vh}.avatar-lightbox::backdrop{background:rgba(15,18,24,.78)}.avatar-lightbox-card{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:2rem}.avatar-lightbox-card img{max-width:min(92vw,1000px);max-height:88vh;object-fit:contain;border-radius:1.25rem;box-shadow:0 24px 80px rgba(0,0,0,.35);background:#fff}.avatar-lightbox-close{position:fixed;right:1.5rem;top:1.25rem;z-index:2;background:#fff}
.online-list{display:grid;gap:0.5rem;max-height:60vh;overflow:auto}.online-row{display:grid;grid-template-columns:auto 1fr auto;gap:0.625rem;align-items:center;padding:0.6875rem 0.75rem;border:1px solid var(--line);border-radius:0.875rem;background:#f8fafc}.online-row div{display:grid;gap:0.125rem}.online-row span{font-size:max(11px,0.75rem);color:var(--muted)}.online-row time{font-size:max(11px,0.75rem);color:var(--muted);white-space:nowrap}.online-dot{width:0.5625rem;height:0.5625rem;border-radius:50%;background:#20b574;box-shadow:0 0 0 4px rgba(32,181,116,.12)}
.host-technical{grid-column:1/-1}.log-filter-row{display:flex;gap:0.5rem;flex-wrap:wrap}.log-filter-row select{min-width:150px}.log-filter-row input{min-width:220px;flex:1}.technical-log-list{max-height:560px;overflow:auto}.technical-log-row{grid-template-columns:155px 76px minmax(130px,.7fr) minmax(160px,.8fr) minmax(260px,2fr)!important}.technical-log-row>div{display:grid;gap:0.25rem}.technical-log-row small{display:block;color:var(--muted)}.technical-log-row pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:max(11px,0.6875rem);background:#171a20;color:#e9edf5;padding:0.625rem;border-radius:0.625rem}.log-level{font-size:max(11px,0.6875rem)}.log-error{color:#bd3030}.log-warn{color:#9b6b00}.log-info{color:#286b9f}.audit-row>div small{display:block;margin-top:0.25rem;color:var(--muted)}.audit-row details{font-size:max(11px,0.6875rem);color:var(--muted)}
.phone-conflict-account{padding:0.625rem;border-radius:0.875rem;background:#f7f8fb;border:1px solid var(--line)}

/* compact employee directory */
.people-layout .employee-directory-card .section-heading{gap:0.75rem}.employee-row{min-height:0!important;padding:0.75rem 0.8125rem!important}.employee-row strong{line-height:1.22}.employee-row span{margin-top:0.1875rem}.employee-admin-list{gap:0.5rem!important}

@media(max-width:1000px){.admin-summary-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}.technical-log-row{grid-template-columns:1fr!important}.technical-log-row>*{min-width:0}.panel-heading-copy h1{font-size:max(11px,1.75rem)}}
@media(max-width:760px){
  .topbar{padding:0.875rem!important}.topbar .brand-heading{gap:0.625rem;align-items:center;min-width:0}.topbar .header-logo-mobile{display:block!important;width:2.625rem;height:2.625rem}.topbar .header-logo-desktop{display:none!important}.panel-heading-copy{min-width:0}.panel-heading-copy h1{font-size:max(11px,1.375rem);white-space:normal}.panel-heading-copy .muted{font-size:max(11px,0.75rem)}.topbar-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}.topbar-actions .btn{width:100%;min-width:0;padding-left:0.5rem;padding-right:0.5rem}
  .admin-summary-filters{grid-template-columns:1fr 1fr!important}.admin-summary-filters .filter-grow{grid-column:1/-1}.period-presets{display:grid;grid-template-columns:1fr 1fr}.period-presets .btn{width:100%;white-space:normal}.admin-venue-correction-row{grid-template-columns:1fr}.admin-venue-correction-row .checkbox-label{justify-self:start}.staff-report-viewbar{justify-content:stretch}.staff-report-viewbar .view-toggle{width:100%}.staff-report-viewbar .view-toggle-btn{flex:1}.technical-log-list{max-height:440px}
  .people-layout{grid-template-columns:1fr!important}.people-layout .employee-directory-card{padding:0.875rem}.people-layout .employee-directory-card .section-heading{display:grid!important;grid-template-columns:1fr;align-items:stretch}.people-layout .employee-directory-card .section-heading .btn{width:100%}.staff-filter-grid{grid-template-columns:1fr!important}.staff-filter-grid .field{min-width:0}.staff-filter-grid select,.staff-filter-grid input{width:100%;max-width:none}.employee-row{padding:0.6875rem 0.75rem!important;border-radius:0.875rem!important}.employee-row strong{font-size:max(11px,0.875rem)}.employee-row span{font-size:max(11px,0.6875rem)}
  .avatar-lightbox-card{padding:1.125rem}.avatar-lightbox-close{right:0.75rem;top:0.75rem}.avatar-lightbox-card img{max-width:94vw;max-height:84vh}
}
@media(max-width:430px){.admin-summary-filters{grid-template-columns:1fr!important}.admin-summary-filters .filter-grow{grid-column:auto}.period-presets{grid-template-columns:1fr}.topbar-actions{grid-template-columns:1fr 1fr}.sort-head{font-size:max(11px,0.625rem)}.online-row{grid-template-columns:auto 1fr}.online-row time{grid-column:2}}

/* V20.4 — polish, mobile layout and taxi receipt waiver */
#adminView .topbar{padding:0.9375rem 1.125rem;background:rgba(255,255,255,.86);border-radius:1.375rem;box-shadow:0 10px 32px rgba(24,31,46,.07)}
#adminView .brand-heading{gap:0.875rem}
#adminView .header-logo-desktop{width:168px;max-width:168px}
#adminView .panel-heading-copy h1{font-size:max(11px,1.875rem);letter-spacing:-.035em}
#adminView .panel-heading-copy .muted{font-size:max(11px,0.75rem);color:#7b828c}
#adminView .topbar-actions{gap:0.4375rem}
#adminView .topbar-actions .btn{padding:0.625rem 0.8125rem;border-radius:0.8125rem}
#adminView #onlineBtn{background:#f3f7f5;border-color:rgba(28,150,98,.08)}
#adminView #onlineBtn::before{content:"";width:0.4375rem;height:0.4375rem;border-radius:50%;background:#20b574;display:inline-block;margin-right:0.4375rem;box-shadow:0 0 0 3px rgba(32,181,116,.10)}
.taxi-waiver-row{margin-top:0.625rem;padding:0.625rem 0.75rem;border-radius:0.8125rem;background:#fff7e8;border:1px solid rgba(196,133,19,.14);color:#765314}
.legacy-no-venue{font-size:max(11px,0.6875rem);color:var(--muted);padding:0.25rem 0.4375rem;border-radius:0.5rem;background:#f0f2f5}

@media(max-width:760px){
  #peopleSection{display:grid!important;grid-template-columns:1fr!important;gap:0.75rem}
  #peopleSection>.admin-panel:first-child{padding:0.9375rem!important}
  #peopleSection>.admin-panel:first-child>.section-heading{display:grid!important;grid-template-columns:1fr!important;gap:0.625rem!important;align-items:stretch!important}
  #peopleSection>.admin-panel:first-child>.section-heading h2{margin:0}
  #peopleSection #adminAddEmployeeBtn{width:100%!important}
  #peopleSection .staff-filter-grid{display:grid!important;grid-template-columns:1fr!important;gap:0.625rem!important}
  #peopleSection .staff-filter-grid .field,#peopleSection .staff-filter-grid .field-full{grid-column:auto!important;width:100%!important;min-width:0!important}
  #peopleSection .staff-filter-grid select,#peopleSection .staff-filter-grid input{width:100%!important;max-width:none!important}
  #peopleSection .employee-list{gap:0.5rem;margin-top:0.625rem}
  #peopleSection .employee-row{padding:0.6875rem 0.75rem!important}
  #adminView .topbar{display:grid!important;grid-template-columns:1fr!important;gap:0.6875rem!important;padding:0.8125rem!important}
  #adminView .brand-heading{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:0.625rem!important}
  #adminView .header-logo-mobile{width:2.375rem!important;height:2.375rem!important}
  #adminView .panel-heading-copy h1{font-size:max(11px,1.3125rem)!important;white-space:normal!important}
  #adminView .panel-heading-copy .muted{font-size:max(11px,0.6875rem)!important}
  #adminView .topbar-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0.4375rem!important;width:100%}
  #adminView .topbar-actions .btn{width:100%;font-size:max(11px,0.75rem);padding:0.625rem 0.5rem}
  .admin-report-table{min-width:0!important;border-collapse:separate!important;border-spacing:0 10px!important}
  .admin-report-table thead{display:none}
  .admin-report-table tbody,.admin-report-table tr,.admin-report-table td{display:block;width:100%}
  .admin-report-table tbody tr{border:1px solid var(--line);border-radius:1rem;padding:0.5rem 0.6875rem;background:#fff;overflow:hidden}
  .admin-report-table td{border:0!important;padding:0.4375rem 0!important;text-align:right!important;white-space:normal!important;display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;gap:0.625rem;align-items:center}
  .admin-report-table td::before{content:attr(data-label);text-align:left;color:var(--muted);font-size:max(11px,0.6875rem);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
  .admin-report-table td .btn{width:100%}
  .admin-report-table .empty-row{display:block!important;text-align:center!important}
}

/* V20.5 — desktop login, employee directory polish */
@media(min-width:761px){
  .login-card{width:min(620px,calc(100vw - 48px));padding:1.875rem 2.125rem;display:grid;grid-template-columns:112px minmax(0,1fr);gap:1.875rem;align-items:center;border-radius:1.875rem}
  .login-card>[data-language-slot]{grid-column:1/-1;grid-row:1;justify-content:flex-start}
  .login-card>.login-icon{grid-column:1;grid-row:2}
  .login-card>.login-form{grid-column:2;grid-row:2}
  .login-card::after{border-radius:1.875rem}
  .login-icon{width:4.875rem;height:4.875rem;margin:0 auto;align-self:center}
  .login-form{gap:0.75rem}
  .login-form .field{gap:0.375rem}
  .login-form input{padding:0.6875rem 0.875rem}
  .login-form .btn{padding:0.6875rem 0.9375rem}
  .login-form .error-text{grid-column:1/-1;margin-top:0.125rem}
}
#peopleSection>.admin-panel:first-child>.section-heading{display:grid;grid-template-columns:1fr;gap:0.625rem;align-items:stretch}
#peopleSection>.admin-panel:first-child>.section-heading h2{margin:0}
#peopleSection #adminAddEmployeeBtn{width:100%}
#peopleSection .staff-filter-grid{margin-top:0.875rem}
#peopleSection .staff-filter-grid .city-filter{margin-top:0}
#peopleSection .staff-filter-grid .field{min-width:0}
#peopleSection .staff-filter-grid select,#peopleSection .staff-filter-grid input{min-width:0;width:100%}

/* V20.6 — multiple taxi trips, altitude surcharge, fines */
.taxi-section{padding:0.9375rem;border:1px solid var(--line);border-radius:1.125rem;background:#fafbfc}.taxi-section .section-heading{margin-bottom:0.625rem}.taxi-section .section-heading h3{margin:0}.taxi-section .section-heading p{margin:0.1875rem 0 0}.taxi-trips-editor,.admin-taxi-trips-editor{display:grid;gap:0.625rem}.taxi-trip-card,.admin-taxi-trip{border:1px solid var(--line);border-radius:1rem;background:#fff;padding:0.8125rem}.taxi-trip-head{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;margin-bottom:0.625rem}.taxi-trip-grid{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(180px,1fr);gap:0.625rem}.taxi-receipts{display:grid;gap:0.5rem;margin-top:0.625rem}.receipt-list{display:flex;flex-wrap:wrap;gap:0.4375rem;align-items:center}.receipt-chip{appearance:none;border:1px solid var(--line);background:#f6f8fb;border-radius:0.6875rem;padding:0.4375rem 0.5625rem;font:inherit;font-size:max(11px,0.75rem);cursor:pointer;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-chip:hover{background:#eef2f7}.receipt-chip.is-expired{cursor:default;color:var(--muted);background:#f3f3f3}.receipt-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:0.5rem 0.6875rem;border:1px dashed #aeb7c5;border-radius:0.6875rem;font-size:max(11px,0.75rem);font-weight:700;cursor:pointer;background:#fbfcfe}.receipt-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.pending-files{color:var(--muted);overflow-wrap:anywhere}.taxi-empty{padding:0.875rem!important}.taxi-review-controls{display:grid;grid-template-columns:minmax(130px,220px) minmax(240px,1fr);gap:0.625rem;align-items:end;margin-top:0.625rem}.admin-taxi-trip .muted{margin:0.3125rem 0 0.5625rem}.admin-taxi-trip .taxi-waiver-row{margin:0;min-height:max(36px,2.75rem)}.receipt-preview-dialog{width:min(1100px,96vw);max-width:none}.receipt-preview-card{width:100%;max-width:none}.receipt-preview-body{height:min(78vh,900px);display:grid;place-items:center;background:#11151b;border-radius:1rem;overflow:hidden}.receipt-preview-body img{max-width:100%;max-height:100%;object-fit:contain}.receipt-preview-body iframe{width:100%;height:100%;border:0;background:#fff}.receipt-preview-body .empty-state{color:#fff}.altitude-check{margin:0.6875rem 0;padding:0.625rem 0.75rem;border-radius:0.8125rem;border:1px solid rgba(116,83,188,.14);background:#f8f5ff;display:flex;flex-wrap:wrap;gap:0.4375rem}.altitude-price{font-weight:800;color:#6446a6}.altitude-chip{background:#f3edff!important;border-color:#ded1fb!important}.altitude-chip.is-rejected{opacity:.6;text-decoration:line-through}.altitude-review-list{grid-column:1/-1;display:grid;gap:0.5rem;margin-top:0.375rem;padding-top:0.625rem;border-top:1px solid var(--line)}.altitude-review-list h4{margin:0 0 0.125rem}.altitude-review-row{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;padding:0.625rem 0.75rem;border-radius:0.8125rem;background:#f8f5ff;border:1px solid #e7ddfa}.altitude-review-row>div{display:grid;gap:0.125rem}.altitude-review-row span{font-size:max(11px,0.75rem);color:var(--muted)}.special-rate-row{background:#f8f5ff}.ref-name small{display:block;margin-top:0.1875rem;color:var(--muted);font-size:max(11px,0.6875rem)}.event-fines-notice{padding:0.8125rem;border:1px solid #ead8a9;border-radius:1rem;background:#fff9e9}.event-fines-list{display:grid;gap:0.4375rem;margin-top:0.5625rem}.event-fine-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0.3125rem 0.625rem;align-items:center;padding:0.5625rem 0.625rem;border-radius:0.75rem;background:#fff;border:1px solid rgba(0,0,0,.06)}.event-fine-row>div{display:grid;gap:0.125rem}.event-fine-row span,.event-fine-row small{font-size:max(11px,0.6875rem);color:var(--muted)}.event-fine-row small{grid-column:1/-1}.fine-status{display:inline-flex;align-items:center;width:max-content;border-radius:62.4375rem;padding:0.25rem 0.5rem;font-size:max(11px,0.6875rem);font-weight:800;background:#fff0c8;color:#7c5a00}.fine-badge.fine-pending{background:#fff0c8;color:#7c5a00}.fine-create-form{padding-bottom:0.875rem;border-bottom:1px solid var(--line)}.fine-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin:0.9375rem 0 0.625rem}.fine-list-toolbar select{max-width:260px}.fines-list{display:grid;gap:0.625rem;max-height:55vh;overflow:auto;padding-right:0.1875rem}.fine-card{border:1px solid var(--line);border-radius:1rem;padding:0.8125rem;background:#fff}.fine-card-main{display:flex;justify-content:space-between;gap:0.75rem;align-items:start}.fine-card-main>div{display:grid;gap:0.1875rem}.fine-card-main span,.fine-meta{font-size:max(11px,0.6875rem);color:var(--muted)}.fine-amount{white-space:nowrap}.fine-card p{margin:0.625rem 0;white-space:pre-wrap}.fine-meta{display:flex;flex-wrap:wrap;gap:0.4375rem 0.75rem;align-items:center}.fine-actions{display:flex;justify-content:flex-end;gap:0.5rem;margin-top:0.625rem}.compact-actions{padding-top:0.5rem}.fine-pending{border-color:#ead8a9}.fine-rejected{opacity:.78}

@media(max-width:760px){
  .taxi-trip-grid,.taxi-review-controls{grid-template-columns:1fr}.taxi-section{padding:0.75rem}.taxi-trip-card,.admin-taxi-trip{padding:0.6875rem}.receipt-preview-dialog{width:100vw;height:100vh;margin:0;max-height:none}.receipt-preview-card{height:100%;border-radius:0}.receipt-preview-body{height:calc(100vh - 90px);border-radius:0.75rem}.altitude-review-row{display:grid;grid-template-columns:1fr}.event-fine-row{grid-template-columns:1fr}.fine-card-main{display:grid;grid-template-columns:1fr}.fine-list-toolbar{align-items:stretch;display:grid}.fine-list-toolbar select{max-width:none;width:100%}
}

/* V20.7 manual numeric time input: avoids native Android/iOS picker wheels. */
.manual-time{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0.5rem;align-items:center}
.manual-time-part{text-align:center;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.04em;min-width:0}
.manual-time-part::placeholder{font-weight:700;letter-spacing:.08em;color:#a0a7b2}
.manual-time-separator{font-size:max(11px,1.375rem);font-weight:900;line-height:1;color:#5d6572;user-select:none}
.manual-time.is-invalid .manual-time-part{border-color:#c63b31;box-shadow:0 0 0 3px rgba(198,59,49,.10);background:#fffafa}
.manual-time.is-disabled{opacity:.8}
@media(max-width:480px){.manual-time{gap:0.375rem}.manual-time-part{padding:0.75rem 0.625rem;font-size:max(11px,1rem)}.manual-time-separator{font-size:max(11px,1.25rem)}}


/* V20.8 — X2 review, fine semantics and searchable fine recipient picker. */
.x2-requested-chip{background:#fff4d8!important;border-color:#f0d28a!important;color:#775100!important;font-weight:850}
.x2-requested-badge{display:inline-flex;align-items:center;margin-left:0.3125rem;padding:0.1875rem 0.4375rem;border-radius:62.4375rem;background:#fff0c8;color:#805b00;font-size:max(11px,0.6875rem);font-weight:900;vertical-align:middle}
.admin-review-task-x2{border-color:#ead8a9;background:linear-gradient(135deg,#fff,#fffaf0)}
.x2-review-status{display:block;margin-top:0.375rem;font-size:max(11px,0.6875rem);font-weight:850}.x2-review-status.is-kept{color:#7a5700}.x2-review-status.is-adjusted{color:#b42318}
.fine-approved .fine-status,.fine-badge.fine-approved{background:#fff0ef;color:#b42318}.fine-approved{border-color:#f2b8b5;background:#fffafa}.fine-approved .fine-amount{color:#b42318}.fine-badge.fine-approved{border:1px solid #f2c0bd}
.fine-pending .fine-status,.fine-badge.fine-pending{background:#fff0c8;color:#7c5a00}.fine-rejected .fine-status,.fine-badge.fine-rejected{background:#eef0f3;color:#737b86}.fine-badge.fine-rejected{text-decoration:line-through}.fine-rejected .fine-amount{text-decoration:line-through;color:#737b86}
#fineTargetSearch{width:100%}#fineTargetCount{min-height:1em}.fine-create-form #fineTargetUser{width:100%}
@media(max-width:700px){.x2-requested-badge{margin-left:0;margin-top:0.25rem}.admin-review-task-x2 label{display:flex;flex-wrap:wrap;gap:0.25rem 0.375rem;align-items:center}}


/* V20.10: password visibility and recovery */
.password-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0.5rem;align-items:center}
.password-input-row input{min-width:0}
.btn-password-toggle{white-space:nowrap;padding-inline:12px}
.btn-link{background:transparent;border:0;box-shadow:none;padding:0.25rem 0;color:var(--accent,#245fbf);justify-self:start;text-decoration:underline;text-underline-offset:3px}
.btn-link:hover{background:transparent;opacity:.8}
.login-status{margin:0;text-align:left;line-height:1.4}
@media(max-width:560px){.password-input-row{grid-template-columns:minmax(0,1fr) auto}.btn-password-toggle{padding-inline:10px;font-size:max(11px,0.75rem)}}


/* V20.13 — test feedback and discreet author credit */
.site-credit{max-width:1180px;margin:1.125rem auto 0.625rem;padding:0 1.125rem 1.125rem;display:flex;flex-wrap:wrap;justify-content:center;gap:0.25rem 0.875rem;color:#9aa1ab;font-size:max(11px,0.625rem);line-height:1.35;text-align:center;user-select:text}
.feedback-fab{position:fixed;right:1.125rem;bottom:1.125rem;z-index:35;border:1px solid rgba(31,41,55,.18);background:rgba(255,255,255,.96);color:#3c4655;border-radius:62.4375rem;padding:0.625rem 0.875rem;box-shadow:0 8px 24px rgba(18,28,45,.12);font:inherit;font-size:max(11px,0.75rem);font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}
.feedback-fab:hover{background:#f7f9fc}.bug-report-dialog{width:min(650px,94vw)}.bug-report-dialog .dialog-card{width:100%;max-width:none}.bug-report-dialog .dialog-header>div{min-width:0}.bug-report-dialog .dialog-header p{margin:0.25rem 0 0}
.bug-files-preview{display:flex;flex-wrap:wrap;gap:0.375rem;margin-top:0.5rem}.bug-file-chip{display:inline-flex;max-width:100%;padding:0.375rem 0.5625rem;border-radius:62.4375rem;background:#f1f4f8;border:1px solid var(--line);font-size:max(11px,0.6875rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bug-report-toolbar{display:flex;align-items:center;gap:0.5rem}.bug-report-toolbar select{min-width:140px}.bug-reports-list{display:grid;gap:0.625rem}.bug-report-card{border:1px solid var(--line);border-radius:1rem;padding:0.8125rem;background:#fff}.bug-report-card.is-new{border-color:#efc35a;background:#fffdf6}.bug-report-card.is-progress{border-color:#9cc1ec;background:#f8fbff}.bug-report-card.is-fixed{opacity:.72}.bug-report-head{display:flex;justify-content:space-between;gap:0.75rem;align-items:flex-start}.bug-report-head>div{min-width:0}.bug-report-head strong,.bug-report-head span{display:block}.bug-report-meta{font-size:max(11px,0.6875rem);color:var(--muted);margin-top:0.1875rem}.bug-report-card p{white-space:pre-wrap;margin:0.625rem 0}.bug-report-page{font-size:max(11px,0.6875rem);color:var(--muted);overflow-wrap:anywhere}.bug-report-files{display:flex;flex-wrap:wrap;gap:0.4375rem;margin-top:0.625rem}.bug-report-file{display:inline-flex;padding:0.4375rem 0.5625rem;border-radius:0.625rem;border:1px solid var(--line);background:#f6f8fb;color:inherit;text-decoration:none;font-size:max(11px,0.6875rem);font-weight:750}.bug-report-actions{display:flex;justify-content:flex-end;gap:0.4375rem;margin-top:0.625rem;flex-wrap:wrap}.bug-status{display:inline-flex;padding:0.3125rem 0.5625rem;border-radius:62.4375rem;font-size:max(11px,0.6875rem);font-weight:900}.bug-status-new{background:#fff0c8;color:#7c5a00}.bug-status-in_progress{background:#e7f1fd;color:#285f9a}.bug-status-fixed{background:#e8f5eb;color:#287342}
@media(max-width:700px){.feedback-fab{right:0.75rem;bottom:0.75rem;padding:0.5625rem 0.75rem}.site-credit{padding-bottom:4.25rem}.bug-report-head{display:grid}.bug-report-toolbar{width:100%;justify-content:space-between}.bug-report-toolbar select{min-width:0;flex:1}.bug-report-actions{justify-content:flex-start}}


/* V20.14 — collapsible/reorderable overview dashboard */
.overview-dashboard{display:grid;gap:1.125rem;margin-top:1.125rem}.overview-dashboard>.card{margin:0}.dashboard-layout-toolbar{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin:0.75rem 0 0;padding:0.5625rem 0.75rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.72);color:var(--muted);font-size:max(11px,0.6875rem)}.dashboard-layout-actions{display:flex;gap:0.375rem;flex-wrap:wrap;justify-content:flex-end}.dashboard-layout-actions button,.dashboard-order-btn,.dashboard-collapse-btn{appearance:none;border:1px solid var(--line);background:#f6f8fb;color:#48515e;font:inherit;font-weight:850;cursor:pointer}.dashboard-layout-actions button{padding:0.375rem 0.5625rem;border-radius:0.5625rem;font-size:max(11px,0.625rem)}.dashboard-layout-actions button:hover,.dashboard-order-btn:hover,.dashboard-collapse-btn:hover{background:#edf1f6}.dashboard-card{transition:opacity .14s ease,border-color .14s ease}.dashboard-card>.section-heading{gap:0.625rem}.dashboard-card-controls{display:flex;align-items:center;gap:0.3125rem;margin-left:auto;flex:0 0 auto}.dashboard-order-btn,.dashboard-collapse-btn{width:1.875rem;height:1.875rem;padding:0;border-radius:0.5625rem;display:grid;place-items:center;line-height:1}.dashboard-order-btn:disabled{opacity:.28;cursor:default}.dashboard-collapse-btn{font-size:max(11px,1.125rem)}.dashboard-drag-handle{width:1.75rem;height:1.875rem;display:grid;place-items:center;color:#9aa2ad;font-size:max(11px,1.125rem);line-height:1;cursor:grab;user-select:none;touch-action:none}.dashboard-drag-handle:active{cursor:grabbing}.dashboard-card.is-drag-ready{border-color:#b9c4d3}.dashboard-card.is-dragging{opacity:.48}.dashboard-card.is-collapsed{padding-top:0.875rem;padding-bottom:0.875rem}.dashboard-card.is-collapsed>:not(.section-heading){display:none!important}.dashboard-card.is-collapsed>.section-heading{margin:0!important;align-items:center}.dashboard-card.is-collapsed>.section-heading .muted{display:none}.dashboard-card.is-collapsed>.section-heading .summary-actions{display:none}.dashboard-card.is-collapsed>.section-heading .bug-report-toolbar select{display:none}.dashboard-card.is-collapsed>.section-heading h2{margin:0}.dashboard-card.is-collapsed .dashboard-collapse-btn{background:#eef2f7;color:#242a33}
@media(max-width:760px){.overview-dashboard{gap:0.625rem;margin-top:0.625rem}.dashboard-layout-toolbar{align-items:stretch;display:grid;margin-top:0.5rem}.dashboard-layout-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.dashboard-layout-actions button{min-height:max(36px,2.25rem)}.dashboard-card>.section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}.dashboard-card>.section-heading>div:first-child{min-width:0}.dashboard-card-controls{grid-column:2;margin-left:0;align-self:start}.dashboard-card.is-collapsed>.section-heading{grid-template-columns:minmax(0,1fr) auto!important}.dashboard-card.is-collapsed>.section-heading>.bug-report-toolbar,.dashboard-card.is-collapsed>.section-heading>.summary-actions{display:none!important}.dashboard-drag-handle{display:none}.dashboard-order-btn,.dashboard-collapse-btn{width:2.125rem;height:2.125rem}.dashboard-card.is-collapsed{padding:0.75rem 0.875rem}}
@media(max-width:430px){.dashboard-layout-toolbar>span{font-size:max(11px,0.625rem)}.dashboard-layout-actions{grid-template-columns:1fr}.dashboard-card-controls{gap:0.25rem}.dashboard-order-btn,.dashboard-collapse-btn{width:2rem;height:2rem}}


/* V20.14.1 — compact counters for collapsed overview cards. */
.dashboard-card.is-collapsed>.section-heading>.section-icon,
.dashboard-card.is-collapsed>.section-heading>.attention-count,
.dashboard-card.is-collapsed>.section-heading>.bug-report-toolbar{
  display:none!important;
}


/* V20.14.2 — explicit numeric dashboard counters (visible in collapsed cards). */
.dashboard-card.is-collapsed[data-dashboard-count] h2::after{content:none!important;display:none!important}
.dashboard-count-badge{display:none;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 0.5rem;border-radius:62.4375rem;border:1px solid var(--line);background:#edf1f6;color:#56606f;font-size:max(11px,0.75rem);font-weight:900;line-height:1;flex:0 0 auto}
.dashboard-card.is-collapsed .dashboard-count-badge{display:inline-flex}
.dashboard-card.is-collapsed .dashboard-count-badge.has-items{background:#fff0d5;color:#7b5700;border-color:rgba(170,120,20,.18)}
@media(max-width:760px){.dashboard-card.is-collapsed>.section-heading{display:flex!important;align-items:center!important;gap:0.5rem!important}.dashboard-card.is-collapsed>.section-heading>div:first-child{min-width:0}.dashboard-card.is-collapsed .dashboard-count-badge{margin-right:auto}.dashboard-card.is-collapsed .dashboard-card-controls{margin-left:0}}

/* V20.15 */
.venue-search-field{margin-bottom:0.625rem}.venue-search-field input[type="search"]{background:#fff}.bug-report-toolbar{flex-wrap:wrap}.bug-report-toolbar #clearFixedBugReportsBtn{white-space:nowrap}@media(max-width:640px){.venue-search-field{margin-bottom:0.5rem}}

/* V20.16 — compact navigation tables and tighter admin layout. */
.overview-dashboard{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}
.overview-dashboard>.dashboard-card{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.dashboard-layout-toolbar{width:100%;max-width:100%;box-sizing:border-box}
.summary-active-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}
.summary-table tbody tr.summary-active-row:hover{background:#f1f5f9}
.summary-active-row:focus-visible{outline:2px solid rgba(47,87,145,.42);outline-offset:-2px;background:#f1f5f9}
.summary-person-name{font-weight:400;text-decoration:none}
.summary-person-position{display:block;margin-top:0.125rem;color:var(--muted);font-size:max(11px,0.6875rem);font-weight:400}
.row-open-hint{color:var(--muted);font-size:max(11px,0.6875rem);font-weight:600}
@media(max-width:1000px){
  #peopleSection>.admin-panel:first-child{max-height:none;overflow:visible;display:block}
  #peopleSection>.admin-panel:first-child #employeeAdminList{max-height:none;overflow:visible;padding-right:0}
}

/* V20.17 — visual polish after compact admin UI */

/* Employee directory: keep a real scroll rail without squeezing rows. */
@media(min-width:1001px){
  #peopleSection>.admin-panel:first-child{
    align-self:start;
    max-height:calc(100vh - 175px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  #peopleSection>.admin-panel:first-child #employeeAdminList{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0.5rem!important;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    min-height:0;
    flex:1 1 auto;
    padding:0.125rem 0.375rem 0.125rem 0;
    scrollbar-gutter:stable;
  }
  #peopleSection>.admin-panel:first-child #employeeAdminList .employee-row{
    flex:0 0 auto!important;
    width:100%;
    min-height:max(36px,3.25rem)!important;
    padding:0.5625rem 0.6875rem!important;
    border-radius:0.8125rem!important;
    overflow:hidden;
  }
  #peopleSection>.admin-panel:first-child #employeeAdminList .employee-row strong{
    display:block;
    font-size:max(11px,0.8125rem);
    line-height:1.22!important;
    font-weight:750;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  #peopleSection>.admin-panel:first-child #employeeAdminList .employee-row span{
    display:block;
    margin-top:0.1875rem!important;
    font-size:max(11px,0.625rem);
    line-height:1.2;
    color:#7a818c;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* Employee card heading: smaller delete action and clear breathing room. */
#adminEditor>.section-heading.compact{
  align-items:center!important;
  gap:1rem!important;
  margin-bottom:1rem;
  padding-bottom:0.8125rem;
  border-bottom:1px solid var(--line);
}
#adminEditor>.section-heading.compact>div{min-width:0}
#adminEditor #adminEmployeeName{margin:0;line-height:1.14}
#adminEditor #deleteEmployeeBtn{
  width:auto!important;
  min-width:0!important;
  flex:0 0 auto;
  padding:0.5rem 0.6875rem!important;
  border-radius:0.625rem!important;
  font-size:max(11px,0.6875rem)!important;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:none;
}
#adminEditor #employeeProfileSummary{margin-top:0}

/* Reviewed summary: keep the green cue, but not heavy/bold. */
.summary-row-reviewed .summary-money{
  color:#31845f!important;
  font-weight:600!important;
}

/* Period summary heading: title/status and actions align on a clean baseline. */
#monthlySummarySection .summary-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:1.125rem!important;
}
#monthlySummarySection .summary-heading>div:first-child{min-width:0}
#monthlySummarySection .summary-heading h2{margin:0 0 0.4375rem}
#monthlySummarySection .month-status-line{margin-top:0;display:flex;gap:0.4375rem;flex-wrap:wrap;align-items:center}
#monthlySummarySection .summary-actions{
  display:flex;
  margin-left:auto;
  align-items:center;
  justify-content:flex-end;
  gap:0.5rem;
  flex-wrap:wrap;
  flex:0 1 auto;
}
#monthlySummarySection .summary-heading>.dashboard-card-controls{margin-left:0;min-height:max(36px,2.625rem)}
#monthlySummarySection .summary-actions .btn{min-height:max(36px,2.625rem);padding:0.5625rem 0.875rem}

/* Admin header: calmer proportions between logo, title and controls. */
#adminView .topbar{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:1.375rem!important;
  padding:1rem 1.25rem!important;
}
#adminView .brand-heading{
  display:flex!important;
  align-items:center!important;
  gap:1rem!important;
  min-width:0;
}
#adminView .brand-home-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
#adminView .header-logo-desktop{
  width:154px!important;
  max-width:154px!important;
  max-height:2.5rem!important;
  object-fit:contain;
}
#adminView .panel-heading-copy{
  min-width:0;
  padding-left:1rem;
  border-left:1px solid rgba(18,21,27,.10);
}
#adminView .panel-heading-copy h1{
  margin:0!important;
  font-size:max(11px,1.75rem)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}
#adminView .panel-heading-copy .muted{margin-top:0.25rem!important;font-size:max(11px,0.6875rem)!important}
#adminView .topbar-actions{align-items:center!important;gap:0.5rem!important}

/* Venues: one consistent grid, equal input heights and aligned Add button. */
#venuesSection .admin-summary-filters{
  display:grid!important;
  grid-template-columns:minmax(180px,220px) minmax(280px,1fr) auto;
  align-items:end!important;
  gap:0.75rem!important;
  margin-top:1rem;
}
#venuesSection .admin-summary-filters .field{
  min-width:0!important;
  width:100%;
}
#venuesSection #venueCityFilter,
#venuesSection #newVenueName{min-height:max(36px,2.875rem)}
#venuesSection #addVenueBtn{
  align-self:end;
  min-height:max(36px,2.875rem);
  padding:0 1.25rem!important;
  margin:0;
  white-space:nowrap;
}
#venuesSection .venue-list{margin-top:1rem}
#venuesSection .venue-row{
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:0.625rem;
}
#venuesSection .venue-row input[type="text"]{min-width:0}

@media(max-width:1000px){
  #adminView .topbar{column-gap:0.875rem!important}
  #adminView .header-logo-desktop{width:142px!important;max-width:142px!important}
  #adminView .panel-heading-copy{padding-left:0.8125rem}
  #adminView .panel-heading-copy h1{font-size:max(11px,1.5625rem)!important}
  #venuesSection .admin-summary-filters{grid-template-columns:minmax(160px,200px) minmax(220px,1fr) auto}
}

@media(max-width:760px){
  #adminView .topbar{grid-template-columns:1fr!important;padding:0.8125rem!important}
  #adminView .brand-heading{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:0.625rem!important}
  #adminView .panel-heading-copy{padding-left:0;border-left:0}
  #adminView .panel-heading-copy h1{font-size:max(11px,1.3125rem)!important}
  #adminEditor>.section-heading.compact{align-items:flex-start!important;display:flex!important;flex-direction:column!important;gap:0.5625rem!important}
  #adminEditor #deleteEmployeeBtn{align-self:flex-start}
  #monthlySummarySection .summary-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:0.625rem!important}
  #monthlySummarySection .summary-heading>.dashboard-card-controls{grid-column:2;grid-row:1}
  #monthlySummarySection .summary-actions{grid-column:1 / -1;justify-content:flex-end;width:100%;margin-left:0}
  #monthlySummarySection .summary-actions .btn{flex:1 1 180px}
  #venuesSection .admin-summary-filters{grid-template-columns:1fr!important;gap:0.625rem!important}
  #venuesSection #addVenueBtn{width:100%}
  #venuesSection .venue-row{grid-template-columns:1fr!important}
}

/* V20.18 — fast review action */
.btn-quick-review{background:#e8f6ec;color:#2f7b47;border:1px solid rgba(47,123,71,.12);box-shadow:none;white-space:nowrap}
.btn-quick-review:hover{background:#dff2e5;box-shadow:none}
.btn-quick-review:disabled{opacity:.62;cursor:wait;transform:none}
.admin-report-table .action-cell,.employee-report-table .action-cell{display:flex;align-items:center;justify-content:flex-end;gap:0.4375rem}
@media(max-width:700px){.review-action{gap:0.375rem}.btn-quick-review{width:auto}.admin-report-table .action-cell,.employee-report-table .action-cell{justify-content:flex-start;flex-wrap:wrap}}


/* V20.19.1 — aligned review rows + universal correction status */
.admin-review-task{grid-template-columns:minmax(170px,1.05fr) minmax(160px,.9fr) minmax(130px,.72fr);align-items:start}
.admin-review-task>.field{min-width:0}
.admin-review-task>.field>label{min-height:18px;display:flex;align-items:center;gap:0.375rem;flex-wrap:wrap}
.admin-review-task .readonly-value,.admin-review-task select,.admin-review-task input{min-height:max(36px,2.875rem)}
.review-task-status{grid-column:1/-1;min-height:16px;margin-top:-0.0625rem;font-size:max(11px,0.6875rem);font-weight:800;line-height:1.25}
.review-task-status.is-empty{visibility:hidden}
.review-task-status.is-kept{color:#7a5700}
.review-task-status.is-adjusted{color:#b42318}
.review-task-status.is-changed{color:#596276}
.review-actor-dialog{display:inline-block;margin-top:0.3125rem;color:var(--muted);font-size:max(11px,0.75rem)}
.review-actor-line{margin-top:0.6875rem;padding-top:0.5625rem;border-top:1px solid var(--line);color:var(--muted);font-size:max(11px,0.6875rem)}
.review-actor-table{margin-top:0.375rem;max-width:230px;white-space:normal;color:var(--muted);font-size:max(11px,0.625rem);line-height:1.3}
@media(max-width:700px){.admin-review-task{grid-template-columns:1fr}.review-task-status{grid-column:1}.review-actor-table{max-width:none}}

/* V20.20 — role-aware Help / FAQ center */
.dialog-header-actions,.context-help-actions{display:flex;align-items:center;gap:0.5rem}.help-topic-btn{display:inline-grid;place-items:center;width:2rem;height:2rem;flex:0 0 32px;border:1px solid rgba(27,34,47,.10);border-radius:0.6875rem;background:linear-gradient(145deg,#f6f8fb,#e8ecf2);color:#3a424f;font-weight:900;font-size:max(11px,0.875rem);box-shadow:0 5px 14px rgba(30,40,58,.06);cursor:pointer}.help-topic-btn:hover{transform:translateY(-1px);background:#fff}.help-center-dialog{width:min(1080px,100%)}.help-center-card{padding:1.375rem}.help-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:0.75rem;margin-top:0.875rem}.help-mode-tabs{display:flex;gap:0.5rem;margin-top:0.875rem;padding:0.375rem;border:1px solid var(--line);border-radius:0.9375rem;background:rgba(244,246,249,.85)}.help-mode-btn{flex:1;border:0;border-radius:0.6875rem;padding:0.625rem 0.875rem;background:transparent;color:#5d6674;font-weight:850;cursor:pointer}.help-mode-btn.is-active{background:#fff;color:#171a20;box-shadow:0 6px 16px rgba(24,31,46,.08)}.help-context-banner{margin-top:0.75rem;padding:0.625rem 0.75rem;border-radius:0.8125rem;background:linear-gradient(135deg,#eef2f7,#e7ebf2);border:1px solid rgba(50,62,82,.08);font-size:max(11px,0.8125rem);color:#4d5664}.help-center-content{margin-top:0.875rem}.help-faq-list{display:grid;gap:0.5625rem}.help-faq-item{border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.78);overflow:hidden}.help-faq-item.is-context,.help-guide-topic.is-context{border-color:rgba(34,43,59,.28);box-shadow:0 0 0 3px rgba(45,57,77,.06)}.help-faq-item summary{display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr) auto;gap:0.75rem;align-items:center;padding:0.875rem 0.9375rem;cursor:pointer;list-style:none}.help-faq-item summary::-webkit-details-marker{display:none}.help-faq-item summary::after{content:'+';justify-self:end;grid-column:3;font-size:max(11px,1.25rem);color:#7a828f}.help-faq-item[open] summary::after{content:'−'}.help-category{display:inline-flex;width:max-content;max-width:100%;padding:0.3125rem 0.5rem;border-radius:62.4375rem;background:#eef1f5;color:#66707f;font-size:max(11px,0.625rem);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.help-faq-item summary strong{font-size:max(11px,0.875rem)}.help-answer{padding:0 0.9375rem 0.9375rem 0.9375rem;border-top:1px solid rgba(27,34,47,.06);color:#414956;line-height:1.55}.help-answer p{margin:0.8125rem 0 0.5rem}.help-answer ol,.help-guide-topic ol{margin:0.5rem 0 0;padding-left:1.375rem;display:grid;gap:0.4375rem}.help-guide{display:grid;gap:1rem}.help-guide-section{display:grid;gap:0.5625rem}.help-guide-section>h3{margin:0;padding:0 0.125rem;font-size:max(11px,1rem)}.help-guide-topic{padding:0.9375rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.8);scroll-margin-top:16px}.help-guide-topic h4{margin:0 0 0.4375rem;font-size:max(11px,0.9375rem)}.help-guide-topic p{margin:0;color:#4a5360;line-height:1.5}.help-guide-topic li,.help-answer li{color:#454e5b;line-height:1.45}.help-footer-note{margin-top:0.875rem;padding-top:0.75rem;border-top:1px solid var(--line);font-size:max(11px,0.75rem);color:var(--muted)}.help-empty{margin-top:0}.report-view-actions .context-help-actions{flex-wrap:nowrap}
@media(max-width:760px){.help-center-dialog{width:100%;padding:0.375rem}.help-center-card{padding:0.9375rem;border-radius:1.25rem}.help-toolbar{grid-template-columns:1fr}.help-faq-item summary{grid-template-columns:1fr auto;gap:0.4375rem}.help-faq-item summary .help-category{grid-column:1/-1}.help-faq-item summary strong{grid-column:1}.help-faq-item summary::after{grid-column:2;grid-row:2}.context-help-actions{width:auto}.report-view-actions{gap:0.5rem}.report-view-actions .context-help-actions{width:100%}.report-view-actions .context-help-actions #addEventBtn{flex:1}}

/* Corporate neutral palette used by both desktop and mobile surfaces. */
body{background:radial-gradient(circle at 12% 8%,rgba(211,63,73,.055),transparent 24%),radial-gradient(circle at 86% 12%,rgba(45,116,191,.06),transparent 26%),radial-gradient(circle at 72% 80%,rgba(69,166,106,.06),transparent 25%),linear-gradient(145deg,#f7faf8 0%,#eef3f2 100%)}
.login-view::before{background:linear-gradient(135deg,#d33f49,#efb24a)}
.login-view::after{background:linear-gradient(135deg,#2d74bf,#45a66a)}
.btn-primary{background:linear-gradient(135deg,#237744,#2f9a5b);box-shadow:0 9px 20px rgba(35,119,68,.18)}
.btn-primary:hover{box-shadow:0 12px 26px rgba(35,119,68,.24)}

/* Fit the entire receipt within the viewport, including tall screenshots. */
.receipt-preview-dialog{height:min(960px,96dvh);max-height:96dvh;overflow:hidden}
.receipt-preview-card{height:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.receipt-preview-card .dialog-header{flex:0 0 auto;min-width:0;margin-bottom:0.75rem}
.receipt-preview-card .dialog-header h2{min-width:0;overflow-wrap:anywhere}
.receipt-preview-card .dialog-header .icon-btn{flex:0 0 42px}
.receipt-preview-body{flex:1 1 0;min-height:0;min-width:0;height:auto;display:flex;align-items:center;justify-content:center}
.receipt-preview-body img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
@media(max-width:700px){
  .receipt-preview-dialog{height:100dvh;max-height:100dvh}
}

a.btn,.btn:visited,.btn:hover,.btn:focus { text-decoration:none; }
.btn:visited { color:inherit; }

/* Before/after details share the layout in notifications and the review queue. */
.day-change-details{margin:8px 0;max-width:100%;font-size:inherit}
.day-change-details summary{cursor:pointer;font-weight:600}
.day-change-details ul{margin:8px 0 0;padding-left:20px}
.day-change-details li{margin:0 0 8px;overflow-wrap:anywhere}
.day-change-details li strong,.day-change-details li span{display:block}
.attention-detail-row>div{min-width:0;flex:1}
.attention-day-pending{overflow-wrap:anywhere}
