:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172d38;background:#f5f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #66bfc8;outline-offset:2px}a{color:inherit}main{min-height:75vh}.app-shell{max-width:1120px;margin:auto;padding:0 28px}.topbar{height:86px;display:flex;align-items:center;gap:13px}.brand-mark{width:39px;height:39px;border-radius:11px;background:#122a38;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:850;letter-spacing:-2px}.brand-mark span{color:#60c9c8}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-copy strong{font-size:17px;letter-spacing:-.5px}.brand-copy small{font-size:11px;color:#71818b;letter-spacing:.04em}.icon-button{margin-left:auto;width:34px;height:34px;border:1px solid #d9e2e3;background:#fff;border-radius:50%;font-weight:700;color:#3b5966}.hero{background:#122a38;color:#fff;border-radius:22px;min-height:332px;padding:46px 53px;display:flex;justify-content:space-between;gap:32px;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(136,207,205,.1);border-radius:50%;right:-150px;top:-295px;box-shadow:0 0 0 72px rgba(136,207,205,.035),0 0 0 144px rgba(136,207,205,.03)}.hero-content{position:relative;z-index:1;max-width:565px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#7fd6d2;margin:0 0 16px}.eyebrow.ink{color:#33999e}.hero h1{font-size:clamp(30px,4vw,47px);letter-spacing:-.05em;line-height:1.05;margin:0 0 19px}.hero p:not(.eyebrow){font-size:15px;color:#b7c9ce;line-height:1.6;max-width:510px;margin:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.button{border-radius:9px;border:1px solid transparent;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;font-size:13px;font-weight:750;min-height:43px}.button-primary{background:#77d9d3;color:#0e2e39}.button-primary:hover{background:#92e8e1}.button-quiet{border-color:#53717a;color:#e8f8f8;background:transparent}.button-quiet:hover{background:#24434e}.button-secondary{background:#ecf2f2;color:#25424d}.hero-card{position:relative;z-index:1;align-self:center;width:315px;min-width:290px;border:1px solid #42616b;border-radius:17px;background:#173743;box-shadow:0 25px 45px #081c2766;padding:21px 22px;transform:rotate(4deg)}.hero-card-top,.hero-card-foot{display:flex;align-items:center;justify-content:space-between;color:#a7c2c8;font-size:10px;letter-spacing:.13em;font-weight:800}.hero-card-dot{width:7px;height:7px;background:#77d9d3;border-radius:50%}.hero-card-line{font-size:22px;font-weight:800;letter-spacing:-.04em;margin-top:44px}.hero-card-line span{color:#77d9d3;padding:0 6px}.hero-card-time{font-size:31px;font-weight:800;letter-spacing:-.04em;margin-top:4px}.hero-card-time span{color:#5c7d86;font-weight:400}.hero-card-foot{margin-top:30px;gap:12px}.hero-card-track{height:2px;background:linear-gradient(90deg,#77d9d3,#486772);flex:1}.tabs{display:flex;gap:28px;border-bottom:1px solid #dde6e6;margin:34px 0 31px;overflow-x:auto}.tab{border:0;background:none;color:#71838a;padding:0 0 16px;font-weight:700;font-size:14px;white-space:nowrap;border-bottom:3px solid transparent}.tab.active{color:#163641;border-color:#2ba5a7}.tab span{display:inline-grid;place-items:center;margin-left:5px;min-width:20px;height:19px;padding:0 5px;background:#e9eeee;border-radius:6px;font-size:11px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px;gap:15px}.section-heading .eyebrow{margin-bottom:7px}h2{font-size:25px;letter-spacing:-.04em;margin:0}.text-button{border:0;background:none;color:#468f94;font-size:13px;font-weight:700}.service-list,.report-list{display:grid;gap:16px}.surface,.service-card,.report-card,.empty-card{background:#fff;border:1px solid #e0e8e8;box-shadow:0 5px 22px #0d34420b;border-radius:15px}.service-card{overflow:hidden}.service-summary{padding:22px 24px;display:flex;align-items:center;gap:20px}.date-block{width:68px;min-width:68px;text-align:center;border-right:1px solid #e0e8e8;padding-right:18px}.date-block strong{font-size:26px;display:block;line-height:1}.date-block span{font-size:11px;color:#809198;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.service-main{flex:1}.service-main h3{margin:0 0 4px;font-size:19px}.service-main p{margin:0;color:#73868c;font-size:13px}.service-time{font-weight:800;color:#183842;white-space:nowrap;font-size:15px}.service-actions{display:flex;gap:9px;align-items:center;border-top:1px solid #e9eeee;padding:13px 24px;background:#fbfcfc}.service-actions button{font-size:12px;font-weight:750;border:0;border-radius:8px;padding:9px 12px}.detail-button{background:#e8f5f3;color:#247277}.report-button{background:#153743;color:#fff}.delete-button{background:transparent;color:#84969a;margin-left:auto}.segment-list{border-top:1px solid #e9eeee;padding:6px 24px 20px}.segment{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #eef2f2}.segment:last-child{border:0;padding-bottom:0}.segment-time{font-size:13px;font-weight:800;color:#2b6069}.segment-body{display:flex;flex-direction:column;gap:5px}.segment-title{font-size:14px;font-weight:800}.segment-sub{font-size:12px;color:#71858a;line-height:1.5}.tag{display:inline-block;width:max-content;border-radius:5px;background:#edf6f5;color:#2b7f83;font-size:10px;font-weight:800;padding:4px 7px;letter-spacing:.04em}.empty-card{padding:48px 24px;text-align:center;color:#73868c}.empty-icon{font-size:32px;margin-bottom:12px;color:#74b9bc}.empty-card h3{color:#1b3944;margin:0 0 5px}.empty-card p{margin:0 auto 20px;line-height:1.5;max-width:410px}.report-card{padding:20px 23px}.report-card-top{display:flex;justify-content:space-between;gap:12px}.report-card h3{margin:0 0 5px;font-size:17px}.report-card small{color:#7a8b90}.report-card p{white-space:pre-wrap;line-height:1.55;font-size:13px;color:#516871}.report-meta{font-size:12px;color:#368c90;font-weight:750}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px}.import-card{padding:24px}.step-num{color:#3aacae;font-weight:850;letter-spacing:.12em;font-size:12px}.import-card h3{margin:13px 0 7px;font-size:17px}.import-card p{margin:0 0 12px;color:#698088;font-size:13px;line-height:1.6}.inline-link{color:#237f83;font-size:13px;font-weight:750}.form-card{padding:24px;display:flex;flex-direction:column;gap:10px}.form-card label,.report-form label{font-size:12px;font-weight:800;color:#3d5963}.form-card input,.form-card textarea,.report-form input,.report-form textarea{width:100%;border:1px solid #d9e3e3;background:#fbfcfc;border-radius:8px;color:#203b45;padding:11px 12px;resize:vertical}.form-card input[type=date]{max-width:220px;margin-bottom:10px}.form-card textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.form-footer p{font-size:11px;color:#829297;margin:0}.form-message{font-size:12px;margin:0;min-height:16px;color:#267f82;font-weight:700}.form-message.error{color:#b25050}footer{padding:40px 0 30px;color:#94a4a8;font-size:11px;text-align:center}dialog{border:1px solid #d7e3e3;border-radius:17px;box-shadow:0 24px 80px #061d2a44;max-width:calc(100vw - 32px);color:#172d38}dialog::backdrop{background:#09212e99}.report-dialog{width:530px;padding:0}.report-form{padding:25px;display:flex;flex-direction:column;gap:10px}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.dialog-head .eyebrow{margin-bottom:5px}.dialog-head .icon-button{flex:none;margin-left:0}.report-context{font-size:12px;font-weight:700;color:#3b9296;background:#edf7f6;padding:10px;border-radius:7px;margin:8px 0}.report-form input,.report-form textarea{margin-bottom:6px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}.help-dialog{width:480px;padding:26px}.help-dialog p{font-size:13px;line-height:1.6;color:#5e747c}.help-dialog p:last-child{margin-bottom:0}[hidden]{display:none!important}@media(max-width:750px){.app-shell{padding:0 16px}.topbar{height:72px}.hero{padding:30px 27px;min-height:auto}.hero-card{display:none}.hero h1{font-size:34px}.tabs{margin:26px 0}.service-summary{padding:18px;gap:14px;flex-wrap:wrap}.date-block{width:56px;min-width:56px;padding-right:11px}.service-time{width:100%;padding-left:70px}.service-actions{padding:12px 17px;flex-wrap:wrap}.segment-list{padding:5px 18px 17px}.segment{grid-template-columns:1fr;gap:5px}.import-grid{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.form-footer .button{align-self:flex-start}}@media(max-width:390px){.hero{padding:26px 22px}.hero h1{font-size:30px}.tabs{gap:20px}.tab{font-size:13px}.service-actions button{font-size:11px}}

/* Visual direction based on the VGF public website: teal, white, square information tiles. */
:root{font-family:Arial,Helvetica,sans-serif;color:#161e21;background:#fff}
body{background:#fff}
.utility-bar{background:#00838c;color:#fff;font-size:12px}
.utility-inner{max-width:1120px;margin:auto;padding:0 28px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700;letter-spacing:.03em}
.utility-inner a{color:#fff;text-decoration:none;font-weight:700}
.utility-inner a:hover{text-decoration:underline}
.topbar{height:91px;gap:16px;border-bottom:1px solid #ecf0f0}
.brand-mark{width:53px;height:50px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:5px;border-radius:0;background:transparent;box-shadow:none}
.brand-mark span{display:block;height:4px;background:#00838c;border-radius:0}
.brand-mark span:nth-child(1){width:49px}.brand-mark span:nth-child(2){width:38px}.brand-mark span:nth-child(3){width:27px}
.brand-copy strong{font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1;font-weight:900;letter-spacing:-.06em;color:#00838c}
.brand-copy small{font-size:12px;color:#5f7477;letter-spacing:.02em;margin-top:4px}
.icon-button{border-color:#c9dddd;color:#00838c;border-radius:50%}
.hero{border-radius:2px;background:#eaf5f5;color:#161e21;min-height:322px;padding:40px 48px;border-top:5px solid #00838c}
.hero:before{width:330px;height:330px;top:auto;bottom:-240px;right:25%;border:30px solid #d8eded;box-shadow:none;border-radius:50%}
.hero .eyebrow{color:#00838c}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.055em;font-size:clamp(33px,4vw,48px);line-height:1.08}
.hero p:not(.eyebrow){color:#4a6266}
.button{border-radius:3px;font-weight:800;letter-spacing:.01em}
.button-primary{background:#00838c;color:#fff}
.button-primary:hover{background:#006d76;color:#fff}
.button-quiet{background:#fff;border-color:#00838c;color:#00838c}
.button-quiet:hover{background:#d8eded;color:#006e77}
.button-secondary{background:#e7f2f2;color:#006e77}
.hero-card{background:#00838c;border:0;color:#fff;border-radius:2px;box-shadow:0 7px 16px #1c656022;transform:none;min-height:235px;padding:25px}
.hero-card-top,.hero-card-foot{color:#d2f0ef}
.hero-card-dot{background:#fff}
.hero-card-line{font-size:17px;margin-top:44px;display:flex;align-items:center;gap:12px}
.hero-card-line .line-badge{display:inline-grid;place-items:center;padding:8px 9px;background:#fff;color:#00838c;font-size:19px;line-height:1}
.hero-card-time span{color:#a7d9d9}
.hero-card-track{background:#9cdbd9}
.tabs{border-color:#d7e7e7}
.tab{color:#5b7276}
.tab.active{color:#00838c;border-color:#00838c}
.tab span{border-radius:2px;background:#e1eeee;color:#007780}
.eyebrow.ink,.step-num,.inline-link,.report-meta{color:#00838c}
h2,.service-main h3,.report-card h3{color:#161e21;letter-spacing:-.03em}
.surface,.service-card,.report-card,.empty-card{border-color:#dce9e9;border-radius:3px;box-shadow:0 3px 11px #19575b13}
.service-card{border-left:5px solid #00838c}
.service-actions{background:#f6fafa}
.service-actions button{border-radius:2px}
.detail-button{background:#deeeee;color:#007781}
.report-button{background:#00838c;color:#fff}
.segment-time,.tag,.text-button{color:#00838c}
.tag{border-radius:2px;background:#e0f0f0}
.form-card input,.form-card textarea,.report-form input,.report-form textarea{border-radius:2px;background:#fff;border-color:#c9dede}
.report-context{border-radius:2px;color:#00838c;background:#e3f2f2}
dialog{border-radius:3px;border-color:#c9dddd}
footer{border-top:1px solid #e4eded;margin-top:50px;color:#748b8e}
@media(max-width:750px){.utility-inner{padding:0 16px;font-size:10px}.topbar{height:77px}.brand-mark{width:45px}.brand-mark span:nth-child(1){width:42px}.brand-mark span:nth-child(2){width:32px}.brand-mark span:nth-child(3){width:23px}.brand-copy strong{font-size:23px}.hero{padding:28px 25px}.hero h1{font-size:34px}}

/* Manual day/night switch. The setting is saved in this browser. */
.theme-button{margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid #c9dddd;background:#fff;color:#007780;border-radius:3px;padding:8px 11px;font-size:12px;font-weight:800;white-space:nowrap}
.theme-button:hover{background:#eaf5f5}
.theme-icon{font-size:18px;line-height:1}
.topbar>.icon-button{margin-left:0}
@media(max-width:520px){.theme-button{width:36px;height:36px;padding:0;justify-content:center}.theme-text{display:none}}

html[data-theme="dark"]{color-scheme:dark;background:#0d1b1e;color:#e7f3f2}
html[data-theme="dark"] body{background:#0d1b1e;color:#e7f3f2}
html[data-theme="dark"] .utility-bar{background:#006b74;color:#effafa}
html[data-theme="dark"] .topbar{border-color:#254248}
html[data-theme="dark"] .brand-mark span{background:#6ad0cf}
html[data-theme="dark"] .brand-copy strong{color:#7cdbd9}
html[data-theme="dark"] .brand-copy small{color:#a8c2c4}
html[data-theme="dark"] .theme-button,html[data-theme="dark"] .icon-button{background:#183238;border-color:#426168;color:#c3eeee}
html[data-theme="dark"] .theme-button:hover,html[data-theme="dark"] .icon-button:hover{background:#24454b}
html[data-theme="dark"] .hero{background:#19373c;color:#f4fbfa;border-color:#63c9c8}
html[data-theme="dark"] .hero:before{border-color:#274d51}
html[data-theme="dark"] .hero .eyebrow{color:#80dbda}
html[data-theme="dark"] .hero p:not(.eyebrow){color:#c0d5d5}
html[data-theme="dark"] .hero-card{background:#00737d;color:#fff;box-shadow:0 7px 18px #06151855}
html[data-theme="dark"] .hero-card-line .line-badge{background:#eaf9f8;color:#005e67}
html[data-theme="dark"] .button-primary,html[data-theme="dark"] .report-button{background:#65cecb;color:#0b3033}
html[data-theme="dark"] .button-primary:hover,html[data-theme="dark"] .report-button:hover{background:#8ae5e0}
html[data-theme="dark"] .button-quiet{background:#19363b;border-color:#71cfcd;color:#e5f9f8}
html[data-theme="dark"] .button-quiet:hover{background:#24484d;color:#fff}
html[data-theme="dark"] .button-secondary{background:#27474d;color:#e6f8f6}
html[data-theme="dark"] .tabs{border-color:#2b4a4e}
html[data-theme="dark"] .tab{color:#adc4c5}
html[data-theme="dark"] .tab.active{color:#82ddda;border-color:#65cecb}
html[data-theme="dark"] .tab span{background:#284a4d;color:#c4eeeb}
html[data-theme="dark"] .eyebrow.ink,html[data-theme="dark"] .step-num,html[data-theme="dark"] .inline-link,html[data-theme="dark"] .report-meta,html[data-theme="dark"] .text-button{color:#7ed9d6}
html[data-theme="dark"] h2,html[data-theme="dark"] .service-main h3,html[data-theme="dark"] .report-card h3,html[data-theme="dark"] .empty-card h3,html[data-theme="dark"] .import-card h3{color:#f0f8f7}
html[data-theme="dark"] .surface,html[data-theme="dark"] .service-card,html[data-theme="dark"] .report-card,html[data-theme="dark"] .empty-card{background:#162c30;border-color:#315055;box-shadow:0 3px 13px #0002}
html[data-theme="dark"] .service-card{border-left-color:#70d4d1}
html[data-theme="dark"] .service-actions{background:#11272b;border-color:#305055}
html[data-theme="dark"] .detail-button{background:#2a5054;color:#d2f3ef}
html[data-theme="dark"] .delete-button{color:#b9d0d0}
html[data-theme="dark"] .service-time,html[data-theme="dark"] .segment-title{color:#e9f7f5}
html[data-theme="dark"] .service-main p,html[data-theme="dark"] .date-block span,html[data-theme="dark"] .segment-sub,html[data-theme="dark"] .empty-card,html[data-theme="dark"] .import-card p,html[data-theme="dark"] .report-card small,html[data-theme="dark"] .report-card p,html[data-theme="dark"] .form-footer p{color:#aec6c7}
html[data-theme="dark"] .date-block,html[data-theme="dark"] .segment-list,html[data-theme="dark"] .segment{border-color:#315055}
html[data-theme="dark"] .segment-time{color:#8ce1de}
html[data-theme="dark"] .tag{background:#254b4e;color:#bcf2ee}
html[data-theme="dark"] .empty-icon{color:#80d5d2}
html[data-theme="dark"] .form-card label,html[data-theme="dark"] .report-form label{color:#d6ebea}
html[data-theme="dark"] .form-card input,html[data-theme="dark"] .form-card textarea,html[data-theme="dark"] .report-form input,html[data-theme="dark"] .report-form textarea{background:#0e2226;border-color:#46636a;color:#effafa}

.auth-gate{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(140deg,#e9f4f4,#fff 58%)}
.auth-card{width:min(100%,410px);display:flex;flex-direction:column;gap:11px;background:#fff;border-top:5px solid #00838c;box-shadow:0 15px 50px #153b3f24;padding:32px}
.auth-card h1{margin:0;font-size:31px}.auth-card p:not(.eyebrow){margin:0 0 11px;color:#526a6f;line-height:1.5;font-size:14px}
.auth-card label{font-size:13px;font-weight:800}.auth-card input{width:100%;padding:12px;border:1px solid #b7cbcd;border-radius:3px;background:#fff;color:#172d38}
.auth-card .button{margin-top:8px}.auth-card .form-message{margin:3px 0 0;min-height:20px;color:#9c3838}
.auth-link{border:0;background:none;color:#007780;text-decoration:underline;padding:4px 0;align-self:flex-start;font-size:13px;font-weight:700}
html[data-theme="dark"] .auth-link{color:#7ed9d6}
.account-button{margin-left:0;white-space:nowrap}.account-status{display:flex;justify-content:flex-end;gap:12px;align-items:center;padding:8px 0;font-size:12px;color:#516a70}
.account-status #syncStatus{font-weight:800;color:#007780}.account-status button{border:0;background:none;color:#007780;font-weight:800;text-decoration:underline;cursor:pointer}
.legacy-import{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;margin:12px 0;border-left:4px solid #00838c}
.legacy-import p{margin:4px 0 0;font-size:12px;color:#526a70;line-height:1.5}
html[data-theme="dark"] .auth-gate{background:linear-gradient(140deg,#0d1b1e,#19373c)}
html[data-theme="dark"] .auth-card{background:#162c30;color:#f0f8f7;border-color:#65cecb}
html[data-theme="dark"] .auth-card p:not(.eyebrow),html[data-theme="dark"] .legacy-import p,html[data-theme="dark"] .account-status{color:#b9d0d0}
html[data-theme="dark"] .auth-card input{background:#0e2226;border-color:#46636a;color:#effafa}
html[data-theme="dark"] .account-status #syncStatus,html[data-theme="dark"] .account-status button{color:#7ed9d6}
@media(max-width:600px){.account-button{padding:8px;font-size:11px}.account-status{justify-content:space-between;flex-wrap:wrap}.legacy-import{flex-direction:column;align-items:start}.auth-card{padding:24px}}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#91aaac}
html[data-theme="dark"] .form-message{color:#91e2df}
html[data-theme="dark"] .form-message.error{color:#ff9d9d}
html[data-theme="dark"] dialog{background:#162c30;border-color:#4b686b;color:#e8f6f5}
html[data-theme="dark"] dialog::backdrop{background:#030c0ecc}
html[data-theme="dark"] .report-context{background:#25484c;color:#baf1ed}
html[data-theme="dark"] .help-dialog p{color:#c3d5d5}
html[data-theme="dark"] footer{border-color:#2b494d;color:#9bb7b8}

/* Assisted Perdis import through Safari Shortcuts. */
.quick-import{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:24px;margin-bottom:15px;border-left:5px solid #00838c}
.quick-import .eyebrow{margin-bottom:7px}
.quick-import h3{font-size:20px;letter-spacing:-.03em;margin:0 0 7px}
.quick-import p:not(.eyebrow){margin:0;color:#5e7377;font-size:13px;line-height:1.55;max-width:590px}
.quick-import #clipboardMessage{margin-top:8px;font-weight:800;color:#007780}
.quick-import #clipboardMessage.error{color:#b25050}
.quick-import .button{flex:none}
.shortcut-help{padding:18px 23px;margin-bottom:22px}
.shortcut-help summary{cursor:pointer;color:#007780;font-size:14px;font-weight:800}
.shortcut-help ol{padding-left:21px;line-height:1.6;color:#465f63;font-size:13px}
.shortcut-help li+li{margin-top:5px}
.shortcut-help p{font-size:12px;color:#647c80;line-height:1.5}
.shortcut-help textarea{display:block;width:100%;margin:12px 0;border:1px solid #c9dede;border-radius:2px;background:#f7fbfb;color:#24383b;padding:12px;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.shortcut-help .form-message{margin-top:8px}
html[data-theme="dark"] .quick-import{border-left-color:#70d4d1}
html[data-theme="dark"] .quick-import h3{color:#f0f8f7}
html[data-theme="dark"] .quick-import p:not(.eyebrow),html[data-theme="dark"] .shortcut-help ol,html[data-theme="dark"] .shortcut-help p{color:#aec6c7}
html[data-theme="dark"] .shortcut-help summary{color:#86ddda}
html[data-theme="dark"] .shortcut-help textarea{background:#0e2226;border-color:#46636a;color:#e9f7f5}
@media(max-width:750px){.quick-import{align-items:stretch;flex-direction:column;gap:17px}.quick-import .button{align-self:flex-start}}

/* Zugerfassung je Fahrleistung. */
.train-capture{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.train-summary{font-size:12px;font-weight:750;color:#246e73;background:#eaf6f4;border-radius:7px;padding:7px 9px}
.train-button{border:1px solid #00838c;border-radius:7px;background:#fff;color:#007780;font-size:12px;font-weight:800;padding:8px 11px}
.train-button:hover{background:#e8f7f5}
.report-form select{width:100%;border:1px solid #d9e3e3;background:#fbfcfc;border-radius:8px;color:#203b45;padding:11px 12px;margin-bottom:6px;font:inherit}
.train-hint{font-size:12px;color:#637a80;line-height:1.5;margin:4px 0}
.wagon-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.wagon-grid>div{display:flex;flex-direction:column;gap:6px}
.wagon-grid input{margin-bottom:0}
html[data-theme="dark"] .train-summary{background:#254b4e;color:#c5f2ee}
html[data-theme="dark"] .train-button{background:#173b40;border-color:#6bcfcd;color:#dcf5f2}
html[data-theme="dark"] .train-button:hover{background:#245157}
html[data-theme="dark"] .report-form select{background:#0e2226;border-color:#46636a;color:#effafa}
html[data-theme="dark"] .train-hint{color:#adc6c6}
@media(max-width:390px){.wagon-grid{grid-template-columns:1fr}}

/* Wochen-, Monats- und Archivansicht der Dienste. */
.overview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:15px;margin-bottom:14px}
.view-switch{display:flex;gap:4px;background:#e8f1f0;padding:4px;border-radius:8px}
.view-switch button{border:0;border-radius:6px;background:transparent;color:#42636a;padding:9px 12px;font-size:12px;font-weight:800;white-space:nowrap}
.view-switch button[aria-pressed="true"]{background:#00838c;color:#fff}
.period-navigation{display:flex;align-items:center;gap:9px}
.period-navigation strong{font-size:13px;min-width:170px;text-align:center;color:#21434a}
.period-navigation button{border:1px solid #c7dddd;background:#fff;color:#007780;border-radius:7px;min-width:34px;height:34px;font-size:17px;font-weight:750}
.period-navigation #todayPeriod{font-size:12px;padding:0 10px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:12px}
.calendar-day{min-height:75px;border:1px solid #dce9e9;background:#fff;border-radius:4px;padding:7px;overflow:hidden}
.calendar-day.outside{background:#f0f5f4;opacity:.7}
.calendar-day.today{border-color:#00838c;box-shadow:inset 0 0 0 1px #00838c}
.calendar-date{display:block;color:#53777d;font-size:11px;font-weight:800;margin-bottom:5px}
.calendar-service{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;border-radius:4px;background:#d8f1ef;color:#006d75;padding:5px 6px;font-size:11px;font-weight:800;margin-top:3px}
.calendar-service:hover{background:#b9e6e2}
.archive-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(140px,1fr)) auto;align-items:end;gap:10px;padding:16px;margin-bottom:12px}
.archive-filters label{display:flex;flex-direction:column;gap:6px;color:#3d5963;font-size:12px;font-weight:800}
.archive-filters input{width:100%;border:1px solid #d9e3e3;background:#fbfcfc;border-radius:7px;color:#203b45;padding:10px;font:inherit;font-weight:400;min-height:43px}
.archive-filters .button{white-space:nowrap}
.service-results{font-size:12px;color:#657f83;font-weight:750;margin:12px 2px}
html[data-theme="dark"] .view-switch{background:#234448}
html[data-theme="dark"] .view-switch button{color:#bddbd9}
html[data-theme="dark"] .view-switch button[aria-pressed="true"]{background:#59c9c8;color:#0d3032}
html[data-theme="dark"] .period-navigation strong{color:#e0f1ef}
html[data-theme="dark"] .period-navigation button{background:#19373b;border-color:#48666a;color:#b4eeeb}
html[data-theme="dark"] .calendar-day{background:#162c30;border-color:#315055}
html[data-theme="dark"] .calendar-day.outside{background:#112529}
html[data-theme="dark"] .calendar-day.today{border-color:#6bd2cf;box-shadow:inset 0 0 0 1px #6bd2cf}
html[data-theme="dark"] .calendar-date,html[data-theme="dark"] .service-results{color:#b2cdcc}
html[data-theme="dark"] .calendar-service{background:#275358;color:#d7f4f1}
html[data-theme="dark"] .calendar-service:hover{background:#32676b}
html[data-theme="dark"] .archive-filters label{color:#d6ebea}
html[data-theme="dark"] .archive-filters input{background:#0e2226;border-color:#46636a;color:#effafa}
@media(max-width:750px){.overview-toolbar{align-items:stretch}.period-navigation{justify-content:space-between;width:100%}.period-navigation strong{min-width:0;flex:1}.archive-filters{grid-template-columns:1fr 1fr}.archive-filters label:first-child{grid-column:1/-1}.archive-filters .button{grid-column:1/-1;justify-self:start}}
@media(max-width:520px){.view-switch{width:100%}.view-switch button{flex:1;padding:9px 5px}.calendar-grid{gap:2px}.calendar-day{min-height:61px;padding:4px 2px}.calendar-date{font-size:9px;text-align:center}.calendar-service{font-size:10px;text-align:center;padding:4px 1px}.period-navigation strong{font-size:11px}.archive-filters{grid-template-columns:1fr}.archive-filters label:first-child,.archive-filters .button{grid-column:auto}}

/* Backup controls use a second row on narrow iPhone screens. */
@media(max-width:600px){.topbar{height:auto;min-height:77px;flex-wrap:wrap;padding:12px 0;gap:8px}.topbar .brand-copy{flex:1;min-width:90px}.topbar .account-button{flex:1 1 calc(50% - 8px);min-width:0;white-space:normal;line-height:1.2}.topbar #backupButton{margin-left:0}}

/* Freie Tage aus der Perdis-Monatsübersicht. */
.calendar-free{display:block;border-radius:4px;background:#e6e8fa;color:#383daf;text-align:center;padding:5px 2px;font-size:11px;font-weight:850;margin-top:3px}
.free-day-card{display:flex;align-items:center;gap:20px;padding:19px 24px;background:#f3f4fb;border:1px solid #d9dcef;border-left:5px solid #6874bd;border-radius:3px}
.free-day-card .date-block{border-color:#d9dcef}
.free-day-card p{margin:5px 0 0;font-size:12px;color:#5c6381}
.free-day-label{font-size:14px;font-weight:850;letter-spacing:.08em;color:#39439f}
.month-import-form{margin-top:18px}
.month-import-form h3{margin:0;font-size:18px}
.month-import-form>p:not(.eyebrow):not(.form-message){font-size:13px;line-height:1.5;color:#647c80;margin:0 0 5px}
html[data-theme="dark"] .calendar-free{background:#34375f;color:#d6dbff}
html[data-theme="dark"] .free-day-card{background:#222b3b;border-color:#4a5477;border-left-color:#8e9cfa}
html[data-theme="dark"] .free-day-card .date-block{border-color:#4a5477}
html[data-theme="dark"] .free-day-label{color:#d7ddff}
html[data-theme="dark"] .free-day-card p,html[data-theme="dark"] .month-import-form>p:not(.eyebrow):not(.form-message){color:#b8c4d8}
@media(max-width:750px){.free-day-card{padding:17px;gap:14px}}
@media(max-width:520px){.calendar-free{font-size:10px;padding:4px 1px}}

/* Lokales Profil und Dienst-PDF. */
.personal-greeting{margin:10px 0 0!important;color:#b8eeeb!important;font-weight:800;font-size:14px!important}
.profile-hint{font-size:13px;line-height:1.5;color:#5b7277;margin:7px 0 13px}
.pdf-button{background:#dcefee;color:#146b72}
.pdf-button:hover{background:#c6e6e4}
html[data-theme="dark"] .pdf-button{background:#27595b;color:#d7f5f2}
html[data-theme="dark"] .profile-hint{color:#b4cdcb}

/* Zwei kompakte Kopfzeilen statt überlaufender Aktionsknöpfe auf Tablet und Telefon. */
@media(max-width:900px){
  .topbar{display:grid;grid-template-columns:44px repeat(4,minmax(0,1fr)) 44px;align-items:center;column-gap:8px;row-gap:8px;height:auto;min-height:0;padding:12px 0}
  .topbar .brand-mark{grid-column:1;grid-row:1;width:44px;height:44px}
  .topbar .brand-copy{grid-column:2/6;grid-row:1;min-width:0}
  .topbar #themeButton{grid-column:6;grid-row:1;width:44px;height:44px;margin:0;padding:0;justify-content:center}
  .topbar .theme-text{display:none}
  .topbar .account-button{grid-row:2;width:100%;min-width:0;min-height:44px;white-space:normal;text-align:center;line-height:1.2;padding:8px 5px;margin:0}
  .topbar #profileButton{grid-column:1/3}
  .topbar #backupButton{grid-column:3/5}
  .topbar #restoreButton{grid-column:5/7}
}
@media(max-width:600px){
  .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible}
  .tab{min-width:0;min-height:48px;padding:7px 2px 9px;white-space:normal;line-height:1.18;text-align:center;font-size:12px}
  .tab span{margin-left:2px}
  .service-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .service-actions button{min-width:0;min-height:44px;white-space:normal;line-height:1.2;margin:0}
}
@media(max-width:360px){
  .utility-inner{gap:8px;font-size:9px}
  .topbar .brand-copy strong{font-size:21px}
  .topbar .brand-mark{width:40px}
  .topbar .brand-mark span:nth-child(1){width:38px}
  .topbar .brand-mark span:nth-child(2){width:30px}
  .topbar .brand-mark span:nth-child(3){width:22px}
  .topbar .account-button{font-size:10px}
}
.report-card-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;justify-content:flex-end}
select:focus-visible{outline:3px solid #66bfc8;outline-offset:2px}
.driver-pdf-button{margin-top:12px;background:#dcefee;color:#146b72}
html[data-theme="dark"] .driver-pdf-button{background:#27595b;color:#d7f5f2}
.driver-form-hint,.driver-pdf-note{font-size:12px;line-height:1.5;color:#5b7277;margin:2px 0 8px}
html[data-theme="dark"] .driver-form-hint,html[data-theme="dark"] .driver-pdf-note{color:#b4cdcb}
.report-train{display:inline-block;margin:10px 0 0!important;padding:7px 9px;border-radius:4px;background:#eaf6f4;color:#1a666c!important;font-weight:800}
html[data-theme="dark"] .report-train{background:#254b4e;color:#c5f2ee!important}
@media(max-width:390px){.report-card-top{flex-wrap:wrap}.report-card-actions{width:100%;justify-content:flex-start}.report-dialog{max-height:calc(100dvh - 20px);overflow-y:auto}}
.driver-dialog{width:670px;max-height:calc(100dvh - 24px);overflow-y:auto}.driver-section{display:flex;flex-direction:column;gap:8px;border:1px solid #d9e3e3;border-radius:10px;padding:16px;margin:8px 0}.driver-section legend{font-size:15px;font-weight:800;color:#163641;padding:0 6px}.driver-question{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:6px 0;font-size:13px}.driver-question span{width:100%;font-weight:800;color:#3d5963}.driver-question label{display:inline-flex;align-items:center;gap:7px;font-size:13px}.driver-question input[type=radio]{width:auto;margin:0;accent-color:#2ba5a7}.driver-section textarea{min-height:54px}.driver-dialog .dialog-actions{position:sticky;bottom:-25px;background:#fff;padding:12px 0;flex-wrap:wrap}@media(max-width:390px){.driver-section{padding:12px}.driver-dialog .dialog-actions .button{flex:1}}
.driver-dialog input[type=date]{min-height:44px}
.screenshot-import{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:18px 0;padding:20px}
.screenshot-import p{margin:0;line-height:1.5}.screenshot-import label{font-weight:700;font-size:13px}
.screenshot-import input,.screenshot-import select{width:100%;max-width:520px;min-height:44px}
.screenshot-import input[type=file]{padding:8px;border:1px solid #bccfcf;border-radius:6px}
#signaturePad{display:block;width:100%;height:auto;max-width:600px;aspect-ratio:15/4;border:1px solid #9fbdbd;border-radius:6px;background:#fff;touch-action:none}
#clearSignatureButton{align-self:flex-start}
.gps-status{margin:0 0 12px}.gps-capture{display:flex;align-items:flex-start;flex-wrap:wrap;gap:9px;margin-top:10px;padding:12px;border:1px solid #c9e4e2;border-radius:9px;background:#f4fbfa}
.gps-button,.gps-edit button{border:0;border-radius:7px;background:#007e85;color:#fff;padding:9px 12px;font-size:12px;font-weight:750;min-height:40px}.gps-stop{background:#a94646}
.gps-live{align-self:center;font-size:13px;font-weight:800;color:#173d46}.gps-note{font-size:12px;color:#27777a}.gps-capture small{width:100%;font-size:11px;line-height:1.4;color:#587378}
.gps-history{width:100%;display:grid;gap:8px}.gps-entry{border-top:1px solid #d2e4e3;padding-top:8px;font-size:12px}.gps-entry summary{cursor:pointer;color:#007e85;font-weight:700;margin-top:5px}
.gps-edit{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding-top:8px}.gps-edit label{font-size:11px;font-weight:700;display:grid;gap:3px}.gps-edit input{max-width:220px;min-height:40px;padding:7px;border:1px solid #aac7c7;border-radius:6px}.gps-edit button:last-child{background:#6c777a}
html[data-theme="dark"] .gps-capture{background:#18363a;border-color:#356066}html[data-theme="dark"] .gps-live,html[data-theme="dark"] .gps-capture small{color:#d0e8e7}
.server-dialog{width:min(650px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}
.server-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #d5e0e0;font-size:13px}
.server-user small{display:block;color:#657b7e}
.server-user-actions{display:flex;gap:8px;flex-wrap:wrap}
.server-user-actions button{border:1px solid #aac5c5;border-radius:5px;background:transparent;color:inherit;padding:7px 9px}
.server-dialog>label{display:block;margin:14px 25px 5px;font-size:12px;font-weight:800}
.server-dialog>input{display:block;width:calc(100% - 50px);margin:0 25px 16px;border:1px solid #d9e3e3;border-radius:8px;padding:11px 12px}
.server-dialog>p,.server-dialog>details{margin:16px 25px;line-height:1.5}
.server-dialog>#usersList{margin:0 25px}
.server-dialog>#recoveryCodeOutput{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;letter-spacing:.03em}
.server-dialog>.dialog-actions{margin:16px 25px 25px;flex-wrap:wrap}
#loginGate .auth-card{width:min(420px,100%)}
#loginGate input{width:100%}
#currentUser{font-weight:700}
@media(max-width:600px){.server-user{align-items:flex-start;flex-direction:column}.account-status{gap:8px}}
.gps-entry{background:#fff;border:1px solid #d2e4e3;border-radius:10px;padding:12px;min-width:0}
.gps-entry-head,.gps-axis-labels,.gps-entry-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gps-entry-head{font-size:14px;color:#183e47}.gps-entry-head span{font-variant-numeric:tabular-nums}
.gps-time-axis{display:flex;align-items:center;gap:0;margin:14px 1px 3px}
.gps-axis-track{position:relative;flex:1;height:10px;background:#69b9b8;border-radius:9px;overflow:hidden}
.gps-axis-start,.gps-axis-end{width:15px;height:15px;border-radius:50%;flex:none;z-index:1}
.gps-axis-start{background:#158e65}.gps-axis-end{background:#cc624b}
.gps-axis-gap{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(120deg,#f7b651 0 5px,#fff1cf 5px 10px)}
.gps-axis-labels{font-size:11px;color:#526970;font-variant-numeric:tabular-nums}
.gps-route-svg{display:block;width:100%;height:140px;margin:10px 0 4px;background:#eef8f6;border:1px solid #d0e6e3;border-radius:8px}
.gps-route-grid{fill:none;stroke:#d9eae8;stroke-width:1}.gps-route-line{fill:none;stroke:#007e85;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.gps-route-start{fill:#158e65;stroke:#fff;stroke-width:2}.gps-route-end{fill:#cc624b;stroke:#fff;stroke-width:2}
.gps-route-svg text{fill:#527178;font-size:11px;font-weight:700}.gps-route-empty{margin:10px 0;padding:20px;text-align:center;border:1px dashed #b8d5d2;border-radius:8px;color:#587378}
.gps-entry-meta{justify-content:flex-start;font-size:11px;color:#526970}.gps-entry-meta span{padding:3px 7px;background:#eaf4f2;border-radius:5px}
.gps-map-button{border:1px solid #007e85;border-radius:7px;background:transparent;color:#006c74;padding:8px 11px;min-height:40px;font-size:12px;font-weight:750;cursor:pointer}
.gps-route-dialog{width:min(94vw,800px)}.gps-route-large .gps-route-svg{height:auto;max-height:68vh;aspect-ratio:16/7}
html[data-theme="dark"] .gps-entry{background:#1b3034;border-color:#426266}html[data-theme="dark"] .gps-entry-head,html[data-theme="dark"] .gps-map-button{color:#d7f3f1}
html[data-theme="dark"] .gps-route-svg{background:#243f42;border-color:#426266}html[data-theme="dark"] .gps-route-grid{stroke:#355459}html[data-theme="dark"] .gps-route-svg text{fill:#b9d8d6}
html[data-theme="dark"] .gps-axis-labels,html[data-theme="dark"] .gps-entry-meta{color:#b9d8d6}html[data-theme="dark"] .gps-entry-meta span{background:#2c4c50}
@media(max-width:390px){.gps-entry{padding:10px}.gps-route-svg{height:120px}.gps-route-large .gps-route-svg{height:auto;aspect-ratio:16/9}.gps-route-dialog .report-form{padding:14px}}
.gps-route-large .gps-route-svg{aspect-ratio:16/9;height:auto;max-height:64vh}
.gps-network-line{fill:none;stroke:#86bebb;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.gps-network-stop{fill:#fff;stroke:#4b9697;stroke-width:1.3}
.gps-route-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.gps-route-controls label{font-size:12px;font-weight:800}.gps-route-controls select{min-width:95px;min-height:40px;padding:6px;border:1px solid #aac7c7;border-radius:7px}
.gps-stops-title{font-size:14px;margin:14px 0 7px;color:#244c54}
.gps-stop-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;max-height:195px;overflow:auto;margin:0 0 15px;padding:0;list-style:none;font-size:12px}
.gps-stop-list li{display:flex;align-items:center;gap:7px;min-width:0}.gps-stop-list li span{flex:none;display:grid;place-items:center;width:22px;height:22px;background:#e4f2f0;color:#176e73;border-radius:50%;font-size:10px;font-weight:800}
html[data-theme="dark"] .gps-network-line{stroke:#82b8b4}html[data-theme="dark"] .gps-network-stop{fill:#223e42;stroke:#b4dcda}html[data-theme="dark"] .gps-stops-title{color:#d7f3f1}html[data-theme="dark"] .gps-stop-list li span{background:#31595d;color:#d7f3f1}
@media(max-width:390px){.gps-stop-list{grid-template-columns:1fr;max-height:180px}.gps-route-controls{align-items:stretch}.gps-route-controls select{flex:1}.gps-route-controls button{flex:1}}
.gps-route-dialog{max-height:calc(100dvh - 28px);overflow-y:auto}
.gps-route-large .gps-route-svg{aspect-ratio:20/27;max-height:none}
.gps-stop-leader{fill:none;stroke:#88adad;stroke-width:1;stroke-dasharray:2 2}
.gps-route-svg .gps-stop-label{font-size:10.5px;font-weight:700;fill:#284b55}
html[data-theme="dark"] .gps-stop-leader{stroke:#679594}html[data-theme="dark"] .gps-route-svg .gps-stop-label{fill:#d4eeec}
.gps-totals,.gps-service-totals{display:flex;align-items:center;gap:8px 15px;flex-wrap:wrap;width:100%;padding:10px 12px;border-radius:8px;background:#e4f3f0;color:#194e53;font-size:12px;font-variant-numeric:tabular-nums}
.gps-service-totals{margin-top:14px;background:#d7eeea;font-size:13px}.gps-totals strong,.gps-service-totals strong{font-weight:850}
.gps-trip-terminals{margin:8px 0;color:#3c5961;font-size:11px;font-weight:650;line-height:1.5}
.gps-turn{margin:8px 0;padding:8px 10px;border-left:3px solid #d89b47;background:#fff6e9;color:#654a25;font-size:12px}
.gps-turn.confirmed{border-color:#138c76;background:#e8f6f1;color:#16574d}
.gps-manual{width:100%;border-top:1px solid #c9e4e2;padding-top:10px}.gps-manual summary,.gps-terminal-editor summary{cursor:pointer;color:#007e85;font-size:12px;font-weight:750}
.gps-edit select{min-height:40px;max-width:220px;padding:6px;border:1px solid #aac7c7;border-radius:6px;background:#fff;color:#173d46}
.gps-manual-form{padding:11px 0}.gps-manual-form label{min-width:130px}
html[data-theme="dark"] .gps-totals,html[data-theme="dark"] .gps-service-totals{background:#275256;color:#ddf5f2}
html[data-theme="dark"] .gps-trip-terminals{color:#c8dfdf}html[data-theme="dark"] .gps-turn{background:#4b3c2b;color:#f7e7cd}html[data-theme="dark"] .gps-turn.confirmed{background:#244e45;color:#d9f2e9}
html[data-theme="dark"] .gps-edit select{background:#132d31;border-color:#547576;color:#eef8f7}
@media(max-width:390px){.gps-manual-form label,.gps-terminal-editor label{width:100%}.gps-edit select,.gps-manual-form input{max-width:none;width:100%}}
