:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#272431;background:#f6f5f3;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:245px;background:#fff;border-right:1px solid #e7e3eb;padding:30px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:750;letter-spacing:-.7px}.mark{background:#7450b5;color:white;border-radius:11px;padding:8px 12px;font-size:24px}.tag{font-size:9px;letter-spacing:1.4px;line-height:1.8;color:#827888;margin:20px 0 38px}nav{display:grid;gap:9px}button{cursor:pointer;border:1px solid #ded9e6;background:#fff;border-radius:9px;padding:10px 14px;font:inherit;color:inherit;transition:background .15s}button:hover{background:#efebf7}button:disabled{opacity:.45;cursor:default}nav button{text-align:left;border:0;background:transparent;font-size:13px}nav button.active{background:#eee8f7;color:#6d47aa;font-weight:650}.aside-bottom{margin-top:auto;color:#7e7688;line-height:2}.aside-bottom button{margin-top:18px}main{margin-left:245px;padding:0 40px 50px;max-width:1550px}header{height:76px;border-bottom:1px solid #e5e1e8;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:#756c7d}.pill{background:#eaf3ef;color:#38715c;border-radius:20px;padding:8px 12px;letter-spacing:0}.eyebrow{font-size:10px;letter-spacing:2px;color:#7956aa;margin:30px 0 12px}h1{font-size:34px;letter-spacing:-1.3px;margin:0 0 10px;font-weight:650}p{color:#7a7280;line-height:1.7}h2{font-size:17px;font-weight:650;letter-spacing:-.3px;margin:0 0 20px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stat{background:white;border:1px solid #e8e3eb;border-radius:13px;padding:20px}.stat strong{display:block;font-size:30px;margin-bottom:6px}.stat span{color:#857b8e;font-size:12px}.card{background:#fff;border:1px solid #e5e0e9;border-radius:14px;padding:24px;margin:0 0 20px}.columns{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}label{display:grid;gap:7px;font-size:11px;font-weight:600;color:#6d6376;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #dfd9e5;background:#fdfcfe;border-radius:7px;padding:10px;color:#302a38;font:inherit;font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid #b79bdc;outline-offset:1px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.primary{background:#7551ae;color:white;border-color:#7551ae}.primary:hover{background:#65429b}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}small{display:block;color:#8b8094;font-size:11px;line-height:1.6;margin:0 0 12px}.notice{background:#f0ebf6;border:1px solid #e0d5ed;border-radius:10px;padding:13px 17px;color:#79638b;font-size:12px;line-height:1.6;margin:0 0 22px}.empty{padding:45px 10px;text-align:center}.empty span{font-size:50px;color:#b29bcf}.empty h2{margin-top:20px}.empty p{font-size:13px}.narrow{max-width:450px;margin-top:30px}#message:not(:empty){padding:13px 18px;background:#fff1d9;border-radius:8px;margin-top:15px;color:#77501b}fieldset{border:0;padding:0;margin:5px 0 16px}legend{font-size:11px;color:#6d6376;margin-bottom:10px}.weekdays{display:flex;gap:13px}.weekdays label{margin:0}.weekdays input{accent-color:#7551ae}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8b8094;font-weight:500}td,th{padding:13px 8px;border-bottom:1px solid #eee9f1}td small{margin:5px 0 0}.day{border-top:1px solid #eae4ef;padding:20px 0}.day h3{font-size:15px;margin:0 0 5px}.stop{display:grid;grid-template-columns:85px 1fr auto;gap:10px;margin:15px 0;align-items:center}.stop time{color:#7653a7;font-weight:650;font-size:12px}.stop p{margin:3px 0;font-size:12px}.stop a{color:#7653a7;text-decoration:none;font-size:12px}.saved-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.saved-row button:first-child{flex:1;text-align:left}.file{margin:0}.file input{max-width:250px}.route-summary{font-size:12px;color:#83778d}[hidden]{display:none!important}@media(max-width:1050px){aside{width:200px;padding:25px 15px}main{margin-left:200px;padding:0 22px}.columns{grid-template-columns:1fr}.brand{font-size:17px}}@media(max-width:650px){aside{position:static;width:auto;padding:16px}.tag,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;font-size:11px}main{margin-left:0;padding:0 16px 30px}header{height:55px}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:23px}h1{font-size:28px}.form-grid{grid-template-columns:1fr}.card{padding:18px}.stop{grid-template-columns:70px 1fr}.stop a{grid-column:2}}@media print{aside,header,#message,#settings,.notice,#stats,#saved,#save,.actions,button{display:none!important}main{margin:0;padding:0}.columns{display:block}.card{border:0;padding:0}.day{break-inside:avoid}a{display:none}.eyebrow{margin-top:0}#planning>.title-row{display:none}}

.full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:10px}.check-label input,input.pick-account{width:18px;height:18px;accent-color:#7551ae}.address-choice{display:flex;gap:12px;margin:8px 0;align-items:center}.address-choice input{width:auto}.address-results{margin-top:12px}.excluded-account{opacity:.65}#selection-count,#manual-count{font-size:12px;color:#7653a7}.account-observations{max-width:320px;white-space:pre-wrap}button[data-remove-account]{font-size:11px}.suggestions-list{padding:10px;border:1px solid #e5e0e9;border-radius:8px}

.stop button[data-remove-account]{grid-column:2/-1;justify-self:start}
.language-switch{display:inline-flex;gap:3px;align-items:center;background:#f2eef7;padding:3px;border-radius:8px}.language-switch button{padding:5px 9px;border:0;background:transparent;font-size:12px}.language-switch button[aria-pressed=true]{background:white;color:#69439d;box-shadow:0 1px 5px #ddd3e8}a{color:#6e47a5}header a{font-size:12px;letter-spacing:0}dialog{border:1px solid #ddd4e8;border-radius:16px;padding:28px;max-width:480px;width:calc(100% - 32px);box-shadow:0 25px 100px #27243133}dialog::backdrop{background:#20162b66}dialog p{font-size:12px}.event-row{padding:14px 0;border-bottom:1px solid #eee}.event-row p{margin:5px 0}.landing-page{background:#f9f8f6}.landing-page .home-nav{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:25px 6%;background:white;border-bottom:1px solid #ede8f1;gap:25px}.landing-page .brand{color:#29222f;text-decoration:none}.home-links{display:flex;align-items:center;gap:28px}.home-links>a{color:#6d6475;text-decoration:none;font-size:13px}.button{display:inline-block;padding:13px 19px;border-radius:9px;border:1px solid #ddd4e7;text-decoration:none;color:#5e476f;font-size:13px;font-weight:600}.button.primary{color:white}.landing-page .home-main{margin:0 auto;padding:0;max-width:1280px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:75px;align-items:center;padding:72px 40px 80px}.hero h1{font-size:52px;line-height:1.13;letter-spacing:-2px;margin:20px 0 25px}.hero .eyebrow{margin:0}.hero-lead{font-size:17px;line-height:1.8;max-width:560px}.hero .actions{margin-top:28px}.hero-note{font-size:12px;margin-top:22px}.route-preview{background:#fff;border:1px solid #e4ddeb;padding:28px 32px;border-radius:20px;box-shadow:0 18px 70px #62447912;transform:rotate(1deg)}.preview-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#8c7a9c;margin-bottom:23px}.preview-dot{color:#79a58c}.route-preview h2{font-size:23px;letter-spacing:-.8px}.preview-timeline>div{display:grid;grid-template-columns:45px 12px 1fr;gap:14px;align-items:center;position:relative;min-height:83px}.preview-timeline time{font-size:12px;color:#9378ad}.timeline-dot{width:10px;height:10px;border:2px solid #9776bd;border-radius:50%;background:white;z-index:1}.preview-timeline>div:not(:last-child):after{content:'';position:absolute;left:63px;top:46px;height:73px;width:1px;background:#e9e0f3}.preview-timeline p{margin:0;font-size:13px;color:#3e324a}.preview-timeline small{margin:4px 0 0;font-size:11px}.preview-footer{margin-top:18px;padding:15px;background:#f3eff8;color:#8661aa;border-radius:9px;text-align:center;font-size:12px}.home-section{padding:45px 40px 60px;scroll-margin-top:25px}.home-section>h2,.how-section h2{font-size:32px;letter-spacing:-1px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.feature-grid article{padding:28px;background:white;border:1px solid #e7e1eb;border-radius:14px}.feature-number{font-size:12px;color:#9676b7}.feature-grid h3{font-size:18px;margin-top:25px}.feature-grid p{font-size:14px}.how-section{display:grid;grid-template-columns:1fr 1fr;background:#eee9f4;border-radius:20px;margin:15px 40px 55px;padding:40px}.how-section ol{padding-left:24px;margin:0}.how-section li{padding:12px 0 12px 12px;color:#78529f}.how-section li b{color:#393040}.how-section li p{margin:7px 0;font-size:13px}.home-callout{text-align:center;padding:30px 40px 65px}.home-callout h2{font-size:32px;letter-spacing:-1px}.home-callout p{font-size:12px;margin-top:22px}.home-footer{border-top:1px solid #e3dde8;padding:25px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8d7f97}.home-footer a{text-decoration:none}@media(max-width:900px){.hero{gap:30px;padding:45px 28px}.hero h1{font-size:40px}.home-links{gap:12px}.home-links>a[href^='#']{display:none}.feature-grid{grid-template-columns:1fr}.how-section{grid-template-columns:1fr}.home-section{padding:30px}.route-preview{padding:22px}}@media(max-width:650px){.hero{grid-template-columns:1fr}.hero h1{font-size:39px}.home-section>h2,.how-section h2{font-size:27px}.how-section{margin:10px 20px 30px}.home-footer{flex-wrap:wrap}.home-links{gap:8px}.landing-page .home-nav{padding:18px}.home-links>.button{padding:9px}.route-preview{transform:none}.home-callout{padding:30px 25px}}
.stop-actions{grid-column:2/-1;display:flex;gap:8px;flex-wrap:wrap}.stop-actions button{font-size:11px}.language-switch{letter-spacing:0}#client-form:not([hidden]){margin-top:24px}
.calendar{overflow:auto;padding:0}.time-calendar{display:flex;max-height:760px}.calendar-day{flex:1;min-width:150px;border-right:1px solid #e2e3ed}.calendar-heading{display:block;width:100%;border:0;border-radius:0;font-weight:700;background:#f4f3fa;padding:12px}.is-today>.calendar-heading{background:#6a48cc;color:white}.calendar-day>small{display:block;padding:4px 9px;font-size:11px;min-height:35px}.hour-grid{position:relative;height:1920px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 79px,#eceaf3 79px,#eceaf3 80px)}.hour-line{position:absolute;left:3px;color:#999;font-size:10px}.calendar-event{position:absolute;left:30px;right:3px;overflow:hidden;text-align:left;border:0;border-left:3px solid #7254c4;background:#eee8ff;color:#382665;padding:3px;font-size:11px;border-radius:4px;min-height:18px}.calendar-event small{display:block;font-size:10px}.kind-travel{background:#e8f1f8;border-color:#648cab;color:#254763}.kind-lunch{background:#fff0d6;border-color:#d69d42;color:#72531f}.kind-departure,.kind-return{background:#e3f3e9;border-color:#619777;z-index:2}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr))}.month-calendar .calendar-day{min-height:180px;border-bottom:1px solid #ddd}.month-events .calendar-event{position:static;display:block;width:95%;height:auto;margin:3px;font-size:11px}.month-events small{display:none}#locations fieldset{margin-bottom:20px}#day-dialog{max-width:650px}#profile-form{max-width:950px}
.hour-grid .slot-0{top:0px}
.hour-grid .slot-1{top:20px}
.hour-grid .slot-2{top:40px}
.hour-grid .slot-3{top:60px}
.hour-grid .slot-4{top:80px}
.hour-grid .slot-5{top:100px}
.hour-grid .slot-6{top:120px}
.hour-grid .slot-7{top:140px}
.hour-grid .slot-8{top:160px}
.hour-grid .slot-9{top:180px}
.hour-grid .slot-10{top:200px}
.hour-grid .slot-11{top:220px}
.hour-grid .slot-12{top:240px}
.hour-grid .slot-13{top:260px}
.hour-grid .slot-14{top:280px}
.hour-grid .slot-15{top:300px}
.hour-grid .slot-16{top:320px}
.hour-grid .slot-17{top:340px}
.hour-grid .slot-18{top:360px}
.hour-grid .slot-19{top:380px}
.hour-grid .slot-20{top:400px}
.hour-grid .slot-21{top:420px}
.hour-grid .slot-22{top:440px}
.hour-grid .slot-23{top:460px}
.hour-grid .slot-24{top:480px}
.hour-grid .slot-25{top:500px}
.hour-grid .slot-26{top:520px}
.hour-grid .slot-27{top:540px}
.hour-grid .slot-28{top:560px}
.hour-grid .slot-29{top:580px}
.hour-grid .slot-30{top:600px}
.hour-grid .slot-31{top:620px}
.hour-grid .slot-32{top:640px}
.hour-grid .slot-33{top:660px}
.hour-grid .slot-34{top:680px}
.hour-grid .slot-35{top:700px}
.hour-grid .slot-36{top:720px}
.hour-grid .slot-37{top:740px}
.hour-grid .slot-38{top:760px}
.hour-grid .slot-39{top:780px}
.hour-grid .slot-40{top:800px}
.hour-grid .slot-41{top:820px}
.hour-grid .slot-42{top:840px}
.hour-grid .slot-43{top:860px}
.hour-grid .slot-44{top:880px}
.hour-grid .slot-45{top:900px}
.hour-grid .slot-46{top:920px}
.hour-grid .slot-47{top:940px}
.hour-grid .slot-48{top:960px}
.hour-grid .slot-49{top:980px}
.hour-grid .slot-50{top:1000px}
.hour-grid .slot-51{top:1020px}
.hour-grid .slot-52{top:1040px}
.hour-grid .slot-53{top:1060px}
.hour-grid .slot-54{top:1080px}
.hour-grid .slot-55{top:1100px}
.hour-grid .slot-56{top:1120px}
.hour-grid .slot-57{top:1140px}
.hour-grid .slot-58{top:1160px}
.hour-grid .slot-59{top:1180px}
.hour-grid .slot-60{top:1200px}
.hour-grid .slot-61{top:1220px}
.hour-grid .slot-62{top:1240px}
.hour-grid .slot-63{top:1260px}
.hour-grid .slot-64{top:1280px}
.hour-grid .slot-65{top:1300px}
.hour-grid .slot-66{top:1320px}
.hour-grid .slot-67{top:1340px}
.hour-grid .slot-68{top:1360px}
.hour-grid .slot-69{top:1380px}
.hour-grid .slot-70{top:1400px}
.hour-grid .slot-71{top:1420px}
.hour-grid .slot-72{top:1440px}
.hour-grid .slot-73{top:1460px}
.hour-grid .slot-74{top:1480px}
.hour-grid .slot-75{top:1500px}
.hour-grid .slot-76{top:1520px}
.hour-grid .slot-77{top:1540px}
.hour-grid .slot-78{top:1560px}
.hour-grid .slot-79{top:1580px}
.hour-grid .slot-80{top:1600px}
.hour-grid .slot-81{top:1620px}
.hour-grid .slot-82{top:1640px}
.hour-grid .slot-83{top:1660px}
.hour-grid .slot-84{top:1680px}
.hour-grid .slot-85{top:1700px}
.hour-grid .slot-86{top:1720px}
.hour-grid .slot-87{top:1740px}
.hour-grid .slot-88{top:1760px}
.hour-grid .slot-89{top:1780px}
.hour-grid .slot-90{top:1800px}
.hour-grid .slot-91{top:1820px}
.hour-grid .slot-92{top:1840px}
.hour-grid .slot-93{top:1860px}
.hour-grid .slot-94{top:1880px}
.hour-grid .slot-95{top:1900px}
.hour-grid .slot-96{top:1920px}
.hour-grid .span-1{height:18px}
.hour-grid .span-2{height:38px}
.hour-grid .span-3{height:58px}
.hour-grid .span-4{height:78px}
.hour-grid .span-5{height:98px}
.hour-grid .span-6{height:118px}
.hour-grid .span-7{height:138px}
.hour-grid .span-8{height:158px}
.hour-grid .span-9{height:178px}
.hour-grid .span-10{height:198px}
.hour-grid .span-11{height:218px}
.hour-grid .span-12{height:238px}
.hour-grid .span-13{height:258px}
.hour-grid .span-14{height:278px}
.hour-grid .span-15{height:298px}
.hour-grid .span-16{height:318px}
.hour-grid .span-17{height:338px}
.hour-grid .span-18{height:358px}
.hour-grid .span-19{height:378px}
.hour-grid .span-20{height:398px}
.hour-grid .span-21{height:418px}
.hour-grid .span-22{height:438px}
.hour-grid .span-23{height:458px}
.hour-grid .span-24{height:478px}
.hour-grid .span-25{height:498px}
.hour-grid .span-26{height:518px}
.hour-grid .span-27{height:538px}
.hour-grid .span-28{height:558px}
.hour-grid .span-29{height:578px}
.hour-grid .span-30{height:598px}
.hour-grid .span-31{height:618px}
.hour-grid .span-32{height:638px}
.hour-grid .span-33{height:658px}
.hour-grid .span-34{height:678px}
.hour-grid .span-35{height:698px}
.hour-grid .span-36{height:718px}
.hour-grid .span-37{height:738px}
.hour-grid .span-38{height:758px}
.hour-grid .span-39{height:778px}
.hour-grid .span-40{height:798px}
.hour-grid .span-41{height:818px}
.hour-grid .span-42{height:838px}
.hour-grid .span-43{height:858px}
.hour-grid .span-44{height:878px}
.hour-grid .span-45{height:898px}
.hour-grid .span-46{height:918px}
.hour-grid .span-47{height:938px}
.hour-grid .span-48{height:958px}
.hour-grid .span-49{height:978px}
.hour-grid .span-50{height:998px}
.hour-grid .span-51{height:1018px}
.hour-grid .span-52{height:1038px}
.hour-grid .span-53{height:1058px}
.hour-grid .span-54{height:1078px}
.hour-grid .span-55{height:1098px}
.hour-grid .span-56{height:1118px}
.hour-grid .span-57{height:1138px}
.hour-grid .span-58{height:1158px}
.hour-grid .span-59{height:1178px}
.hour-grid .span-60{height:1198px}
.hour-grid .span-61{height:1218px}
.hour-grid .span-62{height:1238px}
.hour-grid .span-63{height:1258px}
.hour-grid .span-64{height:1278px}
.hour-grid .span-65{height:1298px}
.hour-grid .span-66{height:1318px}
.hour-grid .span-67{height:1338px}
.hour-grid .span-68{height:1358px}
.hour-grid .span-69{height:1378px}
.hour-grid .span-70{height:1398px}
.hour-grid .span-71{height:1418px}
.hour-grid .span-72{height:1438px}
.hour-grid .span-73{height:1458px}
.hour-grid .span-74{height:1478px}
.hour-grid .span-75{height:1498px}
.hour-grid .span-76{height:1518px}
.hour-grid .span-77{height:1538px}
.hour-grid .span-78{height:1558px}
.hour-grid .span-79{height:1578px}
.hour-grid .span-80{height:1598px}
.hour-grid .span-81{height:1618px}
.hour-grid .span-82{height:1638px}
.hour-grid .span-83{height:1658px}
.hour-grid .span-84{height:1678px}
.hour-grid .span-85{height:1698px}
.hour-grid .span-86{height:1718px}
.hour-grid .span-87{height:1738px}
.hour-grid .span-88{height:1758px}
.hour-grid .span-89{height:1778px}
.hour-grid .span-90{height:1798px}
.hour-grid .span-91{height:1818px}
.hour-grid .span-92{height:1838px}
.hour-grid .span-93{height:1858px}
.hour-grid .span-94{height:1878px}
.hour-grid .span-95{height:1898px}
.hour-grid .span-96{height:1918px}
.time-calendar .calendar-heading{position:sticky;top:0;z-index:4}.calendar-event:focus{z-index:5;overflow:visible;outline:2px solid #6046ae}.calendar-event:hover{z-index:5}.kind-departure,.kind-return{left:3px;font-size:9px;right:auto;max-width:65px;opacity:.85}input[readonly]{background:#f4f3f8;color:#666}
#agenda>.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}#cal-mode{width:130px;margin:0}#cal-date{width:165px;margin:0}.time-calendar .calendar-day{min-width:125px}.time-calendar{max-height:650px}#agenda h2{margin-top:20px;margin-bottom:14px}.calendar-event.kind-travel{font-size:10px;background:#e8f1f8cc}.calendar-event.kind-departure,.calendar-event.kind-return{max-width:30px}#calendar-empty:empty{display:none}
.month-calendar .calendar-day>small{display:none}.month-calendar .calendar-day{min-height:125px}.month-calendar .calendar-heading{font-size:12px;padding:8px 3px}.month-calendar .calendar-event{font-size:10px;padding:3px}.month-calendar .kind-travel,.month-calendar .kind-departure,.month-calendar .kind-return{display:none}.month-calendar{grid-template-columns:repeat(7,minmax(110px,1fr))}
.time-calendar .calendar-day{align-self:flex-start}.hour-grid .calendar-event{min-height:2px}.hour-grid .kind-travel{left:30px;right:3px;width:auto;padding:2px 3px;border-width:2px}.hour-grid .kind-travel:focus,.hour-grid .kind-travel:hover{height:auto;min-height:25px;z-index:5}.kind-travel .travel-summary{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hour-grid .kind-departure,.hour-grid .kind-return{min-height:12px;padding:0}
.blocked-day{background:#f1f2f5}.blocked-day .hour-grid{background:repeating-linear-gradient(135deg,#f6f6f8 0,#f6f6f8 8px,#eeeff3 8px,#eeeff3 10px)}.day-kind{font-weight:700;color:#6e5589}#profile-defaults [data-day-kind]{display:none}#transfer-actions{border-top:1px solid #ddd;margin-top:12px}#about img{max-width:100%;height:auto}#billing-profile{margin-bottom:15px}#leave-list button{font-size:12px}#week-policy{margin:24px 0}

.time-calendar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);grid-template-rows:auto auto;align-items:start}.time-calendar>.calendar-day{display:grid;grid-template-rows:subgrid;grid-row:span 2;min-width:0}.calendar-day-header>small{display:block;padding:4px 9px;font-size:11px}.calendar-day-header{background:#faf9fd}.is-today>.calendar-day-header>.calendar-heading{background:#6a48cc;color:white}.hour-grid{overflow:hidden;background:none}.hour-line{right:0;border-top:1px solid #eceaf3}.calendar-day-header .calendar-heading{min-height:44px}.hour-grid .calendar-event{box-sizing:border-box}
.calendar-day-header>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:22px;line-height:14px;padding:4px 6px}

.calendar-month-banner{background:#ede7fa;border-left:5px solid #7254c4;padding:16px 22px;border-radius:12px;margin:18px 0}.calendar-month-banner h2{margin:0;text-transform:capitalize;font-size:28px}.calendar-month-banner p{margin:6px 0 0;font-size:16px}.calendar-heading{white-space:normal;overflow:visible}.calendar-weekday,.calendar-day-month{display:block;font-size:11px;font-weight:500}.calendar-date-number{display:block;font-size:25px;line-height:1.25}.scrolling-weeks{grid-auto-columns:minmax(150px,calc(100% / 7));overscroll-behavior-x:contain;scrollbar-width:auto}.scrolling-weeks::-webkit-scrollbar{height:14px;width:10px}.scrolling-weeks::-webkit-scrollbar-thumb{background:#aa98d1;border:3px solid #f5f2fa;border-radius:8px}.scrolling-weeks::-webkit-scrollbar-track{background:#f5f2fa}#agenda-export{display:flex;flex-wrap:wrap;gap:14px;align-items:end}#agenda-export h3{flex-basis:100%;margin:0}#agenda-export .pair{flex:1;min-width:260px}#week-scroll-help{color:#665b78;font-size:13px}

.appointment-legend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.status-chip{padding:5px 9px;border-radius:6px;border-left:4px solid}.status-proposed{background:#f0ebfb;border-color:#9578c6;color:#4e3874}.status-planned{background:#e2effc;border-color:#4887bd;color:#234c73}.status-confirmed{background:#ddf1e4;border-color:#24804c;color:#205637}.status-done{background:#dcf0ef;border-color:#147d78;color:#175450}.status-absent{background:#fff0d7;border-color:#ca801a;color:#744808}.status-cancelled{background:#eeeef1;border-color:#83838e;color:#595966;text-decoration:line-through}.calendar-event.status-confirmed,.calendar-event.status-done{font-weight:600}#appointment-dialog{max-width:620px}#appointment-dialog .actions{flex-wrap:wrap}
.calendar-day{overflow:hidden}.calendar-day-header,.hour-grid,.month-events{min-width:0;max-width:100%;width:100%}.calendar-heading{max-width:100%}.calendar-event{min-width:0;max-width:calc(100% - 33px)}
/* Clip each day horizontally without creating a nested scroll container. */
.time-calendar>.calendar-day{overflow:clip}
.time-calendar .calendar-day-header{position:sticky;top:0;z-index:5;align-self:start;box-shadow:0 1px 0 #ded9e8}

.address-dropdown{display:block;width:100%;max-width:100%;margin:12px 0;border-radius:12px;padding:8px}.address-dropdown option{padding:10px;white-space:normal}.documentation-link{text-align:center;padding:24px}

header .user-avatar{margin-left:auto;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#eee9ff;color:#6845c9;font-weight:750;letter-spacing:.03em}.user-avatar:focus-visible{outline:3px solid #6845c9;outline-offset:3px}.user-avatar[hidden]{display:none}

/* Mobile shell: compact identity, explicit navigation, comfortable touch controls. */
#mobile-menu{display:none}
@media(max-width:650px){
 :root{font-size:15px}
 body:not(.landing-page) aside{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;border-right:0;border-bottom:1px solid #e7e3eb}
 aside .brand{font-size:19px;letter-spacing:-.6px}aside .mark{font-size:21px;padding:7px 11px;border-radius:10px}
 body:not(.is-authenticated) #app-navigation{display:none}
 .is-authenticated #mobile-menu{display:block;margin-left:auto;min-height:44px}
 #app-navigation{display:none;width:100%;margin:0;overflow:visible;grid-template-columns:1fr 1fr;gap:6px}
 .is-authenticated.mobile-menu-open #app-navigation{display:grid}
 #app-navigation button{white-space:normal;min-height:46px;font-size:13px;padding:10px 12px;border-radius:10px;background:#f7f5fa}
 main{min-width:0;padding:0 16px 32px}
 main>header{height:auto;min-height:62px;gap:12px;justify-content:flex-start;flex-wrap:wrap;letter-spacing:0}
 main>header>span{display:none}
 main>header .language-switch{margin-left:auto;flex-shrink:0}
 main>header .language-switch button{min-height:40px;min-width:40px}
 main>header .user-avatar{margin-left:0}
 #auth{max-width:460px;margin:0 auto}#auth .eyebrow{margin:24px 0 10px}
 #auth h1{font-size:clamp(27px,7.4vw,34px);line-height:1.15;letter-spacing:-1px}
 #auth>p:not(.eyebrow){font-size:14px;line-height:1.55;margin:14px 0 22px}
 #auth .narrow{margin-top:0;max-width:none}#login h2{font-size:19px;margin-bottom:20px}
 #login>p{font-size:12px;line-height:1.5}#login .actions{display:grid;grid-template-columns:1fr;width:100%}
 #login .actions button{width:100%;min-height:46px}
 .card{padding:18px;border-radius:14px}.form-grid,.pair{min-width:0}label{font-size:12px}
 input,select,textarea{font-size:16px;min-height:44px;min-width:0;max-width:100%}
 input[type=checkbox],input[type=radio]{min-height:0}button{min-height:42px}
 .form-grid>*{min-width:0}.actions{gap:8px}.actions>*{max-width:100%}
 .table-wrap{padding:8px;max-width:100%;overscroll-behavior-x:contain}table{min-width:580px}
 dialog{padding:20px;max-height:calc(100dvh - 24px);overflow:auto}
 .address-dropdown{font-size:14px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat span{font-size:11px}
 .calendar{max-width:100%}.time-calendar{max-height:65dvh}
 .is-authenticated .aside-bottom{display:block;width:100%;margin:0;font-size:0;line-height:0}
 .is-authenticated .aside-bottom small{display:none}.is-authenticated .aside-bottom button{display:none;margin:0}
 .is-authenticated.mobile-menu-open .aside-bottom button{display:block;font-size:13px;line-height:1.4;width:100%}
 .landing-page .home-nav{flex-wrap:wrap;gap:12px}.home-links{flex-wrap:wrap}.hero{padding:30px 18px;gap:24px}.hero h1{font-size:34px}.hero-lead{font-size:15px}
}
@media(max-width:420px){.pair{grid-template-columns:1fr}.stat{padding:10px}.stat strong{font-size:21px}}
.backup-choice{display:flex;align-items:center;gap:12px;margin:12px 0}.backup-choice input,#backup-confirm{width:auto;min-height:22px}#backup-dialog{max-width:680px;width:calc(100% - 24px)}#backup-feedback{overflow-wrap:anywhere}

/* Workspace header: separated navigation and account controls. */
.workspace-header{height:auto;min-height:88px;gap:20px;flex-wrap:wrap;padding:18px 0;margin-bottom:20px;letter-spacing:0}
.workspace-heading,.workspace-tools{display:flex;align-items:center;gap:16px;min-width:0}
.workspace-heading{flex:1 1 250px}.workspace-tools{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-left:auto}
.workspace-home{display:inline-flex;align-items:center;gap:8px;padding:10px 0;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.workspace-home:hover{text-decoration:underline;text-underline-offset:4px}.workspace-home:focus-visible{outline:2px solid #9a7dca;outline-offset:4px;border-radius:4px}
.workspace-divider{width:1px;height:22px;background:#ddd6e5;flex-shrink:0}.workspace-label{font-size:11px;line-height:1.5;letter-spacing:1.4px;font-weight:600}
.workspace-header .language-switch{margin-left:0;flex-shrink:0;border:1px solid #e9e3f0;padding:4px;border-radius:12px}
.workspace-header .language-switch button{min-width:40px;min-height:36px;padding:7px 10px;font-size:13px;border-radius:8px}
.workspace-privacy{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;line-height:1.4;padding:10px 13px;white-space:nowrap}
.privacy-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.workspace-header .user-avatar{margin:0;flex-shrink:0}
@media(max-width:760px){.workspace-header{gap:10px;min-height:0;padding:14px 0}.workspace-heading{flex-basis:100%;gap:12px}.workspace-tools{width:100%;justify-content:flex-start;margin:0;gap:10px}.workspace-tools .user-avatar{margin-left:auto}.workspace-label{font-size:10px;letter-spacing:1px}.workspace-privacy{font-size:11px;padding:9px 11px}.workspace-header .language-switch button{min-height:40px}}
@media(max-width:360px){.workspace-tools{gap:8px}.workspace-privacy{white-space:normal;max-width:145px}.workspace-label{letter-spacing:.5px}}

.profile-save-bar{position:sticky;top:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;background:#fff;border-bottom:1px solid #e2dfeb;margin-bottom:16px}.profile-save-bar span{font-size:13px;color:#6a537d}#unsaved-profile-dialog{max-width:520px}#unsaved-profile-dialog .actions{display:flex;flex-wrap:wrap;gap:10px}

/* Compact portfolio: aligned controls, responsive filters and denser rows. */
#clients > .account-tools,#clients > .account-filter-card{padding:16px 20px;margin-bottom:14px}
#clients .account-tools .actions{display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:end;gap:16px}
#clients .account-tools .file{min-width:0;margin:0;gap:5px}
#clients .account-tools button,#clients .account-tools input{min-height:40px;margin:0}
#clients .account-tools input[type=file]{padding:7px 10px;width:100%;font-size:13px;min-width:0}
#clients .account-tools input::file-selector-button{border:0;border-radius:5px;background:#eee9f5;color:#49395e;padding:5px 9px;margin-right:8px;cursor:pointer}
#clients .account-tools > small{margin:8px 0 0;line-height:1.45}
#clients .account-filter-card{position:relative}
#clients #toggle-account-filters{float:right;margin:0 0 8px 16px;padding:7px 11px;font-size:12px;min-height:36px}
#clients #account-filters h2{margin:5px 0 16px;font-size:16px;min-height:31px;display:flex;align-items:center}
#clients #account-filters .form-grid{clear:both;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
#clients #account-filters label{margin:0;gap:5px;min-width:0}
#clients #account-filters label:has(#account-filter){grid-column:1 / span 2;grid-row:1}
#clients #account-filters input,#clients #account-filters select{min-height:38px;padding:8px 10px}
#clients #account-filters .actions{margin-top:14px;gap:8px}
#clients #account-filters .actions button{padding:8px 12px;min-height:38px;font-size:12px}
#clients #plan-selection{margin-left:auto}
#clients #selection-count{clear:both;margin:10px 0 0;font-size:12px;line-height:1.5}
#clients .account-table{padding:0 12px;margin-bottom:14px}
#clients .account-table th{padding:11px 8px;background:#faf8fd;white-space:nowrap;font-size:11px}
#clients .account-table td{padding:10px 8px;vertical-align:middle;line-height:1.4}
#clients .account-table td small{margin:3px 0 0;line-height:1.4}
#clients .account-table td small:empty{display:none}
#clients .account-table td:nth-child(2){width:48%;min-width:230px;overflow-wrap:anywhere}
#clients .account-table td:first-child{width:64px;text-align:center}
#clients .account-table td:last-child{text-align:right}
#clients .account-table td button{padding:7px 11px;min-height:36px}
#clients .account-table tr:last-child td{border-bottom:0}
@media(max-width:1100px){
 #clients #account-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 #clients > .account-tools,#clients > .account-filter-card{padding:14px}
 #clients .account-tools .actions{grid-template-columns:1fr 1fr;gap:12px}
 #clients .account-tools .file{grid-column:1/-1;grid-row:2}
 #clients .account-tools button{min-height:44px}
 #clients #account-filters .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #clients #account-filters .actions{display:grid;grid-template-columns:1fr 1fr}
 #clients #account-filters .actions button{min-height:44px}
 #clients #plan-selection{grid-column:1/-1;margin-left:0}
 #clients .account-table{padding:0 6px}
}
@media(max-width:420px){
 #clients #account-filters .form-grid{grid-template-columns:1fr}
 #clients #account-filters label:has(#account-filter){grid-column:1;grid-row:auto}
 #clients #toggle-account-filters{float:none;margin:0 0 10px}
 #clients #account-filters h2{margin:0 0 12px;min-height:0}
}

#clients .account-tools .actions{grid-template-columns:auto minmax(220px,1fr) auto auto}
#csv-formats-dialog{width:min(960px,calc(100% - 24px));max-height:85dvh;overflow:auto}
#csv-formats-dialog th,#csv-formats-dialog td{vertical-align:top;text-align:left}
#csv-formats-dialog td{overflow-wrap:anywhere}
#close-csv-formats{margin-top:16px}
@media(max-width:1100px){#clients .account-tools .actions{grid-template-columns:1fr 1fr}#clients .account-tools .file{grid-column:2;grid-row:1 / span 2;align-self:center}}
@media(max-width:700px){#clients .account-tools .actions{grid-template-columns:1fr 1fr}#clients .account-tools .file{grid-column:1/-1;grid-row:3}#clients #reset-client{grid-column:1/-1}}
