@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Montserrat:wght@500;600;650;700;750&display=swap');

:root{--navy:#04395e;--blue:#087bb5;--blue-dark:#006aa0;--blue-pale:#eaf5fc;--ink:#16364b;--muted:#5f7180;--line:#e0e7eb;--page:#f6f8f9;--green:#267154;--green-pale:#eaf4ef;--amber:#895b17;--amber-pale:#fff5e3;--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--heading:'Montserrat',var(--font)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#edf2f4;font-family:var(--font);font-size:16px;line-height:1.45}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}svg.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:3px solid #0087cc;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);letter-spacing:-.035em}button{border:0;background:none}small{font-size:14px}em{font-style:normal;color:var(--blue)}
.studio-header{height:89px;margin:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d5dfe4}.studio-brand{display:flex;gap:11px;align-items:center}.brand-mark{display:grid;place-items:center;color:var(--blue)}.brand-mark .icon{width:37px;height:37px;stroke-width:2.4}.studio-brand strong{font-size:28px;letter-spacing:-1.3px;color:var(--navy)}.studio-brand strong>span{font-weight:400;margin-left:5px}.studio-divider{height:24px;width:1px;background:#c9d6df;margin:0 10px}.studio-label,.eyebrow{font-size:14px;letter-spacing:.12em;font-weight:650}.studio-label{color:var(--muted);letter-spacing:.08em}.studio-tools{display:flex;gap:27px;align-items:center;font-size:14px}.studio-tools a{display:flex;align-items:center;gap:7px;min-height:44px}.concept-label{display:flex;gap:8px;align-items:center;color:var(--muted)}.concept-label i{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.studio{max-width:1380px;margin:0 auto;padding:40px 44px 30px;display:grid;grid-template-columns:minmax(275px,1fr) 412px minmax(220px,.77fr);gap:48px;align-items:start}.story{padding-top:27px}.eyebrow{color:var(--muted)}.story h1{font-size:38px;line-height:1.23;margin:18px 0 20px;letter-spacing:-1.65px;font-weight:650}.story>p{max-width:300px;color:var(--muted);line-height:1.7}.journey{display:grid;gap:3px;margin-top:37px}.journey button{display:flex;text-align:left;align-items:center;gap:14px;padding:14px 12px 14px 0;border-radius:12px;min-height:76px}.journey button>span:first-child{font-size:14px;color:#6f8593;border:1px solid #cddae1;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.journey strong{display:block;font-size:16px;font-weight:650}.journey small{display:block;color:var(--muted);margin-top:4px}.journey button>.icon{margin-left:auto;width:17px;opacity:0}.journey button.selected>span:first-child{background:var(--navy);border-color:var(--navy);color:white}.journey button.selected>.icon{opacity:1;color:var(--blue)}.journey button:hover{background:#e4edf1}.story-foot{margin-top:65px;font-size:14px;font-weight:500;color:#6c808d;letter-spacing:.04em}.story-foot span{margin:0 7px}
.device-area{min-width:0}.device{height:844px;width:412px;border:7px solid #163448;border-radius:46px;background:var(--page);box-shadow:0 22px 50px -22px #234b6360,0 0 0 1px #526977;overflow:hidden;display:flex;flex-direction:column}.device-top{height:44px;flex-shrink:0;padding:10px 23px 0;display:flex;justify-content:space-between;align-items:center;position:relative;background:white;color:#183647;font-size:14px;font-weight:650}.device-island{position:absolute;width:99px;height:25px;border-radius:20px;top:7px;left:50%;transform:translateX(-50%);background:#153043}.device-signals{display:flex;gap:5px}.device-signals .icon{width:15px;height:15px}.device-caption{display:flex;justify-content:center;gap:7px;font-size:14px;color:var(--muted);margin-top:20px}.device-caption .icon{width:16px;height:16px}.app{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--page)}
.design-notes{padding-top:38px}.note-index{font-size:14px;letter-spacing:.12em;color:#7a909d;margin-bottom:60px}.design-notes h2{font-size:24px;line-height:1.35;margin:14px 0;font-weight:600}.design-notes>p{font-size:16px;line-height:1.7;color:var(--muted)}.note-rule{width:34px;height:2px;background:#bdcfd9;margin:26px 0}.detail-note{display:flex;gap:10px;margin:0 0 19px;font-size:14px;line-height:1.6;color:var(--muted)}.detail-note>.icon{width:18px;height:18px;margin-top:2px;color:var(--blue)}.detail-note strong{color:var(--ink);font-weight:600}.preview-controls{border-top:1px solid #d5dfe4;margin-top:37px;padding-top:23px}.preview-controls .eyebrow{font-size:14px;letter-spacing:.07em}.preview-controls button{display:flex;align-items:center;gap:9px;text-align:left;font-size:14px;padding:10px 0;min-height:46px;width:100%}.preview-controls p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:9px}.toggle-track{height:20px;width:34px;border-radius:20px;background:#c3d0d8;position:relative;margin-left:auto}.toggle-track:after{content:'';position:absolute;height:14px;width:14px;left:3px;top:3px;border-radius:100%;background:white}.is-offline .toggle-track{background:var(--amber)}.is-offline .toggle-track:after{left:17px}.map-link{display:flex;gap:5px;align-items:center;margin-top:26px;font-size:14px;color:var(--blue)}
.app-header{padding:12px 20px 14px;background:white;display:flex;align-items:center;justify-content:space-between;min-height:62px;border-bottom:1px solid var(--line)}.app-logo{display:flex;gap:7px;align-items:center;font-size:23px;font-weight:700;letter-spacing:-1px;color:var(--navy)}.app-logo .icon{width:27px;height:27px;color:var(--blue);stroke-width:2.3}.app-logo small{font-weight:450;letter-spacing:0;font-size:20px}.app-header-title{display:flex;gap:7px;align-items:center;font-weight:650}.app-header-title .icon-button{margin-left:-10px}.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:10px}.icon-button:hover{background:var(--blue-pale)}.sync-pill{display:flex;gap:5px;align-items:center;color:var(--green);font-size:14px}.sync-pill .icon{width:17px;height:17px}.sync-pill.offline{color:var(--amber)}.app-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:22px 20px;flex:1;min-height:0}.app-body::-webkit-scrollbar{display:none}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.app h1{font-size:29px;line-height:1.25;font-weight:700}.subtext{color:var(--muted);font-size:14px;line-height:1.55}.page-title-row .subtext{margin-top:4px}.weather-icon{color:var(--amber);display:flex;align-items:center;gap:5px;font-size:16px;margin-top:7px}.weather-icon .icon{width:25px;height:25px}.progress-row{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin:0 0 9px}.progress-row strong{color:var(--ink);font-weight:600}.progress-track{display:flex;gap:5px;margin-bottom:22px}.progress-track span{flex:1;height:5px;background:#dce6ec;border-radius:5px}.progress-track .done{background:#6a9d88}.progress-track .current{background:var(--blue)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:22px 0 12px}.section-heading h2{font-size:18px;letter-spacing:-.4px;font-weight:650}.section-heading:first-child{margin-top:0}.text-button{color:var(--blue);font-size:14px;padding:8px 0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px}.eyelabel{font-size:14px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.card{border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden}.next-card{border-color:#b5d4e6;box-shadow:0 4px 12px -8px #28688c20}.card-topline{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--blue-pale);color:var(--blue-dark);font-size:14px}.card-topline>span{display:flex;gap:7px;align-items:center}.card-topline .icon{width:16px;height:16px}.card-main{padding:18px 17px}.card h2{font-size:22px;font-weight:650;line-height:1.3}.card-main>p{font-size:15px;color:var(--muted);margin-top:5px}.pills{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.pill{display:inline-flex;gap:5px;align-items:center;border-radius:7px;background:#eff4f6;color:#456070;padding:5px 8px;font-size:14px;font-weight:500}.pill .icon{width:15px;height:15px}.pill.blue{background:var(--blue-pale);color:var(--blue-dark)}.pill.green{background:var(--green-pale);color:var(--green)}.pill.amber{background:var(--amber-pale);color:var(--amber)}.access-line{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;background:var(--amber-pale);color:#775522;border-radius:9px;font-size:14px;line-height:1.5}.access-line .icon{width:18px;height:18px;margin-top:1px}.button-row{display:flex;gap:9px;margin-top:16px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:11px;font-size:16px;font-weight:600;padding:12px 15px;line-height:1.2}.btn.primary{background:var(--blue);color:white;box-shadow:0 2px 3px #005b8212}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;border:1px solid #d3dfe6;color:var(--ink)}.btn.secondary:hover{background:var(--blue-pale)}.btn.wide{width:100%}.button-row>.btn{flex:1}.button-row>.square{flex:0 0 50px;padding:0}.next-card .card-main>.btn{margin-top:14px}.mini-route{position:relative}.stop-row{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:90px}.stop-row:last-child{border-bottom:0}.stop-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid #cbd9e1;background:#fff;border-radius:50%;font-size:14px;margin-top:3px;flex-shrink:0}.stop-number.done{background:var(--green-pale);color:var(--green);border-color:transparent}.stop-number .icon{width:16px;height:16px}.stop-description{flex:1;min-width:0}.stop-description strong{display:block;font-size:16px;font-weight:650}.stop-description p{font-size:14px;color:var(--muted);margin:4px 0}.stop-description .service-line{font-size:14px;color:#617d8e}.stop-row>.icon{width:17px;color:#90a5b2;margin-top:8px}.stop-window{font-size:14px;color:#526b7b}.completed-toggle{padding:10px 0;color:var(--muted);display:flex;align-items:center;gap:7px;font-size:14px;min-height:44px}.bottom-nav{display:flex;border-top:1px solid var(--line);background:#fff;padding:7px 8px 11px;flex-shrink:0}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:52px;color:#6a7f8c;font-size:14px;padding:4px}.bottom-nav .icon{width:21px;height:21px}.bottom-nav button.active{color:var(--blue);font-weight:650}.bottom-nav button.active>.icon{background:var(--blue-pale);box-shadow:0 0 0 5px var(--blue-pale);border-radius:4px}.bottom-nav button span{margin-top:2px}
.visit-title{margin-bottom:18px}.visit-title .eyelabel{color:var(--blue);margin-bottom:6px}.visit-title h1{font-size:26px}.visit-title>p{color:var(--muted);font-size:15px;margin:5px 0 8px}.visit-time{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:14px}.visit-time .icon{width:16px;height:16px}.quick-actions{display:flex;gap:8px;margin-top:16px}.quick-actions .btn{flex:1;font-size:14px;min-height:46px;padding:10px}.context-block{padding:15px 16px;border-bottom:1px solid var(--line);font-size:15px}.context-block:last-child{border-bottom:0}.context-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin-bottom:5px}.context-title .icon{width:18px;height:18px;color:var(--blue)}.context-block p{color:var(--muted);line-height:1.6;font-size:15px}.context-block.warning{background:var(--amber-pale)}.context-block.warning .context-title,.context-block.warning .icon{color:var(--amber)}details.context-block summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:25px;font-weight:600}details.context-block summary::-webkit-details-marker{display:none}details.context-block[open] p{margin-top:9px}.work-line{display:flex;align-items:center;gap:11px;padding:15px}.work-line+.work-line{border-top:1px solid var(--line)}.work-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--blue-pale);color:var(--blue)}.work-line strong{display:block;font-size:16px;font-weight:600}.work-line small{display:block;color:var(--muted);margin-top:2px}.work-line>.icon{margin-left:auto}.action-dock{flex-shrink:0;border-top:1px solid var(--line);padding:10px 16px 11px;background:#fff}.dock-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:14px;color:var(--muted)}.dock-meta>span{display:flex;align-items:center;gap:5px}.dock-meta .icon{width:15px;height:15px}.dock-meta button{font-size:14px;color:var(--blue);padding:4px 2px;min-height:28px}.action-dock .btn{min-height:52px}.action-dock .btn .icon:last-child{margin-left:auto}.action-dock .btn .icon:first-child{margin-right:auto}.service-banner{display:flex;align-items:center;justify-content:space-between;background:var(--blue-pale);padding:11px 16px;font-size:14px;color:var(--blue-dark);border-bottom:1px solid #d7eaf5}.service-banner>span{display:flex;gap:6px;align-items:center}.pulse{height:7px;width:7px;border-radius:50%;background:var(--blue)}.service-banner .icon{width:16px;height:16px}.measurement-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:12px;overflow:hidden;border:1px solid var(--line);margin:15px 0}.measurement-grid>div{background:#fff;padding:13px 15px}.measurement-grid strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.5px}.measurement-grid small{font-size:14px;color:var(--muted)}.batch-card{margin-top:13px}.batch-top{padding:13px 15px;display:flex;align-items:center;gap:9px;background:#f0f6f9;font-size:15px;font-weight:600}.batch-top .icon{color:var(--blue)}.batch-top .pill{margin-left:auto;padding:3px 7px}.product-row{padding:15px;border-bottom:1px solid var(--line)}.product-name{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:16px;font-weight:600}.product-name .icon{width:17px;color:var(--muted)}.product-row p{font-size:14px;color:var(--muted);margin-top:3px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.quantity{font-size:15px;font-weight:600}.confirm{display:flex;align-items:center;gap:6px;padding:7px 10px;min-height:44px;font-size:14px;color:var(--blue);border:1px solid #bcd8e8;border-radius:8px}.confirm .icon{width:16px;height:16px}.confirm.confirmed{background:var(--green-pale);color:var(--green);border-color:transparent}.batch-foot{display:flex;justify-content:space-between;padding:9px 15px}.field-label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}.textarea,textarea,input,select{border:1px solid #ccdbe3;border-radius:10px;background:white;color:var(--ink);font-size:16px;padding:12px;width:100%}textarea{min-height:95px;resize:vertical;line-height:1.5}textarea:focus,input:focus,select:focus{outline:2px solid #62aad2;outline-offset:1px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{min-height:44px;padding:10px 12px;border:1px solid #cfdae1;border-radius:9px;background:white;font-size:14px}.choice.selected{background:var(--blue-pale);color:var(--blue-dark);border-color:#82b9d7}.small-hint{font-size:14px;line-height:1.55;color:var(--muted);margin-top:8px}.review-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}.review-heading h1{font-size:26px}.review-card{padding:16px}.review-card h3{font-size:18px;margin:2px 0 6px}.review-card p{font-size:15px;color:var(--muted);line-height:1.6}.review-row{display:flex;align-items:flex-start;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.review-row:last-child{border-bottom:0}.review-row>.icon{color:var(--green);margin-top:2px}.review-row strong{font-size:15px;font-weight:600;display:block}.review-row p{font-size:14px;color:var(--muted);margin-top:3px}.review-row>.text-button{margin-left:auto;padding:0;min-height:30px;flex-shrink:0}.review-row.waiting>.icon{color:var(--amber)}.report-preview{border:1px solid #c4d8e4;background:#f1f7fa;border-radius:13px;padding:15px;margin-top:16px}.report-preview .eyelabel{font-size:14px;color:var(--blue)}.report-preview p{font-size:15px;line-height:1.65;color:#3e5b6e;margin-top:8px}.report-preview .text-button{margin-top:4px}.checkline{display:flex;align-items:flex-start;gap:10px;font-size:15px;padding:17px 0;cursor:pointer}.checkline input{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue);margin-top:2px}.success-top{text-align:center;padding:15px 0 22px}.success-symbol{display:grid;place-items:center;width:67px;height:67px;border-radius:50%;background:var(--green-pale);color:var(--green);margin:0 auto 17px}.success-symbol .icon{height:32px;width:32px}.success-top h1{font-size:27px}.success-top p{color:var(--muted);font-size:15px;margin-top:9px}.queue-count{display:grid;place-items:center;color:var(--amber);background:var(--amber-pale);padding:3px 9px;border-radius:5px;font-size:14px}.resume-strip{display:flex;gap:7px;align-items:center;background:var(--blue-pale);padding:12px 15px;min-height:48px;font-size:14px;color:var(--blue);border-bottom:1px solid #d5e8f3;width:100%;text-align:left}.resume-strip>.icon:last-child{margin-left:auto}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tool-tile{padding:17px 13px;min-height:132px;background:white;border:1px solid var(--line);border-radius:14px;text-align:left;display:flex;flex-direction:column;gap:8px}.tool-tile>.icon{color:var(--blue);width:25px;height:25px}.tool-tile strong{font-size:16px;font-weight:600}.tool-tile small{font-size:14px;color:var(--muted)}.offline-banner{background:var(--amber-pale);color:var(--amber);padding:9px 16px;font-size:14px;display:flex;gap:7px;align-items:center}.offline-banner .icon{width:16px;height:16px}.sample-tag{text-align:center;font-size:14px;color:var(--muted);margin-top:22px}.sample-tag:before{content:'';width:18px;height:1px;background:var(--line);display:inline-block;margin:0 8px 4px 0}.photo-slots{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.photo-slot{width:95px;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#e8f0f4;border:1px dashed #a9bdca;border-radius:10px;font-size:14px;color:#597689}.photo-slot span{font-size:14px}.form-group{margin:16px 0}.form-group label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}.sheet-copy{font-size:16px;color:var(--muted);line-height:1.65}.sheet-card{margin:15px 0;padding:15px;background:var(--page);border-radius:12px}.sheet-card h3{font-size:17px;margin-bottom:7px}.sheet-card p{font-size:15px;color:var(--muted);line-height:1.6}dialog{width:min(450px,calc(100% - 24px));border:1px solid var(--line);border-radius:22px;padding:21px;color:var(--ink);box-shadow:0 15px 80px #00263e30;max-height:85dvh;overflow-y:auto}dialog::backdrop{background:#0a263c66;backdrop-filter:blur(3px)}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.sheet-head h2{font-size:22px;font-weight:600}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy);color:white;border-radius:12px;padding:13px 19px;font-size:15px;box-shadow:0 5px 25px #12395020;z-index:20;opacity:0;pointer-events:none;max-width:calc(100% - 30px);width:max-content;transition:opacity .15s,transform .15s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.map-illustration{width:100%;background:#edf3f0;border-radius:13px;overflow:hidden;margin:15px 0}.map-illustration svg{display:block;width:100%;height:auto}.map-illustration text{font-family:var(--font);font-size:14px}
@media(min-width:1600px){.studio{gap:75px;padding-top:54px}.device{height:874px}.story{padding-top:44px}}
@media(max-width:1200px) and (min-width:761px){.studio{grid-template-columns:minmax(240px,1fr) 400px;gap:38px;max-width:1000px}.device{width:400px}.design-notes{display:none}.studio-label{display:none}.story h1{font-size:35px}.studio-tools{gap:18px}}
@media(max-width:760px){body{background:var(--page)}.studio-header,.story,.design-notes,.device-caption{display:none}.studio{display:block;padding:0;margin:0;max-width:none}.device{height:100dvh;width:100%;border:0;border-radius:0;box-shadow:none}.device-top{display:none}.device-area{width:100%}.app-header{padding-top:calc(12px + env(safe-area-inset-top,0px))}.bottom-nav{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.toast{bottom:calc(90px + env(safe-area-inset-bottom,0px))}dialog{padding-bottom:calc(21px + env(safe-area-inset-bottom,0px))}.app-body{padding:20px}.action-dock{padding-top:8px;padding-bottom:9px}.sample-tag{margin-top:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
