@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
.manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.manual-item{border:1px solid #dfe6e0;background:#f8faf8;border-radius:9px;padding:18px}.manual-item h3{font-size:17px;line-height:1.5;margin:12px 0 8px}.manual-item .toolbar{margin-bottom:0}
:root{font-family:'DM Sans',sans-serif;color:#1c2924;background:#f3f5f4;font-size:16px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:246px;background:#17241f;color:#fff;position:fixed;inset:0 auto 0 0;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-family:Manrope,sans-serif;font-weight:800;font-size:19px}.mark{background:#edc653;color:#17241f;padding:9px 13px;border-radius:10px;font-size:22px}small{display:block;font-size:12px;font-weight:400;line-height:1.6;opacity:.7}.brand small{letter-spacing:1.6px;font-size:10px}nav{margin-top:48px;display:grid;gap:8px}nav button{background:none;border:0;text-align:left;color:#bcc8c1;padding:14px;border-radius:8px;font-size:15px;cursor:pointer}nav button.active{background:#304136;color:#f3d674}nav button:hover{background:#304136}.aside-bottom{margin-top:auto;border-top:1px solid #3b4840;padding-top:24px;font-size:14px}main{margin-left:246px;width:calc(100% - 246px);padding:0 40px 40px;max-width:1800px}header{display:flex;justify-content:space-between;gap:15px;align-items:center;height:82px;border-bottom:1px solid #dbe1dd;font-size:12px;letter-spacing:1px}.badge{background:#fff3c6;border:1px solid #ebd58a;border-radius:20px;padding:7px 12px;font-size:12px;letter-spacing:0}.notice{margin-top:18px;font-size:14px;line-height:1.6;color:#53675b}.heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0;gap:16px}h1{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-1px;margin:0}h2{font-family:Manrope,sans-serif;font-size:19px;margin:0 0 20px}p{color:#63746a;line-height:1.6}.heading p{margin:7px 0 0;font-size:15px}button,.button{font:inherit;border:1px solid #d4ddd6;background:white;color:#253c2e;border-radius:7px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-block;font-size:14px}button.primary{background:#edc653;color:#1d2b22;border-color:#edc653;font-weight:700}button:hover,.button:hover{filter:brightness(.96)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid #dfe6e0;border-radius:12px;padding:24px}.metric-label{font-size:14px;color:#66776d}.metric{font-family:Manrope,sans-serif;font-size:34px;font-weight:800;margin:10px 0}.metric-foot{color:#617468;font-size:13px}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:24px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tag{display:inline-block;border-radius:5px;background:#eef3ef;color:#46624e;font-size:12px;padding:5px 8px;margin:3px 4px 3px 0}.route-line{display:flex;justify-content:space-between;border-bottom:1px solid #edf0ee;padding:17px 0;gap:15px}.route-line:last-child{border:0}.bar{height:7px;background:#eef2ef;border-radius:20px;overflow:hidden;margin:9px 0}.bar span{display:block;height:100%;background:#cba843}.muted{color:#6b7b70;font-size:14px}.empty{padding:24px;background:#f5f7f5;border:1px dashed #c8d3ca;border-radius:8px;line-height:1.6;color:#586d5f}form{display:grid;gap:16px}label{display:grid;gap:7px;font-size:14px;color:#4b6253}input,select,textarea{width:100%;border:1px solid #cdd8cf;border-radius:7px;background:white;padding:11px;font:inherit;color:#243b2c;font-size:15px}textarea{min-height:90px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:#6e7e72;background:#f5f7f5}th,td{padding:14px;border-bottom:1px solid #e4eae5}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.toolbar select,.toolbar input{width:auto}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{text-align:center;font-size:12px;padding:10px;color:#6e7e72}.day{background:#fff;border:1px solid #dce4de;min-height:108px;border-radius:8px;text-align:left;vertical-align:top;padding:10px;display:block}.day b{font-size:14px}.day span{display:block;font-size:12px;margin-top:7px;color:#5e715f;line-height:1.4}.day.selected{border:2px solid #ba9435;background:#fffae7}.calendar-section{display:grid;grid-template-columns:1fr 310px;gap:20px}.appointment{margin-bottom:15px}.appointment-head{display:flex;justify-content:space-between;gap:15px}.message{white-space:pre-wrap;background:#f5f7f5;padding:18px;border-radius:8px;line-height:1.6;margin:15px 0}#toast{position:fixed;bottom:24px;right:24px;background:#17241f;color:white;padding:14px 20px;border-radius:8px;display:none;max-width:360px}.training-item{border-top:1px solid #e5ebe6;padding:16px 0}.file-preview{max-width:100%;max-height:400px;object-fit:contain}a{color:#385d42}button:focus-visible,a:focus-visible{outline:3px solid #b59136;outline-offset:3px}@media(max-width:1100px){main{padding:0 24px 30px}.grid{grid-template-columns:repeat(2,1fr)}.split,.calendar-section{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.calendar{gap:4px}.day{padding:7px;min-height:88px}}@media(max-width:700px){body{display:block}aside{position:static;width:100%;padding:18px}.brand small,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:20px;gap:4px}nav button{white-space:nowrap;padding:9px;font-size:14px}main{margin:0;width:100%;padding:0 16px 30px}header{height:66px;letter-spacing:0}.badge{font-size:11px}.heading{align-items:flex-start;flex-direction:column}h1{font-size:28px}.card{padding:18px}.fields{grid-template-columns:1fr}.day{min-height:72px;padding:5px}.day span{font-size:10px}.weekday{font-size:11px}.metric{font-size:28px}.grid{gap:10px}.notice{font-size:13px}}

.route-filters label{display:flex;align-items:center;gap:8px;background:white;border:1px solid #d4ddd6;padding:10px;border-radius:7px}.route-filters input{width:18px;height:18px;margin:0}

.route-stop{margin-bottom:24px}.stop-heading{background:#fff;border:1px solid #dfe6e0;border-radius:10px;padding:22px;height:auto;letter-spacing:0;align-items:flex-start;font-size:14px}.stop-heading h2{margin:0 0 10px}.stop-time{text-align:right;white-space:nowrap;font-size:14px;line-height:1.8}.client-at-stop{background:#fff;border:1px solid #dfe6e0;border-radius:10px;padding:20px;margin-top:12px}.client-at-stop h3{font-size:18px;margin:0}.client-note{background:#f3f5f4;padding:12px;border-radius:6px;font-size:14px}.contact-actions{margin-bottom:12px}.contact-actions .button:first-child{background:#edc653;border-color:#edc653}.client-at-stop summary{cursor:pointer;font-size:14px;color:#536b5d}@media(max-width:700px){.stop-heading{flex-direction:column}.stop-time{text-align:left}}

.print-title{display:none}
@page{size:A4 landscape;margin:10mm}
@media print{body{display:block;background:white;color:black;font-family:Arial,sans-serif}main{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}header,.heading,.toolbar,.muted,.calendar-section>.card,#toast{display:none!important}.print-title{display:block;margin-bottom:12px}.print-title h1{font-size:20px}.print-title p{font-size:11px;margin:5px 0}.calendar-section{display:block}.calendar{gap:3px}.weekday{padding:4px}.day{min-height:65px;border:1px solid #aaa!important;border-radius:0;background:white!important;padding:5px;break-inside:avoid}.day span{font-size:9px;color:black;margin-top:4px}.day b{font-size:11px}}
