:root {
 --td-blue:#173F8A; --td-dark-blue:#10336F; --td-pale-blue:#EDF3FC;
 --td-orange:#D95F0B; --td-orange-hover:#BD4F06; --td-focus:rgba(244,122,33,.22);
 --td-text:#17243A; --td-secondary:#627087; --td-cream:#F6F1E7;
 --td-white:#FFFFFF; --td-border:#DED9CF; --td-radius:12px;
 --td-shadow:0 2px 8px rgba(43,53,70,.06);
 --td-font:Inter,Aptos,"Segoe UI",Arial,sans-serif;
}
@media screen {
 html,body { background:var(--td-cream);color:var(--td-text);font-family:var(--td-font); }
 button,input,select,textarea,.csv-box {font-family:var(--td-font);}
 .app-shell {display:block;min-height:100vh;}
 .sidebar {position:fixed;inset:0 auto 0 0;width:240px;min-height:0;padding:24px 16px 18px;background:var(--td-blue);overflow-y:auto;color:white;z-index:5;}
 .sidebar-brand {padding:4px 10px 22px;border:0;margin:0 0 14px;}
 .sidebar-title {font-size:21px;line-height:1.3;color:white;}
 .sidebar-date {font-size:13px;color:rgba(255,255,255,.8);margin-top:5px;}
 .nav-item {position:relative;border-radius:var(--td-radius);color:white;padding:13px 14px;}
 .nav-item:hover {background:rgba(255,255,255,.08);}
 .nav-item.active {color:white;background:rgba(255,255,255,.13);}
 .nav-item.active::before {content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:2px;background:var(--td-orange);}
 .nav-item.active .nav-icon {color:var(--td-orange);}
 .main-content {max-width:none;margin-left:240px;padding:64px 28px 28px;min-height:100vh;background:var(--td-cream);}
 .cloud-actions {position:fixed;left:240px;right:0;top:0;min-height:42px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--td-secondary);font-size:11px;z-index:4;background:var(--td-cream);border-bottom:1px solid var(--td-border);padding:8px 28px;}
 .cloud-actions [role=alert] {overflow-wrap:anywhere;line-height:1.5;}
 .account-area {padding:18px 10px 0;overflow-wrap:anywhere;}
 .account-name {font-size:13px;font-weight:650;color:white;}
 .account-role {font-size:12px;color:rgba(255,255,255,.75);margin-top:5px;}
 .sign-out {display:inline-block;border:0;background:transparent;color:white;padding:8px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px;border-radius:4px;}
 .sign-out:disabled {opacity:.5;cursor:default;}
 .framework-credit {border-top:1px solid rgba(255,255,255,.2);margin-top:14px;padding-top:14px;font-size:11px;color:rgba(255,255,255,.65);}
 .page-header {background:transparent;border:0;box-shadow:none;padding:0;margin-bottom:16px;align-items:center;}
 .page-eyebrow {display:block;color:var(--td-blue);font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;line-height:1.2;}
 .page-header h1{font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.5px;padding:0;border:0;margin:4px 0 0;}
 .page-header p{font-size:12px;margin:4px 0 0;}
 .page-header p,.card-heading p,.summary-label,.field label,.empty-state p {color:var(--td-secondary);}
 .page-card,.summary-card,.settings-item,.empty-state,.label-example-card {background:var(--td-white);border-color:var(--td-border);border-radius:var(--td-radius);box-shadow:var(--td-shadow);min-width:0;}
 .summary-card strong {color:var(--td-text);}
 .btn,.settings-tab {border:1px solid var(--td-border);border-radius:var(--td-radius);background:var(--td-white);color:var(--td-blue);}
 .btn:hover,.settings-tab:hover {background:var(--td-pale-blue);}
 .btn-primary {background:var(--td-orange);border-color:var(--td-orange);color:white;}
 .btn-primary:hover {background:var(--td-orange-hover);border-color:var(--td-orange-hover);color:white;}
 .settings-tab.active {background:var(--td-pale-blue);border-color:var(--td-blue);color:var(--td-blue);}
 .btn-danger-outline {color:#b42318;border-color:#efc7c3;}
 .btn-danger-outline:hover {background:#fff3f2;}
 input:not([type=checkbox]):not([type=radio]),select,textarea,.field input,.field select,.table-input {border:1px solid var(--td-border);border-radius:var(--td-radius);background:white;color:var(--td-text);padding:9px 10px;max-width:100%;}
 input[type=checkbox],input[type=radio] {accent-color:var(--td-orange);}
 input[type=file] {width:100%;min-height:44px;}
 input[type=file]::file-selector-button {background:var(--td-pale-blue);border:0;border-radius:8px;padding:7px 10px;color:var(--td-blue);font:inherit;margin-right:10px;}
 input:focus,select:focus,textarea:focus,.csv-box:focus {outline:none;border-color:var(--td-orange);box-shadow:0 0 0 3px var(--td-focus);}
 button:focus-visible,a:focus-visible {outline:2px solid var(--td-orange);outline-offset:3px;box-shadow:0 0 0 3px var(--td-focus);}
 .alert,.lunch-hint,.label-help,.label-preview,.split-preview,.icon-danger,dialog,.modal,.reconnect-modal,#components-reconnect-modal {border-radius:var(--td-radius);}
 .lunch-hint,.label-help {background:var(--td-pale-blue);color:var(--td-secondary);}
 .table-wrap {border:1px solid var(--td-border);border-radius:var(--td-radius);background:white;max-width:100%;}
 .data-table {background:white;}
 .data-table th {background:var(--td-pale-blue);color:var(--td-secondary);border-color:var(--td-border);}
 .data-table td {border-color:var(--td-border);}
 .data-table tbody tr:hover {background:#f5f8fd;}
 .data-table input[type=number] {text-align:right;font-variant-numeric:tabular-nums;}
 .settings-tabs {flex-wrap:wrap;}
 .field {min-width:0;}
 .plan-scroll {max-width:100%;border-radius:var(--td-radius);}
 .plan-page {border-radius:var(--td-radius);box-shadow:var(--td-shadow);}
 .job-block,.lunch-block,.extra-card {border-radius:var(--td-radius);}
 .login-screen,.startup-screen {min-height:100vh;min-height:100dvh;background:var(--td-blue);display:flex;align-items:center;justify-content:center;padding:24px;}
 .login-card {width:100%;max-width:440px;background:white;padding:36px;border-radius:14px;box-shadow:var(--td-shadow);}
 .login-card h1 {text-align:center;color:var(--td-blue);font-size:28px;letter-spacing:-.6px;margin:0 0 6px;}
 .app-subtitle {text-align:center;color:var(--td-secondary);font-size:14px;margin:0 0 28px;}
 .login-guidance {color:var(--td-secondary);font-size:14px;margin-bottom:22px;}
 .login-card label {display:block;text-align:left;font-size:13px;font-weight:650;margin:18px 0 8px;}
 .login-card input {width:100%;min-height:48px;}
 .password-field {position:relative;}
 .password-field input {padding-right:70px;}
 .password-toggle {position:absolute;right:6px;top:6px;bottom:6px;border:0;border-radius:8px;background:var(--td-pale-blue);color:var(--td-blue);padding:0 10px;font-size:12px;}
 .login-submit {width:100%;min-height:48px;margin-top:24px;}
 .login-error:empty {display:none;}
 .login-error:not(:empty) {background:#fff1f0;color:#a52720;border:1px solid #f0cfcc;border-radius:var(--td-radius);padding:12px;font-size:13px;overflow-wrap:anywhere;}
 .login-card .framework-credit {border-color:var(--td-border);color:var(--td-secondary);text-align:center;margin-top:28px;}
 .startup-screen {color:white;text-align:center;position:relative;}
 .startup-screen h1 {font-size:30px;margin:0 0 8px;}
 .startup-screen p {font-size:14px;opacity:.8;}
 .startup-credit {position:absolute;bottom:30px;font-size:11px;opacity:.65;}
 .loading-indicator {display:block;width:24px;height:24px;margin:28px auto;border:3px solid rgba(255,255,255,.2);border-top-color:var(--td-orange);border-radius:50%;animation:td-spin 1s linear infinite;}
 #blazor-error-ui {position:fixed;bottom:16px;left:16px;right:16px;padding:16px;border:1px solid #f0cfcc;background:#fff1f0;color:#a52720;border-radius:var(--td-radius);z-index:100;}
 @keyframes td-spin {to {transform:rotate(360deg);}}
 @media (prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;}}
 @media (max-width:760px) {
  .sidebar {position:static;width:100%;padding:18px 16px 0;overflow:visible;}
  .sidebar-brand {padding:0 0 16px;margin:0;}
  .nav-menu {gap:6px;}
  .nav-item {padding:12px 8px;gap:5px;font-size:13px;}
  .cloud-toolbar {display:flex;flex-direction:column-reverse;}
  .account-area {padding:14px 0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;}
  .account-name,.account-role {display:none;}
  .account-area .framework-credit {margin:0;padding:0 0 0 12px;border-top:0;border-left:1px solid rgba(255,255,255,.2);}
  .cloud-actions {position:static;background:var(--td-cream);margin:0 -16px;padding:10px 16px;border-bottom:1px solid var(--td-border);}
  .main-content {margin:0;padding:16px;min-height:60vh;}
  .page-header,.card-heading,.settings-item-header {flex-wrap:wrap;gap:12px;}
  .page-card {padding:16px;}
  .summary-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .summary-card {padding:14px 12px;}
  .form-grid,.technician-time-grid {grid-template-columns:minmax(0,1fr);}
  .ability-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .settings-item-header {align-items:stretch;flex-direction:column;}
  .field-grow {width:100%;}
  .login-screen {padding:16px;}
  .login-card {padding:28px 22px;}
 }
}
/* V2A uses the current WIP Hub suite standard. Print dimensions remain in app.css. */
@media screen {
 .login-screen{position:relative;padding:64px 24px 86px}
 .login-card{max-width:430px;padding:36px;border:1px solid rgba(255,255,255,.25);box-shadow:0 16px 40px rgba(4,24,61,.2)}
 .login-brand{padding-bottom:22px;border-bottom:1px solid var(--td-border);text-align:center}
 .login-brand strong{display:block;color:var(--td-blue);font-size:31px;font-weight:650;line-height:1.15}
 .login-brand small{display:block;margin-top:4px;color:var(--td-secondary);font-size:13px}
 .login-intro{text-align:center;margin:22px 0}
 .login-card h1{font-size:24px;margin:8px 0 5px;color:var(--td-text)}
 .login-intro p{margin:0;color:var(--td-secondary)}
 .login-card .framework-credit{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 48px));border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.65);font-size:10px}
 .password-toggle{background:transparent;font-weight:700;font-size:11px}
 .startup-screen h1{font-size:34px;font-weight:650;letter-spacing:-.6px}
 .loading-indicator{width:54px;height:3px;border:0;border-radius:3px;background:rgba(255,255,255,.2);overflow:hidden;animation:none}
 .loading-indicator:after{content:"";display:block;width:45%;height:100%;border-radius:inherit;background:var(--td-orange);animation:td-loading 1.15s ease-in-out infinite alternate}
 @keyframes td-loading{from{transform:translateX(0)}to{transform:translateX(122%)}}
 .roster-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--td-border);min-height:64px}
 .roster-row:last-child{border-bottom:0}.roster-name{min-width:160px}.roster-skills{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1}
 .roster-row small{display:block;color:var(--td-secondary);margin-top:4px}.inactive{opacity:.6}
 .brand-logo{display:inline-flex;align-items:center;justify-content:center;min-width:48px;max-width:110px;min-height:30px;font-size:11px;color:var(--td-blue);font-weight:650;background:var(--td-pale-blue);border-radius:8px;padding:4px 8px}
 .brand-logo img{max-width:85px;max-height:30px;object-fit:contain}
 .skill-badge{border:1px solid var(--td-border);border-radius:8px;padding:5px 8px;font-size:11px;background:var(--td-cream)}
 .editor-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--td-border);border-radius:14px;color:var(--td-text);box-shadow:0 16px 60px #001b4255}
 .editor-dialog[open]{display:flex;flex-direction:column}.editor-dialog::backdrop{background:#09204099}
 .editor-heading,.editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;flex-shrink:0}
 .editor-heading{border-bottom:1px solid var(--td-border)}.editor-heading h2{margin:0;font-size:21px}.editor-body{overflow:auto;padding:24px;min-height:0}.editor-actions{justify-content:flex-end;border-top:1px solid var(--td-border);background:var(--td-cream)}
 .editor-body .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.editor-body .field{display:flex;flex-direction:column;gap:7px;font-size:13px}.editor-body textarea{min-height:76px}.editor-body>.field{margin-top:16px}
 .skill-assignment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--td-border);font-size:13px}.skill-assignment label{display:flex;gap:8px;align-items:center}.skill-assignment select{max-width:190px}
 .mapping-warnings summary{cursor:pointer;font-weight:650}.mapping-warnings ul{max-height:240px;overflow:auto}
 @media(max-width:760px){.roster-row{flex-wrap:wrap;gap:8px}.roster-name{min-width:120px}.roster-skills{min-width:160px}.editor-body .form-grid{grid-template-columns:1fr}.editor-body{padding:16px}.skill-assignment{flex-wrap:wrap}.account-name,.account-role{display:block}}
 @media(prefers-reduced-motion:reduce){.loading-indicator:after{animation:none;width:100%}}
}
