/* Timetable Foundry: restrained operator-directory and working-tool interface.
   Interface styles only; sheet/export colours and geometry remain independent. */
:root{--site-bg:#f6f4ec;--site-surface:#fff;--site-soft:#edf0e5;--site-fg:#20322e;--site-muted:#606a63;--site-line:#d7dcd5;--site-brand:#20322e;--site-on-brand:#fff;--site-hover:#e6ebe3;--site-shadow:#202a2410;--site-focus:#748d58;--site-danger:#a63536}
html[data-theme=light]{--site-bg:#f7f8f7;--site-surface:#fff;--site-soft:#eff2f0;--site-fg:#233029;--site-muted:#5d6c62;--site-line:#d9e0db;--site-brand:#20322e;--site-on-brand:#fff;--site-hover:#e6ede8;--site-focus:#467b60}
html[data-theme=dark]{--site-bg:#191d1b;--site-surface:#222824;--site-soft:#2b332e;--site-fg:#edf0eb;--site-muted:#b5c0b7;--site-line:#424b44;--site-brand:#a8c9ae;--site-on-brand:#18281d;--site-hover:#343e36;--site-shadow:#0003;--site-focus:#a8c9ae;--site-danger:#ffb2ad}
body:not(.editor-shell){font-family:Arial,Helvetica,sans-serif;line-height:1.55}#dashboard{max-width:1200px;padding:44px 36px 60px}#dashboard h1{font-size:clamp(32px,3.3vw,44px);line-height:1.15;letter-spacing:-1.3px;font-weight:700}#dashboard h2{font-size:25px;letter-spacing:-.5px}#dashboard h3{font-size:19px;letter-spacing:-.2px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.3px}.nav{height:78px;padding:0 max(24px,calc((100vw - 1128px)/2));gap:24px;background:var(--site-surface);box-shadow:none}.brand-link{gap:10px}.brand-link img{width:42px;height:42px;border-radius:0}.brand-link .brand-name{font-size:22px;letter-spacing:-.7px;line-height:1.05}.brand-name span{color:var(--site-muted)}.nav nav{gap:8px}.nav nav>a:not(.button){padding:12px 11px;font-size:14px;font-weight:600;border-radius:4px}.nav nav>a[aria-current=page]{background:var(--site-soft);color:var(--site-brand)}.nav nav>a:hover{background:var(--site-soft)}.nav-profile{border-left:1px solid var(--site-line);padding-left:16px;margin-left:8px;max-width:170px}.nav-profile .user-avatar{border-radius:50%;width:28px;height:28px}.theme-control select{border-radius:5px;font-size:13px;min-width:90px}.nav #logout{font-size:13px;padding:9px 12px}
body:not(.editor-shell) button,body:not(.editor-shell) .button{border-radius:5px;box-shadow:none;font-size:14px;font-weight:600;padding:10px 15px;line-height:1.4}button:hover,.button:hover{filter:none;opacity:.93}button:focus-visible,a:focus-visible{outline:3px solid var(--site-focus);outline-offset:3px}body:not(.editor-shell) input,body:not(.editor-shell) select,body:not(.editor-shell) textarea{border-radius:5px;padding:11px 12px;line-height:1.4}input:focus,select:focus,textarea:focus{outline:2px solid var(--site-focus);outline-offset:1px}label{font-weight:600}.intro{margin-bottom:28px}.intro p{font-size:15px;line-height:1.6}.grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.card{border-radius:6px;padding:22px;box-shadow:none}.card p{line-height:1.6}.card .company-initial{font-size:25px;border:0;padding:0;margin-bottom:16px;width:48px;height:48px;display:grid;place-items:center;border-radius:5px;background:var(--site-soft)}.pill{border-radius:3px;font-size:11px;padding:3px 7px;margin:8px 0 14px;color:var(--site-muted)}.empty{padding:30px;border:1px dashed var(--site-line);background:transparent;border-radius:5px}.empty h3{margin-top:0}
.welcome-home{display:grid;grid-template-columns:1.15fr 1fr;gap:54px;align-items:center;padding:16px 0 40px;margin:0;border-bottom:1px solid var(--site-line)}.welcome-copy h1{font-size:clamp(36px,4vw,49px)!important;letter-spacing:-1.5px!important;line-height:1.12!important;max-width:570px;margin:18px 0 24px}.welcome-copy>p{font-size:17px;max-width:510px;line-height:1.65}.welcome-copy .welcome-note{font-size:12px;margin-top:18px;line-height:1.6}.welcome-copy .actions{margin-top:25px}.welcome-preview{padding:25px;border:1px solid var(--site-line);border-top:5px solid var(--site-brand);border-radius:2px;box-shadow:none;transform:none}.preview-top{padding-bottom:14px;border-color:var(--site-line)}.preview-top span{letter-spacing:1px;font-size:10px;font-weight:700}.preview-top b{width:52px;height:52px;display:grid;place-items:center;border-radius:2px;font-size:28px}.welcome-preview h2{font-size:21px!important;margin:18px 0 6px}.welcome-preview>p{font-size:12px;margin:0 0 20px}.welcome-preview table{font-size:13px}.welcome-preview th{padding:10px 8px;font-weight:600}.welcome-preview td{padding:12px 8px}.preview-footer{font-size:11px;margin-top:15px}.home-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:32px 0 42px}.home-features article{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.home-features article>span{font-size:11px;text-transform:none;letter-spacing:0;font-weight:600}.home-features h2{font-size:18px!important;margin:9px 0}.home-features p{font-size:14px;line-height:1.65;margin:0}#operators{border-top:1px solid var(--site-line);padding-top:30px}#operators .intro{margin-bottom:18px}#operators h2{margin:7px 0 8px}#operators>label{max-width:400px;margin:0 0 22px}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.directory-card{border:1px solid var(--site-line);border-radius:5px;background:var(--site-surface);padding:16px;gap:14px;box-shadow:none;align-items:flex-start;min-height:116px}.directory-card:hover{border-color:var(--site-focus);transform:none;background:var(--site-surface)}.directory-mark{width:46px;height:46px;border-radius:5px;background:var(--site-soft);font-size:17px;flex-shrink:0}.directory-mark img{border-radius:4px;object-fit:contain}.directory-copy strong{font-size:16px;line-height:1.3}.directory-copy>span{font-size:12px;line-height:1.5;margin-top:5px}.directory-copy small{font-size:11px;color:var(--site-brand);margin-top:9px}
.company-banner{border-radius:4px;max-height:270px;margin:0 0 20px}.company-hero{border:0;border-radius:0;background:transparent;box-shadow:none;padding:12px 0 28px;gap:24px;border-bottom:1px solid var(--site-line);align-items:flex-start;margin-bottom:22px}.company-logo,.company-placeholder{width:100px;height:100px;border-radius:10px;border:1px solid var(--site-line);box-shadow:none;padding:10px;background:var(--site-surface)}.company-placeholder{font-size:36px}.company-hero>div{flex:1;min-width:0}.company-hero h1{font-size:36px!important;margin:7px 0 14px}.company-hero p{font-size:15px;line-height:1.6;margin:0 0 16px}.company-social{margin-bottom:16px}.company-hero .actions{padding-top:14px;border-top:1px solid var(--site-line);gap:8px}.company-hero .actions button,.company-hero .actions a{font-size:12px;padding:8px 11px}.tabs{gap:4px;margin:22px 0;border:0;border-bottom:1px solid var(--site-line);padding:0}.tabs button{background:transparent;color:var(--site-muted);border:0;border-radius:0;padding:12px 15px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover,.tabs button.active,.tabs button[aria-selected=true]{color:var(--site-brand);background:transparent;border-bottom-color:var(--site-brand)}.route-card{border:1px solid var(--site-line);border-left:4px solid var(--site-brand);border-radius:5px;min-height:164px;padding:20px}.route-tag{font-size:26px;border:0;background:var(--site-soft);color:var(--site-brand);padding:2px 9px;border-radius:3px;margin-bottom:16px}.route-card small{font-size:12px}.route-card h3{font-size:18px}.profile-avatar{border-radius:50%}.maintenance-control{border-radius:5px;padding:20px;margin-bottom:16px;box-shadow:none}.maintenance-control strong{font-size:16px}.maintenance-control p{font-size:13px;line-height:1.6;margin:7px 0 0}.site-footer{max-width:1128px;margin:0 auto;padding:24px 0;gap:16px;font-size:12px}.site-footer a{text-decoration:none;color:var(--site-muted)}
body:not(.editor-shell) dialog{border:1px solid var(--site-line);border-radius:8px;box-shadow:0 16px 70px #0003;padding:28px}body:not(.editor-shell) dialog h2{font-size:25px;letter-spacing:-.5px;margin-top:0}.close{border-radius:4px!important;min-width:36px;min-height:36px;font-size:24px!important;padding:0!important}.library-dialog{border-radius:8px}.library-section{border-radius:5px;padding:18px}.library-categories button{border-radius:4px}.library-empty{border-radius:5px}.library-success{border-radius:4px}.library-entry-list li{padding:13px 0}.library-entry-list strong{font-size:15px}.library-entry-list small{font-size:12px}.fleet-modal{padding:24px}.fleet-modal table{font-size:13px}.fleet-modal th{font-size:12px;font-weight:600;background:var(--site-soft);color:var(--site-fg)}.fleet-modal td{font-size:13px}.fleet-modal th,.fleet-modal td{border-color:var(--site-line)}.fleet-modal tbody tr:nth-child(even){background:var(--site-soft)}.fleet-sort-controls,.filters{gap:12px}.multi-select-control{border-radius:4px}.livery-icon{border-radius:2px!important}.column-config{background:var(--site-soft);padding:12px;border-radius:4px}#sharedStatus{font-size:13px;background:var(--site-soft);padding:10px 12px;border-left:3px solid var(--site-brand)}.form-error{font-size:13px}#notice{border-radius:5px;font-size:14px}.access-wrap{border-radius:8px;box-shadow:none}.access-wrap h1{font-size:32px;letter-spacing:-.8px}.maintenance-card{border-radius:8px;box-shadow:none}.maintenance-card img{border-radius:0}.maintenance-card h1{font-size:30px}
/* Editor chrome follows the same material and controls. */
.editor-shell .top{box-shadow:none;padding:12px 20px;min-height:76px;gap:18px}.editor-shell .brandmark{border-radius:0;width:38px;height:38px}.editor-shell .editor-home{font-size:16px;letter-spacing:-.2px}.editor-shell .brand small{font-size:11px}.editor-shell .top-actions button,.editor-shell .top select,.editor-back{border-radius:5px}.editor-shell .top-actions button{font-size:12px}.editor-shell .top #saved{border:0;padding:0;border-radius:0;background:transparent}.editor-shell .sidebar{background:var(--site-surface)}.editor-shell .project-label{background:var(--site-soft)}.editor-shell .sidebar .tabs{gap:0}.editor-shell .sidebar .tabs button{border-radius:0;background:transparent}.editor-shell .panel{padding:22px}.editor-shell .panel h2{font-size:15px;letter-spacing:0}.editor-shell .panel input,.editor-shell .panel select,.editor-shell .panel textarea{border-radius:4px}.editor-shell .template{border-radius:4px;box-shadow:none}.editor-shell .section-card{border-radius:4px;box-shadow:none}.editor-shell .canvas{background:var(--site-soft)}.editor-shell .workbar{background:var(--site-surface)}.editor-shell #sectionDialog,.editor-shell #mobileEditorWarning{border-radius:8px}.editor-shell #sectionDialog .schedule-tools{border-radius:5px}.editor-shell .time-editor{border-radius:4px}.editor-shell .publish-dialog{border-radius:8px;border:1px solid var(--site-line);padding:26px}.editor-shell .publish-dialog button{border-radius:5px}
@media(max-width:1000px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-home{gap:28px}.nav{padding:0 24px}.nav-profile{display:none}.site-footer{margin:0 24px}.editor-shell .top{flex-wrap:wrap}.editor-shell .top-actions{flex-wrap:wrap}}
@media(max-width:700px){#dashboard{padding:24px 16px 40px}.nav{height:auto;padding:14px 16px;gap:12px}.brand-link .brand-name{font-size:21px}.mobile-menu-button{border-radius:5px!important}.nav nav{gap:8px;padding-top:12px}.nav nav>a:not(.button){padding:12px}.nav-profile{display:flex;max-width:none;padding:8px 0;margin:0;border:0}.welcome-home{grid-template-columns:minmax(0,1fr);gap:26px;padding:8px 0 28px}.welcome-copy h1{font-size:36px!important;letter-spacing:-1px!important;margin-top:12px}.welcome-copy>p{font-size:16px}.welcome-copy .actions{margin-top:20px}.welcome-preview{padding:20px}.home-features{grid-template-columns:minmax(0,1fr);gap:0;margin:24px 0 28px}.home-features article{padding:16px 0;border-bottom:1px solid var(--site-line)}.home-features article:last-child{border:0}.home-features article>span{display:none}.home-features h2{margin:0 0 7px}.directory-grid{grid-template-columns:minmax(0,1fr)}#operators{padding-top:24px}.company-hero{display:block;padding:0 0 24px}.company-logo,.company-placeholder{width:78px;height:78px;margin-bottom:18px;border-radius:8px}.company-hero h1{font-size:32px!important}.company-hero .actions{gap:8px}.company-hero .actions button,.company-hero .actions a{font-size:13px;min-height:44px}.company-banner{max-height:180px;margin-bottom:20px}.tabs{flex-wrap:wrap;gap:0}.tabs button{padding:12px 10px}.grid{grid-template-columns:minmax(0,1fr)}.card{padding:20px}.route-card{min-height:140px}.site-footer{margin:0 16px;padding:18px 0;flex-wrap:wrap}body:not(.editor-shell) dialog{padding:20px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}body:not(.editor-shell) .fleet-modal{padding:14px;max-width:calc(100vw - 12px)}.library-section{padding:14px}.maintenance-control{padding:16px}.editor-shell .top{padding:14px;gap:12px}.editor-shell .top-actions{gap:7px;flex-basis:100%}.editor-shell .panel{padding:20px}.access-wrap{margin:24px 14px;padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.editor-back,#mobileEditorWarning{display:none!important}}
.preview-top b{padding:0;flex-shrink:0;line-height:1}.home-features{padding:0;border-top:0}
@media(max-width:700px){.nav{flex-direction:row;align-items:center;justify-content:space-between}.nav .brand-link{margin:0;flex:0 1 auto;max-width:calc(100% - 88px)}.nav .brand-link img{width:40px;height:40px}.nav .brand-name,.nav .brand-name span{font-size:20px}.mobile-menu-button{margin-left:auto}}

.directory-grid{align-items:stretch;grid-auto-rows:170px}.directory-card{height:170px;min-height:0;overflow:hidden}.directory-copy{display:flex;flex-direction:column;min-width:0;height:100%}.directory-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.directory-copy>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.directory-copy small{margin-top:auto;padding-top:8px}.workspace-company-grid{grid-auto-rows:300px;align-items:stretch}.workspace-company-grid .card{height:300px;display:flex;flex-direction:column;overflow:hidden}.workspace-company-grid .card h3,.workspace-company-grid .card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.workspace-company-grid .card>a{margin-top:auto}.company-initial img{width:48px;height:48px;object-fit:contain;display:block;border-radius:5px}.company-library-folds{margin:24px 0}.company-library-folds details{border:1px solid var(--site-line);margin:10px 0;border-radius:5px;padding:15px 18px}.company-library-folds summary{cursor:pointer;font-weight:600}.company-library-folds summary span{float:right;color:var(--site-muted)}.company-library-folds ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;line-height:1.6;overflow-wrap:anywhere;padding-left:20px}.company-owner-id{border-top:1px solid var(--site-line);padding-top:18px;font-size:12px;color:var(--site-muted)}.fleet-generator-dialog{width:min(1100px,96vw);max-height:94dvh;overflow:auto;background:var(--site-surface);color:var(--site-fg);padding:28px}.fleet-generator-dialog header{display:flex;justify-content:space-between;gap:20px}.fleet-generator-dialog p{line-height:1.7}.generator-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.fleet-generator-dialog label{line-height:1.6}.fleet-generator-dialog textarea{width:100%;min-height:130px}.generator-source-note{padding:14px;border-left:3px solid var(--site-brand);background:var(--site-soft)}.fleet-generator-dialog #genResults{margin-top:20px;max-height:420px;overflow:auto}.fleet-generator-dialog details{padding:16px;border:1px solid var(--site-line);margin:18px 0}.fleet-generator-dialog [hidden]{display:none!important}@media(max-width:700px){.directory-grid{grid-auto-rows:170px}.fleet-generator-dialog{padding:18px}.generator-fields{grid-template-columns:minmax(0,1fr)}}
