/* Rakku release: readable, consistent working screens. */
:root { color-scheme:only light; font-family:"Segoe UI",Arial,sans-serif; font-size:15px; font-weight:400; }
html,body { color-scheme:only light; }
body { line-height:1.5; color:#252620; background:#f1f2f0; }
h1 { font-weight:500; font-size:34px; letter-spacing:-.025em; }
h2,h3 { font-weight:600; }
strong { font-weight:600; }
button,input,select,textarea { font-size:14px; font-weight:500; }
input,select { min-height:44px; }
textarea { line-height:1.55; }
.help-text,.hint,.subtitle { font-size:14px; line-height:1.6; color:#596152; }
.btn { font-size:14px; font-weight:600; min-height:42px; }
.btn.small { font-size:13px; min-height:36px; }
td { font-size:14px; line-height:1.55; }
th { font-size:13px; }
.badge { font-size:12px; font-weight:600; }
.metric-value { font-weight:500; }
.metric-label,.metric-note { font-size:13px; }
.queue-title,.worklist-car strong { font-weight:600; }
.worklist-car small,.worklist-order-bottom,.worklist-counter span,.worklist-label,.worklist-footer label { font-size:12px; }
.worklist-car small,.worklist-counter span,.worklist-label,.worklist-footer label { color:#c3c7bd; }
.worklist-order.active .worklist-car small,.worklist-order.active .worklist-order-bottom { color:#35401a; }
.workspace-select { color-scheme:dark; }
.workspace-select option { background:#252620; color:#fff; }
.main { min-width:0; }
.period-filter { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 24px; }
.period-filter>span { font-weight:600; }
.period-filter label { display:flex; align-items:center; gap:8px; font-size:14px; }
.period-filter input { width:170px; }
.sub-tabs { margin-bottom:22px; overflow-x:auto; scrollbar-width:thin; }
.sub-tabs .tab { white-space:nowrap; }
.account-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px; margin-bottom:24px; }
.account-card { border-radius:24px; background:white; padding:24px; }
.account-card>div { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.account-card>div>span { font-weight:600; }
.account-card>strong { display:block; font-size:28px; font-weight:500; margin:12px 0 5px; font-variant-numeric:tabular-nums; }
.account-card>small { display:block; font-size:13px; color:#596152; }
.account-card:first-child { background:#e3fa74; }
.calculation-missing { display:flex; flex-direction:column; gap:5px; margin-top:9px; color:#864a21; font-size:13px; line-height:1.5; }
.calculation-missing span { display:block; }
.calculator-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:24px; align-items:start; }
.calculator-layout .panel { margin-bottom:24px; }
.quote-results { margin:0; }
.quote-results>div { display:flex; justify-content:space-between; align-items:baseline; padding:13px 0; gap:20px; border-bottom:1px solid #e2e5de; }
.quote-results dt { color:#596152; }
.quote-results dd { font-size:19px; font-weight:600; margin:0; white-space:nowrap; }
.setup-list>div { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e2e5de; }
.setup-list>div>span:nth-child(2) { flex:1; }
.setup-check { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:50%; background:#e5e7e0; color:#536245; font-weight:700; }
.setup-check.done { background:#dff1a4; color:#354516; }
.archived-row { opacity:.65; }
.date-label { display:flex; align-items:center; gap:10px; }
.date-label input { max-width:180px; }
.calendar-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-bottom:28px; align-items:start; }
.calendar-day { border-radius:22px; background:#fff; padding:18px; min-height:220px; }
.calendar-day h2 { font-size:17px; margin-bottom:16px; }
.calendar-event { display:flex; flex-direction:column; gap:6px; margin-top:10px; padding:14px; border-radius:16px; background:#eeebf6; color:#272434; font-size:13px; }
.calendar-event.arrival { background:#eef7cf; color:#354516; }
.calendar-event strong { font-size:14px; }
.calendar-event small,.calendar-event span { font-size:12px; }
.calendar-event .btn { align-self:start; }
.estimate-row { padding:18px; margin:0 0 18px; background:#f5f6f2; border-radius:18px; border:1px solid #e0e4da; }
.estimate-row-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:17px; }
.estimate-row .form-grid { gap:15px; }
.checkbox-label { display:flex; flex-direction:row; align-items:center; gap:10px; }
.checkbox-label input { width:20px; height:20px; min-height:20px; flex:0 0 auto; }
.payroll-total { text-align:right; font-size:18px; margin:18px 0; }
.notification-button { position:relative; width:44px; height:44px; padding:10px; border-radius:50%; }
.notification-count { position:absolute; top:-4px; right:-4px; min-width:19px; height:19px; display:grid; place-items:center; background:#b8a7ed; color:#282034; font-size:11px; border-radius:50%; }
.notification-list article { padding:16px 0; border-bottom:1px solid #e0e4da; }
.notification-list article:first-child { padding-top:0; }
.notification-list p { margin:7px 0; color:#596152; line-height:1.6; }
.notification-list .btn-row { margin-top:12px; }
.timer-warning { grid-column:2/-1; padding:10px 13px; border-radius:12px; background:#fff1dc; color:#75470f; font-size:13px; margin:6px 0 0; }
.users-list { margin-top:24px; }
.followup-links { padding:14px 18px; background:#eef5d8; border-radius:15px; margin:0 0 20px; }
.login-page { min-height:100dvh; display:grid; place-items:center; padding:24px; background:#1c1d19; }
.login-card { width:min(100%,430px); padding:34px; background:#f7f8f3; border-radius:30px; box-shadow:0 16px 70px #0003; }
.login-logo { display:block; width:100px; height:80px; object-fit:contain; padding:5px; background:#1c1d19; border-radius:18px; margin-bottom:24px; }
.login-card h1 { margin-bottom:10px; }
.login-card>p { color:#596152; margin-bottom:24px; }
.login-card form { display:grid; gap:20px; }
.login-card label { display:flex; flex-direction:column; gap:7px; font-weight:600; }
.login-card .btn { width:100%; }
.login-card .notice { margin:20px 0; }
.logout-button { font-size:13px; }
.nav-label-short { display:none; }
@media(max-width:1150px) { .topbar-actions { gap:8px; } .header-context { display:none; } .calculator-layout { grid-template-columns:1fr; } }
@media(max-width:700px) {
  :root { font-size:15px; }
  input,select,textarea,.toolbar select,.mobile-workspace,.topbar-actions .mobile-workspace,input[type="file"] { font-size:16px; min-width:0; }
  .form-grid>label { min-width:0; }
  .dialog-header h2 { min-width:0; overflow-wrap:anywhere; }
  .dialog-footer .btn { min-height:44px; }
  dialog { max-height:90vh; max-height:min(90dvh,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)); scroll-padding-bottom:140px; }
  html { scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom,0px)); }
  h1 { font-size:29px; }
  .nav-rail nav { gap:3px; }
  .nav-link { flex:1 1 0; min-width:44px; min-height:57px; padding-right:2px; padding-left:2px; }
  .nav-label-full { display:none; }
  .nav-label-short { display:block; font-size:11px; font-weight:500; }
  .help-text,.hint,.subtitle { font-size:14px; }
  .period-filter { gap:10px; }
  .period-filter>span { flex-basis:100%; }
  .period-filter label { flex:1; }
  .period-filter input { width:100%; min-width:0; }
  .account-grid { grid-template-columns:1fr; gap:12px; }
  .account-card { padding:20px; }
  .calendar-grid { grid-template-columns:1fr; }
  .calendar-day { min-height:0; }
  .calculator-layout { display:block; }
  .quote-results dd { font-size:18px; }
  .setup-list>div { flex-wrap:wrap; }
  .setup-list>div>span:nth-child(2) { min-width:140px; }
  .estimate-row { padding:14px; }
  .timer-warning { grid-column:1/-1; }
  .notification-button { width:38px; min-height:38px; height:38px; }
  .logout-button { padding:6px; }
  .login-card { padding:26px; }
}
@media(max-width:480px) { .topbar-title { display:none; } .topbar-actions { width:100%; justify-content:flex-end; gap:6px; } .topbar-actions .mobile-workspace { margin-right:auto; width:120px; max-width:120px; min-width:80px; } .topbar-actions .btn.primary { width:40px; height:40px; padding:9px; } .notification-button { margin-right:0; } .topbar .logout-button { padding:6px 8px; font-size:12px; min-height:36px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
