:root{--bg:#f3f5f8;--surface:#fff;--surface-2:#f7f9fb;--line:#e8ebf0;--line-strong:#dde1e8;--text:#14202e;--muted:#6b7785;--muted-2:#97a1ad;--teal:#0c5ce4;--teal-dark:#0a4ac0;--teal-soft:#e8f0ff;--teal-line:#cfe0ff;--green:#1aa653;--green-soft:#e8f8ee;--green-line:#bdeccb;--red:#ef4d56;--red-soft:#fdeef0;--red-line:#f8cdd2;--blue:#3b82f6;--amber:#f59e0b;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 6px 16px #10182812;--shadow-lg:0 18px 40px #1018281f;--r-card:14px;--r-btn:12px;--r-input:12px;color:var(--text);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}html{overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;width:100%;max-width:100%;overflow:hidden}body{overscroll-behavior:none;width:100%;height:100%;color:var(--text);background:#fff;position:fixed;inset:0;overflow:hidden}#root{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}input{min-width:0}small{color:var(--muted);font-size:11px}.login-screen{background:radial-gradient(120% 70% at 50% -10%, var(--teal-soft) 0%, #e6f6f700 55%), var(--bg);align-content:center;place-items:center;gap:14px;min-height:100dvh;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:360px;box-shadow:var(--shadow-lg);border-radius:22px;padding:26px 22px}.login-brand,.brand{text-align:center;justify-items:center;gap:12px;margin-bottom:18px;display:grid}.brand-mark,.login-logo{background:var(--teal-soft);width:56px;height:56px;color:var(--teal);border-radius:17px;place-items:center;display:grid}.login-logo{object-fit:cover}.login-titles strong,.brand strong{letter-spacing:-.03em;color:var(--text);font-size:21px;font-weight:850;display:block}.login-titles span,.brand span{color:var(--muted);margin-top:4px;font-size:13px;font-weight:600;display:block}.login-card label,.login-form label{gap:6px;margin:0 0 13px;display:grid}.login-card label span,.login-form label span{color:#4b5563;font-size:12px;font-weight:700}.login-card input,.login-form input{border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface-2);width:100%;height:46px;color:var(--text);outline:0;padding:0 13px}.login-form{gap:0;display:grid}.login-foot{color:var(--muted-2);font-size:11px;font-weight:600}input:focus,textarea:focus,select:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px #0c5ce424}select option{color:#111}.login-card button,.login-form button,.full-button,.control-form-mobile>button,.modal button,.control-card .primary,.camera-button{border-radius:var(--r-btn);background:linear-gradient(180deg, var(--teal), var(--teal-dark));color:#fff;letter-spacing:-.01em;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 16px;font-size:14.5px;font-weight:800;transition:transform .14s,filter .14s,box-shadow .14s;display:inline-flex;box-shadow:0 8px 18px #0c5ce447}.login-card button,.login-form button,.full-button,.control-form-mobile>button{width:100%}.control-form-mobile{gap:13px;display:grid}.control-form-mobile label{gap:6px;display:grid}.control-form-mobile label>span{color:#4b5563;font-size:12px;font-weight:700}.control-form-mobile textarea{border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--surface-2);width:100%;min-height:84px;color:var(--text);resize:vertical;outline:0;padding:11px 12px}.login-card button:active,.full-button:active,.control-form-mobile button:active,.camera-button:active{filter:brightness(.98);transform:translateY(1px)scale(.995)}.login-card button:disabled,.full-button:disabled,.control-form-mobile button:disabled{filter:grayscale(.3)brightness(1.05);box-shadow:none;opacity:.55}.secondary,.back-button{border-radius:var(--r-btn);justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--line-strong)!important;box-shadow:var(--shadow-sm)!important}.back-button{width:fit-content;color:var(--muted)!important;background:0 0!important;border:0!important}.danger-outline{background:var(--red-soft)!important;color:var(--red)!important;border:1px solid var(--red-line)!important;box-shadow:none!important}.app-shell{touch-action:manipulation;background:#fff;grid-template-rows:auto minmax(0,1fr) auto;width:min(440px,100%);height:100%;min-height:0;max-height:100%;margin:0 auto;display:grid;overflow:hidden}@media (width>=760px){body{background:#e9edf2}.app-shell{border:1px solid var(--line-strong);background:var(--bg);height:min(880px,100dvh - 28px);min-height:0;box-shadow:var(--shadow-lg);border-radius:28px;margin-top:14px;overflow:hidden}}@media (width<=480px){.app-shell{width:100%;height:100%;min-height:0;max-height:100%}}.topbar,.app-topbar{min-height:56px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--line);background:#fff;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-brand{align-items:center;gap:9px;min-width:0;display:inline-flex}.topbar-logo{background:var(--teal-soft);width:30px;height:30px;color:var(--teal);border-radius:9px;flex:none;place-items:center;display:grid}.topbar-title{letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:850;overflow:hidden}.top-right{flex:none;align-items:center;gap:8px;display:flex}.bell-btn{background:var(--surface-2);border:1px solid var(--line);color:#4b5563;border-radius:11px;place-items:center;width:38px;height:38px;display:grid;position:relative}.bell-btn:active{transform:scale(.95)}.app-kicker,.id-pill{display:none}.content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:var(--bg);height:100%;min-height:0;padding:14px 14px 18px;position:relative;overflow:hidden auto}.view-slot{min-height:100%}.page-stack{gap:13px;display:grid}.page-enter{animation:.16s ease-out both pageIn}.content.is-switching .page-stack{opacity:.6;transition:opacity .12s}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.page-title{letter-spacing:-.04em;margin:2px;font-size:26px;font-weight:900}.section-title{box-shadow:none;background:0 0;border:0;padding:0}.section-title h1{letter-spacing:-.04em;margin:2px;font-size:26px;font-weight:900}.section-title p{color:var(--muted);margin:2px;font-size:13px}.hero-card{box-shadow:none;background:0 0;border:0;padding:2px}.hero-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hero-copy span{display:none}.hero-copy strong{letter-spacing:-.04em;font-size:26px;font-weight:900;line-height:1.05;display:block}.hero-date{color:var(--muted);text-transform:capitalize;margin:5px 0 0;font-size:13px;font-weight:600}.card,.control-card,.notice-card,.gps-card,.active-run-card,.selected-shops-card,.profile-card,.push-card,.work-card,.stat-card,.run-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sm), var(--shadow-md)}.card,.control-card,.notice-card,.gps-card,.selected-shops-card{padding:14px}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.card-head h2{margin:0;font-size:14.5px;font-weight:800}.card-head span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.muted-text,.control-card p{color:var(--muted);font-size:12.5px;line-height:1.45}.status-card{background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:var(--r-card);align-items:center;gap:12px;padding:14px;display:flex}.status-card .icon-circle{background:var(--teal);color:#fff;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.status-card .status-copy strong{color:var(--teal-dark);font-size:15px;font-weight:850;display:block}.status-card .status-copy span{color:#5a8a8e;margin-top:1px;font-size:12.5px;font-weight:600;display:block}.status-card .live-dot{background:var(--green);border-radius:999px;width:9px;height:9px;margin-left:auto;box-shadow:0 0 0 4px #1aa65329}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.stat-card .stat-icon{border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:9px;display:grid}.stat-card .stat-icon.teal{background:var(--teal-soft);color:var(--teal)}.stat-card .stat-icon.blue{color:var(--blue);background:#e8f0fe}.stat-card>span,.stat-card .stat-label{color:var(--muted);font-size:11.5px;font-weight:700;display:block}.stat-card strong{letter-spacing:-.04em;color:var(--text);margin-top:5px;font-size:24px;font-weight:900;display:block}.stat-delta{color:var(--green);margin-top:6px;font-size:11px;font-weight:800;display:inline-block}.stat-top{justify-content:space-between;align-items:center;display:flex}.section-label{justify-content:space-between;align-items:center;margin:4px 2px 2px;display:flex}.section-label strong{align-items:center;gap:7px;font-size:14px;font-weight:850;display:inline-flex}.section-label a,.section-label .link{color:var(--teal);font-size:12.5px;font-weight:750}.mini-list{gap:9px;display:grid}.mini-item,.history-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:13px;align-items:center;gap:12px;padding:12px;display:flex}.history-ico{background:var(--surface-2);width:34px;height:34px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid}.mini-item strong,.history-row strong{font-size:13px;font-weight:750;display:block}.mini-item span,.history-row .sub{color:var(--muted);margin-top:2px;font-size:12px;display:block}.mini-item b,.history-row .dur{font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.badge-done{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-block}.work-card .wc-label{color:var(--teal);align-items:center;gap:7px;font-size:13px;font-weight:800;display:inline-flex}.work-card .wc-timer{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:8px 0 6px;font-size:40px;font-weight:900;line-height:1}.work-card .wc-status{color:var(--green);align-items:center;gap:7px;font-size:12.5px;font-weight:750;display:inline-flex}.work-card .wc-status i{background:var(--green);border-radius:999px;width:7px;height:7px}.work-card .wc-since{color:var(--muted);margin:3px 0 0;font-size:12px}.work-active{display:none}.control-list{gap:12px;display:grid}.control-top{align-items:flex-start;gap:11px;display:flex}.control-ico{background:var(--teal-soft);width:38px;height:38px;color:var(--teal);border-radius:11px;flex:none;place-items:center;display:grid}.control-top strong{letter-spacing:-.01em;font-size:15px;font-weight:800;display:block}.control-top span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.control-assigned{color:var(--muted);margin-top:7px;font-size:11.5px;font-weight:650}.control-card .control-run-btn,.control-card button{border-radius:11px;width:100%;min-height:42px;margin-top:12px;font-size:13.5px;font-weight:800;background:var(--surface)!important;color:var(--teal)!important;border:1px solid var(--teal-line)!important;box-shadow:none!important}.control-card button:disabled{color:var(--muted)!important;border-color:var(--line-strong)!important;background:var(--surface-2)!important}.run-head h1{letter-spacing:-.04em;margin:0;font-size:24px;font-weight:900}.run-head p{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:600}.run-stepper{align-items:center;gap:4px;margin:4px 2px 2px;padding-bottom:2px;display:flex;overflow-x:auto}.run-step{background:var(--surface);border:1.5px solid var(--line-strong);width:26px;height:26px;color:var(--muted);border-radius:999px;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.run-step.done{background:var(--teal-soft);border-color:var(--teal-line);color:var(--teal-dark)}.run-step.current{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 4px 10px #0c5ce44d}.run-step-line{background:var(--line-strong);flex:8px;min-width:6px;height:2px}.run-step-line.done{background:var(--teal)}.gps-card{gap:10px;padding:0;display:grid;overflow:hidden}.gps-map-shell{width:100%;position:relative}.gps-map-shell .gps-map,.gps-map{background:#e9eef2;border:0;width:100%;height:190px}.gps-badge{z-index:600;border:1px solid var(--green-line);color:var(--green);box-shadow:var(--shadow-sm);background:#fffffff2;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:800;display:inline-flex;position:absolute;bottom:10px;right:10px}.gps-meta{color:var(--muted);padding:0 12px 12px;font-size:11.5px;line-height:1.4}.city-pill{background:var(--surface-2);border:1px solid var(--line);color:#4b5563;border-radius:10px;align-items:center;min-height:34px;margin:0 12px 12px;padding:0 11px;font-size:12px;font-weight:700;display:flex}.leaflet-container{cursor:grab;background:#e9eef2;font-family:inherit}.leaflet-container:active{cursor:grabbing}.center-map-pin,.center-target{z-index:500;pointer-events:none;position:absolute;top:50%;left:50%}.center-map-pin{color:var(--teal);filter:drop-shadow(0 3px 6px #00000040);transform:translate(-50%,-100%)}.center-target{z-index:600;place-items:center;width:40px;height:40px;display:grid;transform:translate(-50%,-50%)}.target-ring{border:2px solid var(--teal);background:#0c5ce41a;border-radius:999px;position:absolute;inset:0}.target-ring:before,.target-ring:after{content:"";background:var(--teal);position:absolute}.target-ring:before{width:2px;height:54px;top:-7px;left:50%;transform:translate(-50%)}.target-ring:after{width:54px;height:2px;top:50%;left:-7px;transform:translateY(-50%)}.target-dot{z-index:2;background:var(--teal);border:3px solid #fff;border-radius:999px;width:12px;height:12px;position:relative;box-shadow:0 2px 6px #00000040}.camera-button{width:100%}.photo-capture-box{gap:9px;display:grid}.photo-capture-box>div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.photo-capture-box span{color:var(--text);font-size:12.5px;font-weight:700}.photo-capture-box small{white-space:nowrap}.photo-capture-box .camera-button{width:100%}.hidden-file-input{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important}.file-input{display:none}.photo-preview{gap:8px;display:flex;overflow-x:auto}.photo-preview img{object-fit:cover;border:1px solid var(--line);border-radius:11px;flex:none;width:70px;height:70px}.building-section{gap:12px;display:grid}.building-label,.answer-label{color:var(--text);font-size:13px;font-weight:750}.building-type-group{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr 1fr;gap:0;padding:4px;display:grid}.btype-btn{min-height:42px;color:var(--muted);background:0 0;border-radius:10px;font-size:14px;font-weight:750}.btype-btn.active{background:var(--surface);color:var(--teal);border:1px solid var(--teal-line);box-shadow:var(--shadow-sm)}.answer-row{gap:9px;padding:12px 0 0;display:grid}.answer-row>span{font-size:13px;font-weight:750}.yesno-group{grid-template-columns:1fr 1fr;gap:10px;display:grid}.yesno-btn{border:1.5px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:800;display:inline-flex}.yesno-btn.yes{color:var(--green)}.yesno-btn.no{color:var(--red)}.yesno-btn.yes.active{background:var(--green-soft);border-color:var(--green);color:var(--green)}.yesno-btn.no.active{background:var(--red-soft);border-color:var(--red);color:var(--red)}.address-result{border-radius:12px;align-items:center;gap:8px;width:100%;padding:11px 14px;font-size:13.5px;font-weight:800;display:inline-flex}.address-result.ano{background:var(--green-soft);border:1px solid var(--green-line);color:var(--green)}.address-result.ne{background:var(--red-soft);border:1px solid var(--red-line);color:var(--red)}.address-progress-box{display:none}.error,.success{border-radius:12px;padding:11px 13px;font-size:12.5px;font-weight:700;line-height:1.4}.error{background:var(--red-soft);border:1px solid var(--red-line);color:var(--red)}.success{background:var(--green-soft);border:1px solid var(--green-line);color:var(--green)}.empty,.empty-card{color:var(--muted);font-size:13px}.empty-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:14px;padding:18px}.profile-card{align-items:center;gap:14px;padding:16px;display:flex}.avatar{background:var(--teal-soft);width:60px;height:60px;color:var(--teal);border-radius:999px;flex:none;place-items:center;font-size:24px;font-weight:900;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.profile-card .pc-name{font-size:18px;font-weight:850}.profile-card .pc-id{color:var(--muted);margin-top:2px;font-size:12.5px}.push-card{align-items:center;gap:12px;padding:14px;display:flex}.push-icon{background:var(--teal-soft);width:38px;height:38px;color:var(--teal);border-radius:11px;flex:none;place-items:center;display:grid}.push-copy{flex:auto;min-width:0}.push-copy strong{font-size:14px;font-weight:800;display:block}.push-copy span{color:var(--muted);margin-top:1px;font-size:12px;display:block}.push-copy .push-err{color:var(--red);font-weight:700}.push-copy .push-ok{color:var(--green);font-weight:700}.switch{background:var(--line-strong);border:0;border-radius:999px;flex:none;width:50px;height:30px;transition:background .18s;position:relative}.switch.on{background:var(--teal)}.switch:after{content:"";background:#fff;border-radius:999px;width:24px;height:24px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch.on:after{transform:translate(20px)}.switch:disabled{opacity:.5}.push-btn,.push-state-on{display:none}.info-list{padding:0;overflow:hidden}.info-list-head{color:var(--muted-2);letter-spacing:.06em;text-transform:uppercase;padding:13px 15px 4px;font-size:10.5px;font-weight:800}.info-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:56px;padding:12px 15px;display:flex}.info-row:last-child{border-bottom:0}.info-row .ir-ico{background:var(--teal-soft);width:34px;height:34px;color:var(--teal);border-radius:10px;flex:none;place-items:center;display:grid}.info-row .ir-copy{flex:auto;min-width:0}.info-row .ir-label{color:var(--muted);font-size:11.5px;font-weight:700}.info-row .ir-value{word-break:break-word;margin-top:1px;font-size:13.5px;font-weight:700}.profile-logout{background:var(--red-soft);width:100%;min-height:48px;color:var(--red);border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;margin-top:2px;font-size:14px;font-weight:800;display:inline-flex}.bottom-nav{--nav-gap:max(8px, env(safe-area-inset-bottom,0px));min-height:calc(54px + var(--nav-gap));padding:7px 10px var(--nav-gap);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);touch-action:manipulation;background:#fffffff5;flex:none;grid-template-columns:repeat(3,1fr);display:grid}.bottom-nav button{min-height:44px;color:var(--muted-2);background:0 0;border-radius:12px;place-items:center;gap:3px;font-size:10.5px;font-weight:700;line-height:1;transition:color .15s,transform .12s;display:grid}.bottom-nav button span{display:block}.bottom-nav button:active{transform:scale(.95)}.bottom-nav button.active,.bottom-nav button.active svg{color:var(--teal)}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10182866;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(420px,100%);max-height:86vh;box-shadow:var(--shadow-lg);border-radius:18px;padding:18px;overflow:auto}.modal h2{margin:0 0 10px;font-size:18px;font-weight:850}.modal p{color:var(--muted);margin:8px 0;font-size:13px;line-height:1.5}.modal button{width:100%;margin-top:14px}.app-loading{z-index:40;background:var(--bg);opacity:0;pointer-events:none;place-items:center;transition:opacity .28s;display:grid;position:absolute;inset:0}.app-loading.is-active{opacity:1;pointer-events:auto}.loader-brand{justify-items:center;gap:14px;display:grid}.loader-logo-wrap{place-items:center;width:88px;height:88px;display:grid;position:relative}.loader-logo{object-fit:contain;width:56px;height:56px;box-shadow:none;background:0 0;border-radius:0}.loader-ring{border:3px solid var(--teal-soft);border-top-color:var(--teal);border-radius:50%;animation:.8s linear infinite loaderSpin;position:absolute;inset:0}.loader-name{color:var(--text);font-size:17px;font-weight:850}@keyframes loaderSpin{to{transform:rotate(360deg)}}.status-card.off{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.status-card.off .icon-circle{background:var(--surface-2);color:var(--muted)}.status-card.off .status-copy strong{color:var(--text)}.status-card.off .status-copy span{color:var(--muted)}.run-progressbar{background:var(--line-strong);border-radius:999px;height:7px;margin:4px 2px;overflow:hidden}.run-progressbar span{background:var(--teal);border-radius:999px;height:100%;transition:width .25s;display:block}.work-card{text-align:center;background:radial-gradient(120% 100% at 50% 0%, #0c5ce40f 0%, #0c5ce400 60%), var(--surface)}.work-card .wc-label,.work-card .wc-status{justify-content:center}.work-card .wc-timer{color:var(--text)}.work-card .full-button{margin-top:16px}.stat-card{transition:transform .14s,box-shadow .14s}.stat-card:active{transform:translateY(1px)}.control-card,.history-row,.info-list,.push-card,.status-card{transition:transform .14s,box-shadow .14s}.control-card:active{transform:scale(.996)}.status-card:not(.off){background:linear-gradient(180deg, #ecfafb 0%, var(--teal-soft) 100%)}.gps-card{box-shadow:var(--shadow-sm), var(--shadow-md)}.full-button{box-shadow:0 10px 22px #0c5ce442}.section-label{margin-top:8px}.section-label strong{color:#1f2d3d}.topbar-logo{box-shadow:inset 0 0 0 1px #0c5ce41f}.page-title,.run-head h1,.hero-copy strong{color:#16222f}.bottom-nav button.active svg{filter:drop-shadow(0 2px 6px #0c5ce459)}.content::-webkit-scrollbar{width:8px}.content::-webkit-scrollbar-thumb{background:#d3d9e1;border-radius:999px}.content::-webkit-scrollbar-track{background:0 0}.topbar-logo svg,.control-ico svg,.status-card .icon-circle svg,.stat-icon svg,.history-ico svg,.push-icon svg,.info-row .ir-ico svg,.avatar svg,.bell-btn svg,.brand-mark svg{display:block}.app-shell{position:relative}.page-title,.section-title h1,.run-head h1,.hero-copy strong{font-size:20px}.hero-date{margin-top:3px;font-size:12px}.stat-card .stat-icon{border-radius:9px;width:30px;height:30px;margin-bottom:7px}.stat-card strong{margin-top:4px;font-size:20px}.section-label{margin:6px 2px 1px}.mini-list{gap:8px}.history-ico{border-radius:9px;width:32px;height:32px}.control-ico{border-radius:10px;width:34px;height:34px}.control-assigned{margin-top:6px;font-size:11px}.run-head h1{font-size:20px}.run-head p{font-size:12px}.building-label,.answer-label,.answer-row>span,.answer-row span{font-size:12.5px}.info-row .ir-ico{border-radius:9px;width:32px;height:32px}.bottom-nav{min-height:calc(50px + var(--nav-gap))}.skeleton{background:linear-gradient(90deg,#eef1f5 25%,#e2e7ee 50%,#eef1f5 75%) 0 0/200% 100%;border-radius:14px;animation:1.3s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.page-title,.section-title h1,.run-head h1,.hero-copy strong{letter-spacing:-.03em;font-size:18px}.status-card{gap:10px;padding:10px}.status-card .icon-circle{border-radius:10px;width:34px;height:34px}.status-card .status-copy strong{font-size:13px}.status-card .status-copy span{font-size:11px}.stats-grid{gap:9px}.stat-card .stat-icon{width:28px;height:28px;margin-bottom:6px}.section-label strong{font-size:12.5px}.history-row,.mini-item{gap:9px;padding:9px}.history-ico{width:30px;height:30px}.history-row strong,.mini-item strong{font-size:12px}.history-row .sub,.mini-item span{font-size:11px}.history-row .dur,.mini-item b{font-size:12px}.badge-done{padding:2px 7px;font-size:10px}.work-card .wc-label{font-size:12px}.work-card .wc-status{font-size:12px}.control-list{gap:9px}.control-card{padding:11px}.control-ico{width:32px;height:32px}.control-top strong{font-size:13.5px}.control-top span{font-size:11px}.control-assigned{font-size:10.5px}.control-card button{min-height:38px;margin-top:9px;font-size:12.5px}.full-button,.login-card button,.login-form button,.control-form-mobile>button,.camera-button{min-height:42px;font-size:13.5px}.btype-btn{min-height:38px;font-size:13px}.yesno-btn{min-height:42px;font-size:13px}.address-result{padding:9px 11px;font-size:12.5px}.building-label,.answer-label,.answer-row>span{font-size:12px}.profile-card{gap:11px;padding:12px}.profile-card .pc-name{font-size:15px}.profile-card .pc-id{font-size:11.5px}.push-card{padding:11px}.push-copy strong{font-size:13px}.push-copy span{font-size:11px}.info-row{min-height:46px;padding:9px 12px}.info-row .ir-ico{width:30px;height:30px}.info-row .ir-value{font-size:12.5px}.info-row .ir-label{font-size:11px}.profile-logout{min-height:42px;font-size:13px}.topbar,.app-topbar{min-height:50px}.topbar-logo{width:28px;height:28px}.bottom-nav{--nav-gap:max(22px, env(safe-area-inset-bottom,0px));min-height:calc(48px + var(--nav-gap))}.bottom-nav button{min-height:38px;font-size:10px}.control-ico,.status-card .icon-circle,.stat-card .stat-icon,.history-ico,.push-icon,.info-row .ir-ico,.topbar-logo,.bell-btn,.brand-mark{justify-content:center;align-items:center;line-height:0;display:flex!important}.control-ico svg,.status-card .icon-circle svg,.stat-card .stat-icon svg,.history-ico svg,.push-icon svg,.info-row .ir-ico svg,.topbar-logo svg,.bell-btn svg,.brand-mark svg{display:block}.sheet{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);max-height:82vh;box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sheet-head strong{font-size:16px;font-weight:850}.sheet-close{background:var(--surface-2);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;display:flex}.notif-list{flex:auto;gap:8px;min-height:120px;padding:12px 14px;display:grid;overflow-y:auto}.notif-item{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.notif-item span{color:var(--text);font-size:13px;line-height:1.4;display:block}.notif-item.admin{background:var(--teal-soft);border-color:var(--teal-line)}.notif-item.mine{background:#fff8ec;border-color:#f6dca9}.notif-compose{border-top:1px solid var(--line);gap:8px;padding:12px 14px;display:flex}.notif-compose input{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:12px;outline:0;flex:auto;height:44px;padding:0 13px}.notif-compose button{background:linear-gradient(180deg, var(--teal), var(--teal-dark));color:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:48px;height:44px;display:flex}.notif-sent{color:var(--green);padding:0 14px 12px;font-size:12px;font-weight:750}.topbar-logo{width:24px;height:24px;color:var(--teal);box-shadow:none!important;background:0 0!important}.topbar-title{font-weight:800}.login-brand{justify-content:center;align-items:center;gap:8px;margin-bottom:22px;display:flex}.brand-logo{width:30px;height:30px;color:var(--teal);background:0 0;place-items:center;display:grid}.brand-word{letter-spacing:-.02em;color:#0f1b2d;font-size:20px;font-weight:850}.login-titles{text-align:center;gap:6px;margin-bottom:20px;display:grid}.login-titles strong{letter-spacing:-.03em;font-size:24px;font-weight:850}.login-titles span{color:var(--muted);font-size:13px}.login-forgot{text-align:center;width:100%;color:var(--teal);background:0 0;margin-top:14px;font-size:13px;font-weight:750;display:block}.hero-greet{letter-spacing:-.03em;color:#0f1b2d;font-size:22px;font-weight:850;display:block}.hero-date{color:var(--muted);align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:600;display:inline-flex}.state-toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.state-btn{min-height:44px;color:var(--muted);background:0 0;border-radius:11px;justify-content:center;align-items:center;font-size:14px;font-weight:750;display:inline-flex}.state-btn.on{background:var(--teal);color:#fff;box-shadow:0 6px 16px #0c5ce442}.stat-card .stat-icon{background:var(--teal-soft);color:var(--teal)}.history-row{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.history-row strong{white-space:nowrap;font-size:13px;font-weight:750}.history-row .hr-range{color:var(--muted);font-size:12.5px}.history-row .hr-dur{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px;font-weight:800}.work-card .wc-label{color:var(--teal)}.wc-left{min-width:0}.work-card .wc-timer{margin:2px 0;font-size:30px}.work-card .wc-since{font-size:12px}.wc-btn{background:var(--teal);color:#fff;border-radius:11px;flex:none;min-height:42px;padding:0 16px;font-size:13.5px;font-weight:800;box-shadow:0 8px 18px #0c5ce442}.wc-btn:active{transform:translateY(1px)}.control-row{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:13px 14px}.cr-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.cr-top strong{letter-spacing:-.01em;min-width:0;font-size:15px;font-weight:800}.cr-run{background:var(--teal);color:#fff;border-radius:10px;flex:none;min-height:36px;padding:0 14px;font-size:12.5px;font-weight:800;box-shadow:0 6px 14px #0c5ce43d}.cr-run:disabled{background:var(--surface-2);color:var(--muted);box-shadow:none}.cr-meta{flex-wrap:wrap;gap:12px;margin-top:9px;display:flex}.cr-meta span{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.cr-meta svg{color:var(--muted-2)}.cr-locked{color:var(--danger);margin-top:9px;font-size:11.5px;font-weight:700}.run-sub{color:var(--muted);margin-top:4px;font-size:13px}.num-section{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;gap:12px;padding:14px;display:grid}.num-head{color:#0f1b2d;align-items:center;gap:10px;font-size:14px;font-weight:800;display:flex}.num-circle{background:var(--teal);color:#fff;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;font-size:12.5px;font-weight:800;display:grid}.gps-ok{color:var(--green);align-items:center;gap:6px;font-size:12.5px;font-weight:750;display:inline-flex}.eval-card{padding:4px 14px}.eval-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;font-size:14px;display:flex}.eval-row:last-child{border-bottom:0}.eval-row>span{color:#374151;font-weight:600}.eval-row b{align-items:center;gap:6px;font-weight:800;display:inline-flex}.eval-row b.yes{color:var(--green)}.eval-row b.no{color:var(--danger)}.eval-row b.plain{color:var(--text)}.note-area{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:110px;color:var(--text);resize:vertical;font:inherit;border-radius:14px;outline:0;padding:13px}.content,.app-shell{background:#fff}.card,.control-card,.control-row,.work-card,.stat-card,.num-section,.gps-card,.profile-card,.push-card,.info-list,.history-row,.mini-item,.status-card,.login-card{box-shadow:none!important}.login-card{max-width:340px;background:0 0!important;border:0!important;padding:0!important}.login-card input,.login-form input{border:1px solid var(--line-strong);background:#fff;border-radius:12px;height:48px}.full-button,.login-card button,.login-form button,.control-form-mobile>button,.camera-button{background:var(--teal);box-shadow:none;border-radius:12px;min-height:48px}.full-button:active{filter:brightness(.97);transform:translateY(1px)}.ghost-button{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;font-size:13.5px;font-weight:750;display:inline-flex}.ghost-button:active{background:var(--surface-2)}.gps-field{gap:10px;display:grid}.gps-map-shell{border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden}.gps-map-shell .gps-map,.gps-map{height:230px}.gps-badge{border:1px solid var(--line);color:var(--teal);background:#fff}.center-map-pin{display:none}.target-ring{border-color:var(--teal);background:#0c5ce41a}.target-ring:before,.target-ring:after,.target-dot{background:var(--teal)}.seg,.yn-group{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg-btn,.yn-btn{border:1px solid var(--line-strong);min-height:50px;color:var(--muted);background:#fff;border-radius:12px;font-size:15px;font-weight:750}.seg-btn.on,.yn-btn.on{background:var(--teal);border-color:var(--teal);color:#fff}.q-block{gap:9px;display:grid}.q-label{color:var(--text);font-size:14px;font-weight:700}.run-head{margin:2px 0}.run-head h1{letter-spacing:-.03em;font-size:22px;font-weight:850}.run-crumb{color:var(--teal);margin:0 0 2px;font-size:12.5px;font-weight:750}.summary{display:grid}.sum-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 2px;font-size:15px;display:flex}.sum-row:last-child{border-bottom:0}.sum-row>span{color:var(--muted)}.sum-row b{color:var(--text);font-weight:800}.sum-row b.yes{color:var(--teal)}.sum-row b.no{color:var(--danger)}.note-area{border:1px solid var(--line-strong);width:100%;min-height:96px;color:var(--text);resize:vertical;font:inherit;background:#fff;border-radius:12px;outline:0;padding:12px 13px}.num-section{background:0 0;border:0;padding:0}.work-card,.control-row,.stat-card{border:1px solid var(--line)}.wc-btn,.cr-run,.state-btn.on,.seg-btn.on,.yn-btn.on{box-shadow:none}.content{background:#f5f7fa}.topbar-logo-img{object-fit:contain;width:auto;max-width:150px;height:26px;display:block}.bell-dot{background:#ef4444;border:2px solid #fff;border-radius:999px;width:9px;height:9px;position:absolute;top:7px;right:8px}.control-row{border:1px solid var(--line);background:#fff;border-radius:14px;gap:11px;padding:14px;display:grid}.cr-name{letter-spacing:-.01em;font-size:15.5px;font-weight:800}.cr-fields{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cr-field{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:3px;padding:9px 10px;display:grid}.cr-field span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:700}.cr-field b{font-size:13.5px;font-weight:800}.cr-run{background:var(--teal);color:#fff;width:100%;min-height:44px;box-shadow:none;border-radius:11px;font-size:14px;font-weight:800}.cr-run:disabled{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.work-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.work-card .wc-label{color:var(--teal);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.wc-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.work-card .wc-timer{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:900;line-height:1}.work-card .wc-since{color:var(--muted);margin-top:4px;font-size:12px}.wc-btn{background:var(--teal);color:#fff;min-height:44px;box-shadow:none;border-radius:11px;flex:none;padding:0 18px;font-size:14px;font-weight:800}.gps-placeholder{color:var(--muted);background:#eef1f5;align-content:center;place-items:center;gap:8px;font-size:13px;font-weight:700;display:grid;position:absolute;inset:0}.gps-placeholder svg{color:var(--muted-2)}.photo-empty,.photo-thumb{border:1px solid var(--line-strong);background:#fff;border-radius:14px;width:100%}.photo-empty{min-height:150px;color:var(--muted);border-style:dashed;align-content:center;place-items:center;gap:8px;font-size:14px;font-weight:700;display:grid}.photo-empty svg{color:var(--teal)}.photo-thumb{padding:0;display:block;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:190px;display:block}.yn-group.locked{opacity:.4}.yn-btn:disabled{cursor:not-allowed}.sum-row b.addr{text-align:right;max-width:64%;font-weight:700}.sum-photo{border:1px solid var(--line);border-radius:14px;margin-top:2px;overflow:hidden}.sum-photo img{object-fit:cover;width:100%;max-height:220px;display:block}.notif-list{max-height:60vh;overflow-y:auto}.notif-item{align-items:flex-start;gap:11px;display:flex}.notif-ico{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.notif-item.accent .notif-ico{background:var(--teal-soft);color:var(--teal)}.notif-body{min-width:0}.notif-text{color:var(--text);font-size:13px;line-height:1.4;display:block}.notif-item time{color:var(--muted);margin-top:2px;font-size:10.5px;display:block}.page-title,.hero-greet,.run-head h1{letter-spacing:-.03em;font-size:19px}.full-button,.login-submit,.cr-run{min-height:44px;font-size:13.5px}.q-label{font-size:13px}.yn-btn.yes.on{background:var(--green);border-color:var(--green);color:#fff}.yn-btn.no.on{background:var(--red);border-color:var(--red);color:#fff}.photo-thumb img{object-fit:contain;background:#eef1f5;height:210px}.run-progress{margin:2px 0 4px}.rp-bar{background:var(--line-strong);border-radius:999px;height:8px;overflow:hidden}.rp-bar span{background:var(--teal);border-radius:999px;height:100%;transition:width .3s;display:block}.rp-info{color:var(--muted);justify-content:space-between;gap:8px;margin-top:6px;font-size:11.5px;font-weight:650;display:flex}.back-button{border-radius:999px;align-items:center;gap:5px;width:fit-content;min-height:34px;padding:0 13px 0 10px;font-size:13px;font-weight:700;display:inline-flex;border:1px solid var(--line)!important;color:#374151!important;box-shadow:none!important;background:#fff!important}.back-button:active{background:var(--surface-2)!important}.pause-note{color:#b45309;background:#fff7ed;border:1px solid #fed7aa;border-radius:11px;padding:10px 12px;font-size:12.5px;font-weight:700}.help-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px}.help-card h3{margin:0 0 8px;font-size:14px;font-weight:800}.help-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.help-card ol{color:#374151;margin:0;padding-left:18px;font-size:13px;line-height:1.6}.help-card li{margin-bottom:4px}.bottom-nav.nav4{grid-template-columns:repeat(4,1fr)}.bottom-nav.nav4 button{font-size:9.5px}.bottom-nav.nav4 button svg{width:17px;height:17px}.login-brand{justify-content:center;margin-bottom:18px;display:flex}.login-logo-img{object-fit:contain;width:auto;max-width:210px;height:46px;display:block}.login-submit{background:var(--teal);color:#fff;width:100%;min-height:50px;box-shadow:none;border-radius:12px;font-size:15px;font-weight:800}.login-submit:active{filter:brightness(1.15)}.notif-del{width:30px;height:30px;color:var(--muted-2);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.notif-del:active{background:var(--red-soft);color:var(--red)}.bottom-nav button.active,.bottom-nav button.active svg{color:var(--teal)}.topbar-left{align-items:center;min-width:0;display:flex}.topbar-back{width:38px;height:38px;color:var(--text);background:0 0;border:0;place-items:center;margin-left:-8px;display:grid}.topbar-back:active{opacity:.6}.topbar-id{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:12px;font-weight:800}.bell-btn{color:#374151;place-items:center;width:38px;height:38px;display:grid;position:relative;box-shadow:none!important;background:0 0!important;border:0!important}.notif-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.clear-all{color:var(--red);background:0 0;font-size:12.5px;font-weight:750}.notif-list2{gap:8px;display:grid}.notif-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:58px;padding:11px 11px 11px 14px;display:flex}.notif-row-main{flex:auto;min-width:0}.notif-row-text{color:var(--text);font-size:13.5px;font-weight:650;line-height:1.35;display:block}.notif-row time{color:var(--muted);margin-top:3px;font-size:11px;display:block}.notif-del{background:var(--red-soft);width:34px;height:34px;color:var(--red);border:0;border-radius:9px;flex:none;place-items:center;display:grid}.hist-list{gap:8px;display:grid}.hist-day{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 13px}.hist-date{justify-content:space-between;align-items:center;display:flex}.hist-date span{font-size:13px;font-weight:800}.hist-date b{color:var(--teal);font-size:12.5px;font-weight:800}.hist-ranges{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.hist-ranges li{color:#374151;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12.5px;display:flex}.hr-dot{background:var(--teal);border-radius:999px;flex:none;width:6px;height:6px}.chat-page{flex-direction:column;min-height:calc(100dvh - 165px);display:flex}.chat-sub{color:var(--muted);margin:2px 0 0;font-size:12.5px}.chat-list{flex-direction:column;flex:auto;gap:8px;padding:12px 0;display:flex;overflow-y:auto}.chat-bubble span{display:block}.chat-bubble time{opacity:.65;margin-top:3px;font-size:10px;display:block}.chat-bubble.out{background:var(--teal);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}.chat-bubble.in{border:1px solid var(--line);color:var(--text);background:#fff;border-bottom-left-radius:5px;align-self:flex-start}.chat-compose{gap:8px;padding-top:8px;display:flex}.chat-compose input{border:1px solid var(--line-strong);background:#fff;border-radius:999px;outline:0;flex:auto;height:46px;padding:0 14px}.chat-compose button{background:var(--teal);color:#fff;border-radius:999px;flex:none;place-items:center;width:48px;height:46px;display:grid}.ov-list{gap:8px;display:grid}.ov-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:11px 12px;display:flex}.ov-row.done{border-color:var(--green-line)}.ov-num{background:var(--surface-2);width:28px;height:28px;color:var(--muted);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.ov-row.done .ov-num{background:var(--green-soft);color:var(--green)}.ov-main{flex:auto;min-width:0}.ov-main strong{font-size:13.5px;font-weight:750;display:block}.ov-main span{color:var(--muted);margin-top:1px;font-size:12px;display:block}.ov-check{color:var(--green);flex:none}.topbar-title{letter-spacing:-.02em;color:var(--text);font-size:17px;font-weight:850}.topbar-back+.topbar-title{font-size:16px}.content{padding:10px 11px 14px}.page-stack{gap:9px}.hero-date,.section-label strong{font-size:12px}.full-button,.login-submit,.cr-run,.wc-btn{min-height:42px;font-size:13px}.seg-btn,.yn-btn{min-height:44px;font-size:13.5px}.stat-card{padding:11px}.stat-card .stat-icon{width:28px;height:28px}.stat-card .stat-label{font-size:10px}.stat-card strong{font-size:18px}.work-card{padding:13px}.work-card .wc-timer{font-size:27px}.control-row{gap:9px;padding:12px}.cr-name{font-size:14px}.cr-field{padding:8px 9px}.cr-field b,.q-label{font-size:12.5px}.q-note{color:var(--muted);font-size:11.5px;font-weight:600}.run-head{gap:7px;margin:0 0 2px;display:grid}.run-stepline{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.run-stepline span{color:var(--teal);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.run-stepline b{letter-spacing:-.02em;font-size:16px;font-weight:850}.rp-bar{height:6px}.rp-meta{color:var(--muted);font-size:11px;font-weight:600}.photo-box{border:1px solid var(--line-strong);background:#eef1f5;border-radius:13px;place-items:center;width:100%;height:190px;padding:0;display:grid;position:relative;overflow:hidden}.photo-box:not(.has){border-style:dashed}.photo-box img{object-fit:contain;width:100%;height:100%}.photo-hint{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.photo-hint svg{color:var(--teal)}.photo-change{color:#fff;background:#111827cc;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;bottom:8px;right:8px}.sum-row{padding:11px 2px;font-size:13.5px}.notif-count{color:var(--muted);font-size:12px;font-weight:700}.profile-card{padding:12px}.avatar{width:48px;height:48px;font-size:18px}.info-row{min-height:46px}.topbar-title{font-size:16px}.hist-day{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.hist-head{text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}.hh-main{flex:auto;min-width:0}.hh-main strong{font-size:13px;font-weight:800;display:block}.hh-main span{color:var(--muted);margin-top:1px;font-size:11.5px;display:block}.hh-dur{color:var(--teal);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px;font-weight:800}.hh-chev{color:var(--muted-2);flex:none;transition:transform .18s}.hist-day.open .hh-chev{transform:rotate(180deg)}.hist-detail{border-top:1px solid var(--line);gap:6px;padding:9px 12px 10px;display:grid}.hist-seg{color:#374151;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12.5px;display:flex}.hs-num{color:var(--teal);font-weight:800}.sum-photo{background:#eef1f5}.sum-photo img{max-height:240px;object-fit:contain!important}.nav-ico{display:inline-flex;position:relative}.nav-dot{background:#ef4444;border:2px solid #fff;border-radius:999px;width:8px;height:8px;position:absolute;top:-3px;right:-5px}.q-req{color:var(--red);letter-spacing:.03em;font-size:11px;font-weight:800}.content:has(.chat-page){padding:0;overflow:hidden}.chat-page{top:0;left:0;right:0;bottom:var(--kb,0px);flex-direction:column;min-height:0;padding:12px 12px 10px;transition:bottom .15s;display:flex;position:absolute}.chat-list{flex-direction:column;flex:auto;gap:8px;min-height:0;padding-bottom:8px;display:flex;overflow-y:auto}.chat-skel{flex-direction:column;gap:8px;display:flex}.chat-compose{flex:none;padding-top:8px}.login-screen{background:#fff}.login-card input,.login-form input{border:1px solid var(--line-strong);background:#fff}.login-form .error,.login-card .error{margin:4px 0 14px}.login-submit{margin-top:6px}.qrow{align-items:center;gap:10px;display:flex}.qrow-n{text-align:center;width:22px;color:var(--muted);flex:none;font-size:14px;font-weight:800}.qrow .yn-group{flex:auto}.photo-box{height:230px}.photo-box img{object-fit:contain!important}.photo-take{border:1px dashed var(--line-strong);width:100%;min-height:60px;color:var(--teal);background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:9px;font-size:14px;font-weight:750;display:inline-flex}.photo-take.has{color:var(--green);border-style:solid;border-color:var(--green-line);background:var(--green-soft)}.photo-take:active{transform:translateY(1px)}.sum-photos{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.sum-photos img{object-fit:contain;border:1px solid var(--line);background:#eef1f5;border-radius:12px;width:100%;max-height:230px;display:block}.ticket-page{gap:0}.ticket-list-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 10px;display:flex}.ticket-list-head strong{letter-spacing:-.02em;font-size:17px;display:block}.ticket-list-head span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.ticket-list-head button,.ticket-primary{background:var(--teal);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 13px;font-size:13px;font-weight:850;display:inline-flex}.ticket-list{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ticket-row{border:1px solid var(--line);text-align:left;background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.ticket-row-main{min-width:0}.ticket-row-main strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.ticket-row-main span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:210px;margin-top:4px;font-size:12px;display:block;overflow:hidden}.ticket-row-side{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.ticket-row-side time{color:var(--muted);white-space:nowrap;font-size:10.5px}.ticket-status{border-radius:999px;justify-content:center;align-items:center;height:22px;padding:0 8px;font-size:10.5px;font-weight:850;display:inline-flex}.ticket-status.open{background:var(--teal-soft);color:var(--teal)}.ticket-status.done{color:#667085;background:#eef1f5}.ticket-empty{min-height:220px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.ticket-empty strong{color:var(--text);font-size:15px}.ticket-empty span{max-width:260px;font-size:12.5px}.ticket-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ticket-head strong{font-size:15px}.ticket-back{height:34px;color:var(--teal);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:850;display:inline-flex}.ticket-new{gap:12px;padding:14px 12px;display:grid;overflow-y:auto}.ticket-new label span{color:var(--text);margin:0 0 6px;font-size:12px;font-weight:850;display:block}.ticket-new input,.ticket-new textarea{border:1px solid var(--line-strong);width:100%;color:var(--text);font:inherit;background:#fff;border-radius:14px;outline:0;padding:0 13px}.ticket-new input{height:44px}.ticket-new textarea{resize:none;min-height:138px;padding:12px 13px}.ticket-detail-title{border-bottom:1px solid var(--line);background:#fff;padding:10px 12px}.ticket-detail-title strong{color:var(--text);font-size:15px;display:block}.ticket-detail-title span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.ticket-chat-list{padding-left:12px;padding-right:12px}.ticket-resolved{color:#667085;background:#eef1f5;border-radius:999px;align-self:center;align-items:center;gap:6px;margin:6px auto;padding:8px 10px;font-size:12px;font-weight:750;display:inline-flex}.loader-brand{gap:12px}.loader-sub{color:var(--text);margin-top:-2px;font-size:13px;font-weight:800}.ticket-page{background:var(--bg);gap:0}.ticket-list-head{border-bottom:1px solid var(--line);background:#fff;padding:10px 12px 9px}.ticket-list-head strong{font-size:15px}.ticket-list-head span{font-size:11.5px}.ticket-list-head button,.ticket-primary{border-radius:10px;height:34px;padding:0 11px;font-size:12px}.ticket-list{gap:7px;padding:10px 11px}.ticket-row{border-radius:12px;gap:10px;padding:10px 11px;position:relative}.ticket-row.unread:before{content:"";background:#ef4444;border-radius:999px;width:7px;height:7px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.ticket-row.unread{border-color:#ef44443d;padding-left:18px}.ticket-row-main strong{font-size:13px}.ticket-row-main span{max-width:190px;margin-top:3px;font-size:11.5px}.ticket-row-side{gap:4px}.ticket-row-side time{font-size:10px}.ticket-status{border-radius:7px;height:20px;padding:0 7px;font-size:10px}.ticket-form-head{border-bottom:1px solid var(--line);background:#fff;padding:11px 12px 9px}.ticket-form-head strong{color:var(--text);font-size:15px;display:block}.ticket-form-head span{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.ticket-new{gap:10px;padding:12px}.ticket-new label span{margin-bottom:5px;font-size:11.5px}.ticket-new input{border-radius:11px;height:40px;font-size:13px}.ticket-new textarea{border-radius:11px;min-height:116px;font-size:13px}.ticket-detail-title{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.ticket-detail-title strong{white-space:nowrap;text-overflow:ellipsis;max-width:230px;font-size:13.5px;overflow:hidden}.ticket-detail-title span{margin-top:2px;font-size:10.5px}.ticket-chat-list{gap:6px;padding:10px 12px 8px}.chat-bubble{border-radius:12px;max-width:78%;padding:7px 10px;font-size:12.5px;line-height:1.35}.chat-bubble time{margin-top:2px;font-size:9.5px}.chat-compose{border-top:1px solid var(--line);background:#fff;padding:7px 10px 9px}.chat-compose input{border-radius:12px;height:40px;font-size:13px}.chat-compose button{border-radius:12px;width:42px;height:40px}.ticket-resolved{border-radius:9px;padding:7px 9px;font-size:11.5px}.ticket-error{margin:0 10px 6px}.ticket-stack{align-content:start}.ticket-new-btn{width:100%}.ticket-new-intro{color:var(--muted);margin:0 2px;font-size:13px;font-weight:600}.ticket-stack .ticket-row{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);gap:12px;padding:13px 14px}.ticket-stack .ticket-row.unread{border-color:var(--red-line);padding-left:22px}.ticket-stack .ticket-row.unread:before{left:10px}.ticket-stack .ticket-row-main strong{font-size:14px}.ticket-stack .ticket-row-main span{max-width:210px;margin-top:3px;font-size:12px}.ticket-stack .ticket-new{gap:13px;padding:0;display:grid}.ticket-stack .ticket-new label{gap:6px;margin:0;display:grid}.ticket-stack .ticket-new label span{color:#4b5563;margin:0;font-size:12px;font-weight:700}.ticket-stack .ticket-new input,.ticket-stack .ticket-new textarea{border:1px solid var(--line-strong);background:var(--surface-2);width:100%;color:var(--text);border-radius:var(--r-input);font:inherit;outline:0}.ticket-stack .ticket-new input{height:46px;padding:0 13px}.ticket-stack .ticket-new textarea{resize:vertical;min-height:132px;padding:11px 12px}.ticket-stack .ticket-new .full-button{margin-top:2px}.ticket-stack .ticket-empty{min-height:240px}.ticket-page.chat-page{background:var(--bg)}.ticket-detail-title{background:0 0;border-bottom:0;padding:12px 12px 6px}.ticket-detail-title strong{font-size:15px}.ticket-chat-list{padding-top:4px}.ticket-page .chat-compose{background:0 0;border-top:0;padding:8px 12px 10px}.ticket-resolved{background:var(--surface-2)}.ticket-chat-skel{gap:8px;padding-top:4px;display:grid}.ticket-chat-skel .skeleton:nth-child(2n){justify-self:end}:root{--ru-surface:14px;--ru-control:12px;--ru-chip:10px;--ru-dialog:16px}.card,.control-card,.control-row,.work-card,.stat-card,.gps-card,.gps-map-shell,.profile-card,.push-card,.info-list,.history-row,.mini-item,.status-card,.hist-day,.help-card,.notice-card,.selected-shops-card,.empty-card,.notif-row,.notif-item,.ticket-row,.ticket-stack .ticket-row{border-radius:var(--ru-surface)}.full-button,.login-submit,.login-card button,.login-form button,.control-form-mobile>button,.camera-button,.ghost-button,.wc-btn,.cr-run,.seg-btn,.yn-btn,.btype-btn,.yesno-btn,.profile-logout,.state-btn,.modal button,.ticket-list-head button,.ticket-primary,.login-card input,.login-form input,.control-form-mobile textarea,.notif-compose input,.chat-compose input,.ticket-new input,.ticket-new textarea,.note-area,.city-pill,.pause-note,.error,.success,.address-result,.photo-empty,.photo-thumb,.sum-photo{border-radius:var(--ru-control)}.control-ico,.status-card .icon-circle,.stat-card .stat-icon,.history-ico,.push-icon,.info-row .ir-ico,.notif-ico,.sheet-close,.notif-del,.cr-field,.photo-preview img{border-radius:var(--ru-chip)}.modal,.sheet{border-radius:var(--ru-dialog)}
