/* The app shell shares the same saved workspace and actions as desktop. */
.app-topbar,.app-survey-dock{display:none}.app-menu{display:grid;gap:9px;margin-top:20px}.app-menu>button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:16px;border:1px solid #dfe6de;border-radius:13px;background:#f9fbf6;min-height:62px}.app-menu>button>span{flex:1;min-width:0}.app-menu strong{display:block;font-size:14px;overflow-wrap:anywhere}.app-menu small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#6a7b76}.app-menu>button>svg:first-child{color:#286747}.app-menu>button>svg:last-child{width:15px;color:#7a8b82}
html.app-mode{background:#10242c;scroll-padding-top:150px;scroll-padding-bottom:150px}.app-mode body{background:radial-gradient(ellipse at top,#24423b 0,#10242c 70%);min-height:100dvh}.app-mode .shell{display:block;min-height:100dvh}.app-mode .sidebar,.app-mode .topbar{display:none}.app-mode .workspace{display:block;max-width:720px;margin:0 auto;background:#f4f6f2;min-height:100dvh;box-shadow:0 0 80px #0002}.app-mode .app-topbar{display:block;position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top);background:#10292e;color:#eef7e9;box-shadow:0 4px 20px #10292e10}.app-topbar-main{height:64px;padding:10px 20px;display:flex;align-items:center;gap:12px}.app-wordmark{padding:0;border:0;background:none;color:inherit;display:flex;align-items:center;gap:10px;text-align:left;min-height:44px;flex:1}.app-wordmark>span:last-child{font-size:18px;font-weight:650;letter-spacing:-.6px}.app-wordmark small{display:block;font-size:8px;letter-spacing:1.8px;color:#9fbcb0;margin-top:3px}.app-wordmark .brand-mark{height:34px;width:32px;font-size:23px}.app-avatar,.app-icon-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:14px;background:#d4e9b8;color:#17372f;border:1px solid #d4e9b8;font-size:17px;font-weight:600}.app-icon-button{background:#ffffff0b;color:#d4e9b8;border-color:#ffffff20;width:40px}.app-status-strip{height:30px;border-top:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#0a2025}.app-mode .app-status-strip .save-pill{font-size:10px;background:none;border:0;color:#abc8b4;padding:0;gap:7px}.app-mode .save-pill .dot{height:5px;width:5px;background:#bded8d;box-shadow:0 0 9px #bdec8c66}.app-mode .save-pill.error{color:#ffbda6}.app-mode .save-pill.error .dot{background:#ffbda6}.app-network{display:flex;align-items:center;gap:5px;font-size:10px;color:#aac4ba}.app-network svg{height:12px;width:12px}.app-network.is-offline{color:#ead499}.app-mode .early-banner{padding:7px 20px;font-size:9px;line-height:1.5;background:#eaf0e4;border-bottom:1px solid #dce6d4;overflow-wrap:anywhere}.app-mode main{padding:22px 20px calc(120px + env(safe-area-inset-bottom));max-width:none;min-width:0}.app-mode .heading-row{display:block;margin-bottom:20px}.app-mode .heading-row h1{font-size:27px;max-width:none;overflow-wrap:anywhere;letter-spacing:-1px}.app-mode .heading-row .subtitle{font-size:12px;max-width:none;line-height:1.6}.app-mode .heading-actions{margin-top:15px;display:flex;gap:9px;flex-wrap:wrap}.app-mode .heading-actions .button{font-size:12px;width:auto;min-height:44px;padding:11px 14px}.app-mode .heading-actions .button svg{width:17px;height:17px}.app-mode .heading-row .eyebrow{font-size:10px;letter-spacing:1.4px}.app-mode .button,.app-mode .icon-button,.app-mode .arrow-button{min-height:44px}.app-mode .icon-button,.app-mode .arrow-button{min-width:44px}.app-mode .button{font-size:13px;padding:12px 15px}.app-mode .field>label,.app-mode .field-label,.app-mode .wording-label label{font-size:13px;line-height:1.5}.app-mode input,.app-mode textarea,.app-mode select{font-size:16px;min-height:48px}.app-mode textarea{line-height:1.6}.app-mode .helper{font-size:12px;line-height:1.65}.app-mode .card{padding:20px 17px;border-radius:16px}.app-mode .editor-layout,.app-mode .settings-grid,.app-mode .devices-grid,.app-mode .content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.app-mode .editor-aside{display:grid;grid-template-columns:1fr;gap:10px}.app-mode .editor-aside .tip-card{display:block}.app-mode .editor-aside details.card{padding:12px 17px}.app-mode .section-tabs{position:sticky;top:calc(94px + env(safe-area-inset-top));z-index:12;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;background:#f4f6f2f5;backdrop-filter:blur(15px);padding:10px 0;margin:0 0 8px;border-bottom:1px solid #dce5d6}.app-mode .section-tabs::-webkit-scrollbar{display:none}.app-mode .section-tabs button{min-height:44px;border:1px solid transparent;border-radius:12px;padding:11px 15px;font-size:12px;flex-shrink:0;margin:0;color:#78877b;background:#eaf0e4}.app-mode .section-tabs button.active{background:#173b34;color:#e3f5c7;border-color:#173b34;box-shadow:0 4px 10px #173b3418}.app-mode .room-strip{overflow-x:auto;white-space:nowrap;margin:0 0 15px;padding:4px 0}.app-mode .room-tab{font-size:12px;min-height:44px;border-radius:12px;flex-shrink:0}.app-mode .collapse-toolbar{font-size:11px;margin:0 0 10px;gap:16px}.app-mode .collapse-toolbar>span{font-size:10px}.app-mode .collapse-toolbar .text-link{font-size:12px;min-height:44px}.app-mode .survey-fold>summary{font-size:15px;min-height:44px}.app-mode .external-area{border-radius:13px;overflow:hidden}.app-mode .external-area>summary{padding:16px 13px;font-size:13px;min-height:60px;flex-wrap:wrap;gap:9px}.app-mode .external-area>summary>span{flex:1;min-width:120px;line-height:1.5}.app-mode .external-area summary small{font-size:10px}.app-mode .external-body{padding:16px}.app-mode .external-body .photo-actions .button{flex:1;justify-content:center;font-size:12px}.app-mode .finding-card{padding:16px 13px;border-radius:13px}.app-mode .finding-tools{gap:8px;justify-content:flex-end}.app-mode .finding-tools .text-link{font-size:12px;min-height:44px}.app-mode .field-tools{gap:7px;flex-wrap:wrap}.app-mode .wording-label{flex-wrap:wrap}.app-mode .wording-button{font-size:12px;min-height:44px;padding:10px 12px}.app-mode .photo-caption input{font-size:16px}.app-mode .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-mode .photo-grid img{height:160px;object-fit:contain}.app-mode .photo-grid .text-link{min-height:44px;font-size:12px}.app-mode .photo-caption label{font-size:11px}.app-mode .room-photo-capture{padding:16px;display:flex;align-items:flex-start;flex-direction:column;gap:12px}.app-mode .room-photo-capture .helper{font-size:12px;max-width:none}.app-mode .room-photo-capture .photo-actions{width:100%}.app-mode .room-photo-capture .button{flex:1;justify-content:center;font-size:12px}.app-mode .outcome-options{display:flex;flex-wrap:wrap}.app-mode .outcome-options button{min-height:46px;font-size:12px;flex:1 1 45%;padding:11px}.app-mode .reading-panel summary{min-height:44px;font-size:13px}.app-mode .status-box{font-size:12px;line-height:1.6}.app-mode .review-gap{min-height:58px;font-size:12px}.app-mode .photo-actions{flex-wrap:wrap}.app-mode .install-card,.app-mode .cloud-card,.app-mode .pwa-offline{flex-direction:column;align-items:stretch}.app-mode .device-card{padding:22px}.app-mode .settings-grid .card-title h2{font-size:20px}.app-mode .pwa-layout{grid-template-columns:minmax(0,1fr);gap:16px}.app-mode .pwa-hero,.app-mode .pwa-guide{padding:24px}.app-mode .pwa-link input{font-size:16px}.app-mode .pwa-offline .button{flex:1;justify-content:center}.app-mode .pwa-platforms button{min-height:46px;font-size:12px}.app-mode .report-cover{padding:30px 22px 0}.app-mode .report h1{font-size:34px}.app-mode .report-section{padding:24px 22px 0}.app-mode .report-section h2{font-size:24px}.app-mode .report-section p{font-size:13px;line-height:1.7}.app-mode .report-footer{margin:25px 22px 0;flex-direction:column;gap:5px}.app-mode .report-meta{grid-template-columns:1fr 1fr}.app-mode .report-meta>div:last-child{grid-column:1/-1}.app-mode .report-toolbar{align-items:flex-start;flex-wrap:wrap}.app-mode .report-toolbar .helper{font-size:11px}.app-mode .report-table{font-size:10px}.app-mode .report-table th,.app-mode .report-table td{padding:8px 5px}.app-mode .report .photo-grid img{height:130px}.app-mode .footnote{font-size:10px;line-height:1.7;align-items:flex-start;gap:14px;margin-top:24px}.app-mode .mobile-nav{display:flex;position:fixed;z-index:40;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:min(720px,100%);background:#fbfcf8f5;backdrop-filter:blur(20px);border-top:1px solid #dce6d4;justify-content:space-around;padding:10px 8px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px #17372b0b}.app-mode .mobile-nav button{min-width:52px;min-height:50px;border:0;border-radius:14px;background:none;color:#84928a;display:grid;justify-items:center;align-content:center;gap:6px;font-size:10px;padding:6px}.app-mode .mobile-nav button.active{color:#245c42;background:#eaf1e1}.app-mode .mobile-nav svg{height:21px;width:21px}.app-mode .mobile-nav .mobile-new{background:#163c33;color:#d8efb8;width:54px;min-width:54px;height:52px;margin-top:-4px;border-radius:17px;box-shadow:0 5px 16px #163c3329}.app-mode:is([data-route=device],[data-route=settings],[data-route=install]) .mobile-nav [data-action=workspace-menu]{color:#245c42;background:#eaf1e1}.app-mode:not([data-step=""]) .mobile-nav{display:none}.app-mode .app-survey-dock{display:flex;align-items:center;gap:8px;position:fixed;z-index:40;left:50%;bottom:0;transform:translateX(-50%);width:min(720px,100%);padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fbfcf8f5;backdrop-filter:blur(20px);box-shadow:0 -10px 28px #17372b0b;border-top:1px solid #dce6d4}.app-survey-dock>button{display:grid;align-content:center;justify-items:center;gap:5px;border:0;background:none;border-radius:12px;min-width:54px;min-height:52px;padding:7px;color:#5d756b;font-size:10px}.app-survey-dock>button.app-next{display:flex;justify-content:center;gap:8px;flex:1;min-width:0;padding:13px;font-size:13px;font-weight:600;border-radius:14px;background:#173c34;color:#e0efc9;box-shadow:0 4px 12px #173c3422}.app-survey-dock .app-next svg{width:17px}.app-mode:is([data-step=property],[data-step=external],[data-step=rooms],[data-step=evidence]) .editor-layout>.survey-fold>.fold-body>.form-actions{display:none}.app-mode.keyboard-open .mobile-nav,.app-mode.keyboard-open .app-survey-dock{display:none}.app-mode dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(720px,100%);max-width:100%;max-height:88dvh;border-radius:24px 24px 0 0;padding:25px 22px calc(25px + env(safe-area-inset-bottom));border:1px solid #dfe7dc;box-shadow:0 -15px 80px #071c2933}.app-mode dialog::backdrop{background:#071c2999;backdrop-filter:blur(5px)}.app-mode .dialog-head h2{font-size:23px;letter-spacing:-.6px}.app-mode dialog .form-actions{position:sticky;bottom:calc(-25px - env(safe-area-inset-bottom));background:#fbfcf8;padding:15px 0;z-index:2}.app-mode dialog .form-actions .button{flex:1;justify-content:center;min-height:48px}.app-mode #toast{bottom:calc(100px + env(safe-area-inset-bottom));max-width:min(650px,calc(100% - 26px));font-size:12px;line-height:1.6}.app-mode .app-bottom-note{color:#85948b;font-size:11px;text-align:center;margin:28px 0 0;line-height:1.7}
.app-welcome{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 23px}.app-welcome h1{font-size:31px;font-weight:600;letter-spacing:-1.3px;margin:8px 0 5px;line-height:1.15;overflow-wrap:anywhere}.app-welcome h1 em{color:#749866;font-style:normal}.app-welcome p{font-size:12px;color:#809083;margin:8px 0 0;line-height:1.6}.app-welcome .eyebrow{font-size:9px;letter-spacing:1.8px}.app-install-chip{display:flex;align-items:center;gap:5px;border:1px solid #d9e4cf;border-radius:11px;background:#eaf1df;color:#395d3e;padding:10px;min-height:44px;white-space:nowrap;font-size:10px}.app-install-chip svg{height:14px;width:14px}.app-mission{position:relative;isolation:isolate;overflow:hidden;background:#102c31;border:1px solid #254942;border-radius:24px;padding:23px;color:#f1f7e9;box-shadow:0 12px 26px #1c392c16}.app-mission:before{position:absolute;z-index:-1;inset:0;content:'';background:radial-gradient(ellipse at 100% 0,#4a763452,transparent 70%),linear-gradient(#c5ec9110 1px,transparent 1px),linear-gradient(90deg,#c5ec9110 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;mask-image:linear-gradient(90deg,transparent,#000)}.app-mission-top{display:flex;align-items:center;gap:7px;color:#b7d897;font-size:9px;letter-spacing:1.3px}.app-mission-top>svg{margin-left:auto;width:16px;height:16px;color:#d5ecb8}.app-live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#d0f69c;box-shadow:0 0 10px #d0f69c80}.app-mission-content{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 0}.app-mission h2{font-size:29px;letter-spacing:-1px;line-height:1.12;margin:0 0 12px;overflow-wrap:anywhere;max-width:410px}.app-mission p{font-size:12px;line-height:1.7;color:#adc2b8;margin:0}.app-progress-ring{width:100px;height:100px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#cceba6 var(--progress),#ffffff13 0);padding:3px;box-shadow:0 0 0 9px #d6eead04}.app-progress-ring>div{background:#132f32;width:100%;height:100%;border-radius:50%;display:grid;place-content:center;justify-items:center}.app-progress-ring strong{font-size:24px;font-weight:500;color:#d9f1b8}.app-progress-ring strong svg{height:30px;width:30px;stroke-width:1.1}.app-progress-ring span{font-size:7px;letter-spacing:1px;color:#a1b9a4;margin-top:5px}.app-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border-radius:14px;border:0;background:#d0edab;color:#1d3a2f;font-size:14px;font-weight:650;box-shadow:0 4px 20px #d0edab10}.app-primary svg{width:18px}.app-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 27px}.app-quick-actions>button{display:grid;justify-items:start;gap:7px;min-height:110px;padding:15px 12px;background:#fff;border:1px solid #e1e9dc;border-radius:16px;text-align:left}.app-quick-actions svg{width:22px;height:22px;color:#427349;margin-bottom:4px}.app-quick-actions strong{font-size:12px;color:#23483a}.app-quick-actions span{font-size:10px;color:#8b998b;line-height:1.5}.app-section-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px;gap:12px}.app-section-label h2{font-size:17px;letter-spacing:-.4px;margin:0}.app-section-label>span{font-size:8px;letter-spacing:1.2px;color:#8e9a8e}.app-section-label>button{border:0;background:none;display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px;color:#426b41;padding:0}.app-section-label>button svg{height:14px;width:14px}.app-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}.app-metrics section{background:#edf2e7;border:1px solid #e1e8d8;border-radius:16px;padding:16px}.app-metrics section>span{display:flex;align-items:center;gap:7px;font-size:11px;color:#788a76}.app-metrics svg{height:14px;width:14px;color:#738c64}.app-metrics strong{display:block;font-size:29px;font-weight:500;letter-spacing:-1px;margin-top:12px;color:#224a3b}.app-device-strip{display:flex;align-items:center;width:100%;gap:12px;padding:16px;margin-bottom:25px;border:1px solid #dfe8d6;border-radius:16px;background:#f9fcf3;text-align:left;min-height:76px}.app-device-icon{display:grid;place-content:center;width:37px;height:37px;flex-shrink:0;border-radius:12px;background:#e7f0db;color:#5e814c}.app-device-strip>span:nth-child(2){flex:1}.app-device-strip strong{font-size:12px;display:block}.app-device-strip small{font-size:10px;color:#8b9985;display:block;margin-top:5px;line-height:1.5}.app-device-strip>svg{width:16px;color:#8b9985}.app-survey-list{display:grid;gap:12px}.app-survey-card{border:1px solid #dee7d7;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 3px 7px #18372a03}.app-survey-open{width:100%;border:0;background:none;display:flex;align-items:center;gap:12px;padding:18px 16px;text-align:left;min-height:83px}.app-property-icon{background:#eff4e8;color:#6e8e59;display:grid;place-content:center;border-radius:12px;height:43px;width:43px;flex-shrink:0}.app-property-icon svg{width:20px;height:20px}.app-survey-open>span:nth-child(2){flex:1;min-width:0}.app-survey-open strong{font-size:14px;line-height:1.4;font-weight:600;display:block;overflow-wrap:anywhere}.app-survey-open small{font-size:11px;color:#8b9a86;display:block;margin-top:5px;line-height:1.5}.app-survey-open>svg{width:16px;flex-shrink:0;color:#9aaa93}.app-survey-meta{display:flex;align-items:center;gap:13px;padding:0 16px 10px;color:#82917a;font-size:10px;flex-wrap:wrap}.app-survey-meta .status{display:inline-block!important;font-size:9px;padding:6px 9px;flex-shrink:0}.app-delete{border:0;background:none;color:#b4a79b;margin-left:auto;padding:10px;min-height:44px;min-width:44px;border-radius:10px}.app-delete svg{width:16px;height:16px}.app-small-primary{background:#1c4b3b;color:#d9efb9;width:47px;height:47px;min-width:47px;display:grid;place-content:center;border:0;border-radius:14px}.app-mode .app-search{margin:0 0 14px;background:#fff;border:1px solid #dfe7d8;border-radius:14px;padding:0 15px;min-height:54px}.app-mode .app-search input{border:0;background:none;font-size:15px;padding:15px 0;min-width:0}.app-mode .app-search svg{width:19px;color:#81947c}.app-mode .app-filters{width:100%;display:flex;padding:4px;border-radius:13px;background:#e8eee2;gap:3px;margin-bottom:18px}.app-mode .app-filters button{flex:1;min-height:44px;font-size:12px;padding:11px 8px;border-radius:10px;white-space:nowrap}.app-mode .app-filters button.active{background:#fff;box-shadow:0 2px 8px #153e2710}.app-empty{background:#fff;border:1px dashed #d9e3cd;border-radius:17px;padding:27px 20px;text-align:center;color:#829476}.app-empty>svg{height:29px;width:29px;color:#90a782}.app-empty h3{font-size:16px;color:#3e6044;margin:12px 0 7px}.app-empty p{font-size:12px;line-height:1.7;margin:6px 0}.app-empty button{min-height:44px;font-size:12px}.app-mode .recently-deleted{border-radius:17px;padding:10px 0}.app-mode .recently-deleted .device-survey{gap:12px;flex-wrap:wrap}.app-mode .recently-deleted .helper{font-size:12px}.app-mode .recently-deleted .button{min-height:44px}
@media(max-width:420px){.app-mode main{padding-left:15px;padding-right:15px}.app-topbar-main{padding-left:15px;padding-right:15px;gap:9px}.app-wordmark>span:last-child{font-size:17px}.app-wordmark small{font-size:7px}.app-mode .app-status-strip{padding:0 15px}.app-welcome h1{font-size:28px}.app-welcome .eyebrow{font-size:8px}.app-install-chip{font-size:9px;padding:9px}.app-mission{padding:20px}.app-mission h2{font-size:26px}.app-mission-content{gap:10px}.app-progress-ring{width:78px;height:78px}.app-progress-ring span{font-size:6px;letter-spacing:.6px}.app-progress-ring strong{font-size:22px}.app-mission-top{font-size:8px;letter-spacing:1px}.app-mission p{font-size:11px}.app-quick-actions{gap:8px}.app-quick-actions>button{padding:14px 10px}.app-quick-actions strong{font-size:11px}.app-quick-actions span{font-size:9px}.app-mode .grid2,.app-mode .grid3{grid-template-columns:minmax(0,1fr)}.app-mode .grid3 .field:last-child{grid-column:auto}.app-mode .app-survey-dock{padding-left:8px;padding-right:8px;gap:4px}.app-survey-dock>button{min-width:49px}.app-survey-dock>button.app-next{font-size:12px}.app-mode .photo-grid{grid-template-columns:minmax(0,1fr)}.app-mode .report .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-mode .photo-grid img{height:200px}.app-mode .report .photo-grid img{height:110px}.app-mode .heading-actions .button{font-size:11px}.app-survey-meta{gap:10px}}
@media print{html.app-mode,.app-mode body{background:white!important}.app-mode .workspace{max-width:none;box-shadow:none}.app-topbar,.app-survey-dock,.app-welcome,.app-bottom-note,.collapse-toolbar,.app-mode .mobile-nav{display:none!important}.app-mode main{padding:0}.app-mode .report{border:0}.app-mode .report h1{font-size:40px}.app-mode .report-section{padding:25px 15px 0}.app-mode .report-cover{padding:15px 15px 0}.app-mode .report-footer{margin:30px 15px 0}.app-mode .report .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.layout-switch{display:flex;align-items:center;gap:7px;width:auto!important;padding:9px 12px!important;border-radius:9px;font-size:11px;white-space:nowrap}.layout-switch svg{width:16px;height:16px}
