:root{--background:#f6faf7;--foreground:#101715;--muted:#66746f;--muted-strong:#384642;--surface:#fff;--surface-soft:#f5faf7;--border:#d9e4de;--border-strong:#bfcec7;--accent:#006f4b;--accent-strong:#00452f;--accent-soft:#e7f6ee;--accent-tint:#f3fbf7;--amber:#a86720;--steel:#45636d;--shadow-sm:0 8px 24px #1118160f;--shadow-md:0 18px 54px #1118161a;--shadow-lg:0 26px 74px #091c1421}*{box-sizing:border-box}html{min-width:320px}body{background:var(--background);min-height:100vh;color:var(--foreground);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #08755338}h1,h2,p{margin-top:0}h1{color:inherit;letter-spacing:0;word-break:keep-all;margin-bottom:0;font-size:2.25rem;font-weight:900;line-height:1.08}h2{letter-spacing:0;margin-bottom:6px;font-size:1.35rem;font-weight:900;line-height:1.22}.app-shell{min-height:100vh;padding:max(24px, env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));position:relative;overflow-x:hidden}.app-shell:before{z-index:-2;background:linear-gradient(180deg, #091c142e, #f3f6f426 58%, var(--background) 100%), url(/visuals/privatenum-windshield-hero.png) center 42% / cover no-repeat;content:"";height:300px;position:absolute;inset:0 0 auto}.app-shell:after{z-index:-3;background:linear-gradient(180deg, #ffffff14, #f3f6f4fa 330px), var(--background);content:"";position:absolute;inset:0}.owner-panel{width:min(980px,100%);margin:0 auto}.topbar{color:#fff;justify-content:space-between;align-items:flex-start;gap:18px;min-height:174px;display:flex}.brand{color:inherit;letter-spacing:0;text-shadow:0 8px 22px #0000003d;margin:0 0 6px;font-size:1.9rem;font-weight:900}.topbar h1{color:#ffffffeb;text-shadow:0 8px 22px #0000003d;max-width:560px;font-size:1.08rem;font-weight:800}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.privacy-chip,.privacy-link,.icon-button,.primary-button,.secondary-button{letter-spacing:0;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:.92rem;font-weight:850;line-height:1;display:inline-flex}.privacy-link,.privacy-chip{box-shadow:var(--shadow-sm);color:var(--accent-strong);background:#ffffffe0;padding:0 13px}.privacy-chip{border-color:#fff6}.icon-button{width:42px;color:var(--foreground);cursor:pointer;background:#ffffffeb}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer;width:100%;min-height:50px;padding:0 16px;box-shadow:0 12px 26px #0875532e}.primary-button:hover{background:var(--accent-strong)}.primary-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button{border-color:var(--border);min-height:40px;color:var(--foreground);cursor:pointer;background:#fff;padding:0 13px}.secondary-button:hover{border-color:var(--border-strong);color:var(--accent-strong)}.secondary-button.danger{color:#804812;border-color:#a8672042}.secondary-button.danger:hover{background:#a8672014}.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);align-items:stretch;gap:14px;margin-top:-54px;display:grid}.workflow-card,.vehicle-section{border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fffffff5;border-radius:8px}.workflow-card{align-content:start;min-height:0;padding:22px;display:grid}.section-title{color:var(--accent-strong);align-items:center;gap:8px;margin-bottom:12px;font-size:.86rem;font-weight:900;display:flex}.lead{color:#17231f;word-break:keep-all;max-width:560px;margin-bottom:16px;font-size:1.26rem;font-weight:900;line-height:1.42}.status-message{border:1px solid #0875531f;border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:.9rem;font-weight:760;line-height:1.5}.auth-form,.vehicle-form{gap:12px;max-width:440px;display:grid}.test-auth-button{width:100%;min-height:48px;color:var(--accent-strong);background:#fff;border-color:#006f4b38}label{color:var(--muted-strong);gap:7px;font-size:.84rem;font-weight:900;display:grid}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--foreground);background:#fff;border-radius:8px;font-size:1rem}input,select{min-height:48px;padding:0 14px}select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 18px) 20px / 6px 6px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 12px) 20px / 6px 6px no-repeat, #fff;font-weight:780}input::placeholder,textarea::placeholder{color:#98a39d}textarea{resize:vertical;min-height:112px;padding:12px 14px;line-height:1.55}.mock-code{color:#70400f;background:#a8672014;border:1px solid #a8672033;border-radius:8px;padding:12px 14px;font-size:.92rem}.security-overview{color:var(--accent-strong);background:linear-gradient(90deg,#e7f5eff5,#fffffff5),#fff;border:1px solid #08755324;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:grid}.security-overview>svg{background:var(--accent);color:#fff;border-radius:8px;width:54px;height:54px;padding:13px}.security-overview strong,.security-overview span{display:block}.security-overview strong{color:var(--foreground);margin-bottom:4px;font-size:1.08rem;font-weight:900}.security-overview span{color:var(--muted-strong);font-size:.9rem;line-height:1.45}.quick-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quick-action{border:1px solid var(--border);min-height:88px;color:var(--accent-strong);cursor:pointer;text-align:center;background:#fff;border-radius:8px;place-items:center;gap:8px;padding:12px 8px;display:grid}.quick-action span{color:var(--foreground);font-size:.86rem;font-weight:900}.quick-action:disabled{cursor:not-allowed;opacity:.55}.inbox-preview{box-shadow:var(--shadow-sm)}.inbox-preview .section-title{color:var(--steel)}.timeline{border-top:1px solid var(--border);grid-template-columns:18px 1fr;gap:12px;padding:14px 0;display:grid}.timeline:first-of-type{border-top:0}.timeline-dot{background:var(--accent);border-radius:999px;width:10px;height:10px;margin-top:5px;box-shadow:0 0 0 5px #0875531a}.timeline strong{color:var(--foreground);font-size:.95rem;display:block}.timeline p{color:var(--muted);margin:5px 0 0;font-size:.88rem;line-height:1.48}.vehicle-section{margin-top:14px;padding:22px}.section-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.section-header p{color:var(--muted);margin-bottom:0;line-height:1.5}.section-header span{background:var(--surface-soft);color:var(--accent-strong);border-radius:8px;padding:7px 11px;font-size:.88rem;font-weight:900}.empty-state,.qr-missing{border:1px dashed var(--border-strong);background:var(--surface-soft);min-height:132px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;padding:18px;display:grid}.empty-state p,.qr-missing span{margin:9px 0 0;font-size:.9rem;line-height:1.45}.vehicle-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.vehicle-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) 164px;gap:14px;min-height:206px;padding:14px;display:grid}.vehicle-copy strong{color:#121a17;margin-bottom:8px;font-size:1.1rem;font-weight:900;display:block}.vehicle-copy span,.vehicle-copy small,.qr-note{color:var(--muted);font-size:.88rem;line-height:1.5;display:block}.vehicle-copy small{background:var(--accent-soft);width:fit-content;color:var(--accent-strong);border-radius:8px;margin-top:14px;padding:6px 10px;font-weight:900}.qr-box{justify-items:center;gap:9px;display:grid}.qr-box img{border:1px solid var(--border);background:#fff;border-radius:8px;width:134px;height:134px;padding:6px}.qr-actions{grid-template-columns:1fr;gap:7px;width:100%;display:grid}.qr-actions .secondary-button{min-height:36px;font-size:.82rem}.qr-note{margin:14px 0 0}.session-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.session-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.session-card strong,.session-card span,.session-card small{display:block}.session-card strong{margin-bottom:5px;font-size:.98rem}.session-card span,.session-card p{color:var(--muted);font-size:.88rem;line-height:1.5}.session-card small{background:var(--surface-soft);width:fit-content;color:var(--accent-strong);border-radius:8px;margin-top:8px;padding:5px 8px;font-size:.78rem;font-weight:900}.session-card p{background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;margin:0;padding:9px 11px;font-weight:850}.session-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.session-actions .secondary-button{min-height:36px;font-size:.82rem}.caller-shell{background:linear-gradient(180deg, #fff 0, #fff 220px, var(--background) 100%);min-height:100vh;padding:max(20px, env(safe-area-inset-top)) 14px max(20px, env(safe-area-inset-bottom))}.caller-card{border:1px solid var(--border);width:min(560px,100%);min-height:calc(100vh - 40px);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;margin:0 auto;padding:20px}.back-link{color:var(--foreground);align-items:center;gap:7px;margin-bottom:16px;font-size:.92rem;font-weight:900;display:inline-flex}.privacy-footnote{color:var(--muted);text-align:center;margin-top:18px;font-size:.82rem;font-weight:760;display:block}.caller-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-strong);border-radius:8px;place-items:center;margin-bottom:12px;display:grid}.caller-card h1{color:var(--foreground);margin-bottom:8px;font-size:1.68rem}.caller-lead{color:var(--muted-strong);margin-bottom:12px;font-size:.94rem;line-height:1.65}.caller-vehicle-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:54px minmax(0,1fr);gap:12px;margin-bottom:12px;padding:12px;display:grid}.caller-vehicle-thumb{width:54px;height:54px;color:var(--accent-strong);background:linear-gradient(#ffffff47,#ffffffb8),url(/visuals/privatenum-windshield-hero.png) 50%/cover no-repeat;border-radius:8px;place-items:center;display:grid}.caller-vehicle-copy{min-width:0}.caller-vehicle-copy span{color:var(--accent-strong);margin-bottom:4px;font-size:.78rem;font-weight:900;display:block}.caller-vehicle-copy strong{color:var(--foreground);font-size:1.1rem;font-weight:900;display:block}.caller-vehicle-copy small{color:var(--muted);margin-top:5px;font-size:.84rem;font-weight:760;display:block}.caller-vehicle-card p{color:var(--muted);grid-column:1/-1;align-items:center;gap:7px;margin:2px 0 0;font-size:.84rem;font-weight:760;display:flex}.caller-form{gap:15px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:var(--foreground);margin-bottom:10px;font-size:.92rem;font-weight:900}.reason-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.reason-option{border:1px solid var(--border);min-height:112px;color:var(--muted-strong);cursor:pointer;text-align:center;background:#fff;border-radius:8px;align-content:center;justify-items:center;gap:8px;padding:12px 10px;display:grid;position:relative}.reason-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.reason-option input{width:17px;min-height:17px;accent-color:var(--accent);margin:0;position:absolute;top:10px;left:10px}.reason-option strong,.reason-option small{display:block}.reason-option strong{color:inherit;font-size:.9rem;font-weight:900}.reason-option small{color:var(--muted);font-size:.76rem;line-height:1.35}.field-addon,.file-input{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding-left:12px;display:grid}.field-addon input,.file-input input{background:0 0;border:0;padding-left:0}.file-input{min-height:48px}.file-input input{min-height:auto;padding:11px 10px 11px 0;font-size:.9rem}.file-input input::file-selector-button{border:1px solid var(--border);background:var(--surface-soft);color:var(--foreground);cursor:pointer;border-radius:8px;margin-right:10px;padding:8px 10px;font-size:.86rem;font-weight:850}.caller-photo-picker{grid-template-columns:22px auto minmax(0,1fr);position:relative}.caller-photo-picker input{opacity:0;cursor:pointer;width:100%;min-height:100%;position:absolute;inset:0}.file-trigger{border:1px solid var(--border);min-height:34px;color:var(--foreground);background:#fff;border-radius:8px;align-items:center;padding:0 12px;font-weight:900;display:inline-flex}.file-name{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:850;overflow:hidden}.attachment-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attachment-list li{color:var(--accent-strong);align-items:center;gap:8px;font-size:.88rem;display:flex}.request-summary{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;gap:8px;margin:18px 0;padding:15px;display:grid}.request-summary strong{font-size:1rem}.request-summary span,.request-summary small{color:var(--muted);line-height:1.5}.request-summary em{background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;padding:10px 12px;font-style:normal;font-weight:900;line-height:1.5;display:block}.chat-panel{gap:14px;margin:18px 0;display:grid}.message-list{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;gap:8px;max-height:280px;padding:12px;display:grid;overflow:auto}.message-list.compact{grid-column:1/-1;max-height:180px}.message-bubble{border-radius:8px;width:fit-content;max-width:min(100%,360px);padding:9px 11px;font-size:.9rem;line-height:1.45}.message-bubble.caller{border:1px solid var(--border);color:var(--foreground);background:#fff}.message-bubble.owner{background:var(--accent);color:#fff;justify-self:end}.message-bubble.system{color:var(--muted);background:0 0;justify-self:center;font-size:.78rem;font-weight:850}.chat-form,.owner-chat-form{gap:10px;display:grid}.owner-chat-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto}.privacy-page{min-height:100vh;padding:24px}.privacy-document{border:1px solid var(--border);width:min(820px,100%);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;margin:0 auto;padding:34px}.privacy-document h1{margin-bottom:22px}.privacy-document p{color:var(--muted-strong);line-height:1.75}.privacy-document section{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.extension-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.extension-grid .workflow-card{min-height:300px}.voice-card{grid-column:1/-1}.report-grid{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 16px;display:grid}.report-grid strong{background:var(--accent-soft);width:54px;height:54px;color:var(--accent-strong);border-radius:8px;place-items:center;font-size:1.35rem;display:grid}.report-grid span{color:var(--muted);font-weight:850}.voice-meter{align-items:end;gap:10px;height:110px;margin-top:24px;display:flex}.voice-meter span{background:linear-gradient(180deg, #7dd0b8, var(--accent));border-radius:8px;width:42px}.voice-meter span:first-child{height:40px}.voice-meter span:nth-child(2){height:82px}.voice-meter span:nth-child(3){height:58px}.voice-meter span:nth-child(4){height:96px}.sticker-workbench{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:14px;margin-top:-54px;display:grid}.sticker-controls{min-height:auto;position:sticky;top:18px}.sticker-actions{gap:10px;margin-top:18px;display:grid}.sticker-preview{border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fffffff5;border-radius:8px;padding:16px}.sticker-sheet{grid-template-columns:repeat(2,minmax(250px,1fr));gap:12px;display:grid}.sticker-empty-preview{grid-column:1/-1}.parking-sticker{page-break-inside:avoid;background:#fff;border:2px solid #16251f;border-radius:8px;grid-template-columns:minmax(0,1fr) 130px;gap:14px;min-height:200px;padding:16px;display:grid}.sticker-copy{align-content:center;gap:8px;min-width:0;display:grid}.sticker-brand{width:fit-content;color:var(--accent-strong);align-items:center;gap:7px;font-size:.88rem;font-weight:900;display:inline-flex}.parking-sticker h2{color:#10241b;margin:0;font-size:1.5rem;line-height:1.08}.parking-sticker p{color:var(--muted-strong);margin:0;font-size:.9rem;font-weight:850;line-height:1.45}.parking-sticker strong,.parking-sticker small{display:block}.parking-sticker strong{color:var(--accent-strong);margin-top:4px;font-size:1rem}.parking-sticker small{color:var(--muted);font-size:.78rem;font-weight:850}.sticker-qr{align-content:center;justify-items:center;gap:8px;min-width:0;display:grid}.sticker-qr img{border:1px solid var(--border);background:#fff;border-radius:8px;width:118px;height:118px;padding:5px}.sticker-qr span{color:var(--accent-strong);text-align:center;font-size:.76rem;font-weight:900}.app-dock{bottom:max(14px, env(safe-area-inset-bottom));z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #11181614;border-radius:8px;grid-template-columns:repeat(5,1fr);gap:2px;width:min(560px,100% - 24px);margin:18px auto 0;padding:7px;display:grid;position:sticky;box-shadow:0 16px 44px #11181624}.app-dock-item{color:#697570;border-radius:8px;place-items:center;gap:3px;min-width:0;min-height:56px;font-size:.72rem;font-weight:900;display:grid}.app-dock-item svg{stroke-width:2.2px}.app-dock-item.active{background:var(--accent-soft);color:var(--accent-strong)}@media (max-width:860px){.app-shell{padding:max(18px, env(safe-area-inset-top)) 14px calc(104px + env(safe-area-inset-bottom))}.topbar{min-height:164px;display:grid}.topbar-actions{flex-wrap:wrap}.hero-grid,.sticker-workbench{grid-template-columns:1fr}.sticker-controls{position:static}}@media (max-width:620px){h1{font-size:1.9rem}.app-shell:before{height:250px}.brand{font-size:1.75rem}.hero-grid,.sticker-workbench{margin-top:-42px}.workflow-card,.vehicle-section,.caller-card{padding:16px}.lead{font-size:1.08rem}.vehicle-card,.session-card,.parking-sticker{grid-template-columns:1fr}.qr-box{justify-items:stretch}.qr-box img{justify-self:center}.qr-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.qr-actions .secondary-button,.secondary-button{min-width:0;font-size:.8rem}.session-actions{justify-content:stretch}.session-actions .secondary-button{flex:96px}.caller-shell{padding:max(14px, env(safe-area-inset-top)) 0 0}.caller-card{min-height:100vh;box-shadow:none;border:0;border-radius:0}.reason-options{grid-template-columns:1fr}.reason-option{text-align:left;justify-items:start;min-height:76px;padding-left:44px}.extension-grid,.sticker-sheet{grid-template-columns:1fr}.app-dock{right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto;margin:0;position:fixed;left:12px}}.app-shell{padding:max(22px, env(safe-area-inset-top)) 18px calc(96px + env(safe-area-inset-bottom))}.topbar{align-items:flex-start;min-height:235px;padding-top:22px;display:flex}.brand-lockup{flex:auto;align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{color:#d8ffe8;clip-path:polygon(50% 0,100% 15%,90% 76%,50% 100%,10% 76%,0 15%);text-shadow:0 8px 22px #0000003d;background:#08755370;border:3px solid #89e6bd;border-radius:8px;flex:none;place-items:center;width:62px;height:70px;font-size:2rem;font-weight:950;line-height:1;display:grid}.brand{margin:0 0 3px;font-size:clamp(1.9rem,7vw,2.35rem);line-height:1}.topbar h1{font-size:1rem;font-weight:760}.topbar-actions{gap:10px}.topbar-icon{color:#fff;cursor:pointer;background:#06140f1f;border:0;border-radius:8px;place-items:center;width:42px;height:42px;display:grid;position:relative}.notification-dot{background:#78dfa7;border:2px solid #fff;border-radius:999px;width:9px;height:9px;position:absolute;top:8px;right:8px}.dashboard-sheet{background:#fffffff7;border:1px solid #ffffffb8;border-radius:8px;gap:18px;margin-top:-88px;padding:22px;display:grid;box-shadow:0 24px 70px #091c1429}.auth-panel{gap:14px;display:grid}.auth-panel h2{margin:0;font-size:1.55rem}.panel-copy{color:var(--muted);margin:-4px 0 0;font-size:.96rem;line-height:1.55}.security-banner,.security-status{color:var(--foreground);text-align:left;background:linear-gradient(90deg,#eefaf5,#f8fffb);border:0;border-radius:8px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;display:grid}.security-banner{grid-template-columns:42px minmax(0,1fr);padding:12px}.security-banner>svg,.status-icon{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.security-banner>svg{width:42px;height:42px;padding:9px}.security-status strong,.security-status small,.security-banner strong,.security-banner span{display:block}.security-status strong,.security-banner strong{margin-bottom:4px;font-size:1.04rem;font-weight:900}.security-status small,.security-banner span{color:var(--muted);font-size:.9rem;line-height:1.4}.dashboard-section{gap:11px;display:grid}.dashboard-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-heading h2{margin:0;font-size:1.25rem}.text-action{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;font-size:.9rem;font-weight:900;display:inline-flex}.vehicle-list{grid-template-columns:1fr}.vehicle-card{min-height:210px;box-shadow:none;border-color:#d6dfda;grid-template-columns:minmax(0,1fr) minmax(138px,.46fr);align-items:stretch;gap:16px;padding:14px}.vehicle-title-row{align-items:center;gap:8px;min-width:0;display:flex}.vehicle-title-row strong{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vehicle-title-row em{background:var(--accent-soft);min-width:fit-content;color:var(--accent-strong);white-space:nowrap;border-radius:8px;flex:none;padding:4px 7px;font-size:.72rem;font-style:normal;font-weight:900}.vehicle-visual{min-height:108px;color:var(--accent-strong);background:linear-gradient(#ffffff47,#ffffffd6),url(/visuals/privatenum-windshield-hero.png) 50% 70%/cover no-repeat;border-radius:8px;place-items:center;margin:12px 0 10px;display:grid;overflow:hidden}.vehicle-photo{filter:drop-shadow(0 10px 14px #10241b29);width:min(230px,118%);max-width:none;height:auto}.vehicle-copy small{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:6px;margin-top:0;display:inline-flex}.vehicle-copy small:before{content:"";background:#0ba66d;border-radius:999px;width:8px;height:8px}.qr-box{align-content:center;gap:9px}.qr-expiry{color:var(--muted);margin-top:-6px;font-size:.74rem;font-weight:800}.qr-box img{aspect-ratio:1;width:min(118px,100%);height:auto;box-shadow:none}.qr-actions{grid-template-columns:1fr}.qr-actions .secondary-button{background:var(--accent-soft);min-height:40px;color:var(--accent-strong);border-color:#0000;padding:0 14px;font-weight:900}.request-empty-row,.session-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.request-empty-row{grid-template-columns:48px minmax(0,1fr);align-items:center}.request-empty-row strong,.request-empty-row span{display:block}.request-empty-row span{color:var(--muted);margin-top:4px;font-size:.88rem}.request-row-main{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;display:grid}.request-avatar{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-strong);border-radius:999px;place-items:center;display:grid}.session-card{grid-template-columns:1fr;align-items:stretch}.session-card strong{margin-bottom:4px}.session-card p{margin:0}.session-actions{justify-content:flex-start}.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-action{min-height:82px;box-shadow:none}.security-strip{background:linear-gradient(90deg,#eefaf5,#f8fffb);border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.security-strip>svg{color:var(--accent-strong)}.security-strip strong,.security-strip span{display:block}.security-strip strong{color:var(--foreground);font-size:.95rem;font-weight:900}.security-strip span{color:var(--muted);margin-top:3px;font-size:.84rem}.security-strip a{color:var(--accent-strong);font-size:.88rem;font-weight:900}.app-dock{border-color:#1118161a;border-radius:8px;grid-template-columns:repeat(4,1fr);width:min(560px,100% - 24px)}@media (max-width:860px){.topbar{min-height:230px;display:flex}.topbar-actions{flex-wrap:nowrap}}@media (max-width:620px){.app-shell{padding:max(12px, env(safe-area-inset-top)) 12px calc(100px + env(safe-area-inset-bottom))}.app-shell:before{height:318px}.topbar{min-height:205px;padding:18px 2px 0}.brand-lockup{gap:10px}.brand-mark{width:48px;height:54px;font-size:1.5rem}.brand{font-size:clamp(1.42rem,6vw,1.58rem)}.topbar h1{font-size:.92rem}.topbar-icon{width:39px;height:39px}.topbar-icon[aria-label=로그아웃]{display:none}.dashboard-sheet{gap:15px;margin-top:-76px;padding:13px}.security-status{grid-template-columns:48px minmax(0,1fr) auto;padding:12px}.status-icon{width:48px;height:48px}.security-status strong{font-size:1rem}.vehicle-card{grid-template-columns:minmax(0,1fr) 122px;gap:12px;min-height:196px;padding:12px}.vehicle-title-row{gap:6px}.vehicle-title-row strong{font-size:1.12rem}.vehicle-copy span{font-size:.82rem}.vehicle-visual{min-height:84px;margin:9px 0 8px}.vehicle-photo{width:min(190px,125%)}.qr-title{font-size:.76rem}.qr-box img{width:min(102px,100%)}.qr-actions{gap:6px}.qr-actions .secondary-button{min-height:36px;padding:0 8px;font-size:.8rem}.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quick-action{min-height:74px;padding:8px 4px}.quick-action span{font-size:.72rem}}@media (max-width:390px){.vehicle-card{grid-template-columns:minmax(0,1fr) 116px}.qr-actions{grid-template-columns:1fr}}.app-shell{background:linear-gradient(180deg, #fff 0, #fff 154px, var(--background) 360px), var(--background);padding:max(22px, env(safe-area-inset-top)) 18px calc(104px + env(safe-area-inset-bottom))}.app-shell:before{background:0 0;height:0}.app-shell:after{background:linear-gradient(180deg, #ffffffeb, #f6faf7fa 380px), var(--background)}.owner-panel{width:min(780px,100%)}.topbar{min-height:142px;color:var(--foreground);padding-top:10px}.brand-lockup{align-items:flex-start}.brand-mark{clip-path:none;border:0;width:0;height:0;overflow:hidden}.brand{color:var(--accent-strong);text-shadow:none;font-size:clamp(2.1rem,6vw,2.8rem)}.topbar h1{color:#4f5d58;text-shadow:none;font-size:clamp(1.08rem,2.4vw,1.24rem)}.topbar-icon{color:#111816;background:#fff;border:1px solid #0000;width:46px;height:46px}.topbar-icon:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.notification-dot{color:#fff;background:#0c8f61;border:2px solid #fff;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;font-weight:900;line-height:1;display:grid}.notification-dot:empty{width:10px;min-width:10px;height:10px;padding:0}.dashboard-sheet{box-shadow:none;background:0 0;border:0;gap:22px;margin-top:-26px;padding:0}.auth-panel{box-shadow:var(--shadow-lg);background:#fffffffa;border:1px solid #d9e4dee6;border-radius:8px;padding:22px}.security-status{background:linear-gradient(100deg, #003a27 0%, #006f4b 56%, #00583c 100%), var(--accent-strong);color:#fff;border:0;grid-template-columns:72px minmax(0,1fr) minmax(100px,auto);min-height:152px;padding:22px;box-shadow:0 20px 48px #004b333d}.status-icon{color:#fff;background:#0000003d;border-radius:999px;width:66px;height:66px}.security-status strong{color:#fff;font-size:clamp(1.28rem,4vw,1.72rem);line-height:1.12}.security-status small{color:#ffffffc2;font-size:.96rem}.security-score{text-align:right;border-left:1px solid #ffffff47;align-content:center;align-self:stretch;justify-items:end;min-width:110px;padding-left:22px;display:grid}.security-score strong{font-size:clamp(2.18rem,7vw,3.05rem);display:inline}.security-score small{color:#ffffffad;font-size:1.08rem;font-weight:900;display:inline}.security-score em{color:#ffffffbd;font-size:.86rem;font-style:normal;font-weight:850;display:block}.dashboard-heading h2{color:#121918;font-size:clamp(1.42rem,4vw,1.82rem)}.icon-action{color:#4d5956;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.vehicle-card{min-height:0;box-shadow:var(--shadow-sm);background:#fffffffc;border-color:#c5d3ccdb;grid-template-columns:1fr;gap:0;padding:14px;display:grid;position:relative;overflow:hidden}.vehicle-card:hover{box-shadow:var(--shadow-lg)}.vehicle-visual{background:linear-gradient(#ffffff47,#ffffffc7),url(/visuals/privatenum-windshield-hero.png) 50% 70%/cover no-repeat;border:1px solid #d9e4deb8;min-height:274px;margin:0;position:relative;overflow:hidden}.vehicle-photo{object-fit:contain;filter:drop-shadow(0 22px 18px #10241b2b);width:min(490px,86%);height:auto;position:absolute;bottom:15px;right:min(26%,176px)}.vehicle-status-pill{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#006f4beb;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:.88rem;font-weight:900;display:inline-flex;position:absolute;bottom:18px;left:18px}.vehicle-status-pill:before{content:"";background:#88ee76;border-radius:999px;width:9px;height:9px}.qr-box{background:#fffffff5;border:1px solid #ffffffb8;border-radius:8px;justify-items:center;gap:8px;width:186px;padding:14px;display:grid;position:absolute;top:44px;right:28px;box-shadow:0 18px 42px #091c1424}.qr-title{color:#151c1a;font-size:.94rem;font-weight:900}.qr-box img{border-color:#e1e9e5;width:132px;padding:7px}.qr-missing{background:#fffffff5;width:186px;min-height:172px;position:absolute;top:44px;right:28px;box-shadow:0 18px 42px #091c141f}.vehicle-card-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:18px 8px 4px;display:grid}.vehicle-title-row em{color:var(--accent);background:#fff;border:1px solid #006f4b47}.qr-expiry{color:#4f5d58;align-items:center;gap:7px;margin-top:15px;font-size:.92rem;font-weight:850;display:inline-flex}.qr-save-button{background:var(--accent);border-color:var(--accent);color:#fff;min-width:132px;min-height:48px}.qr-save-button:hover{background:var(--accent-strong);color:#fff}.request-empty-row,.session-card,.quick-action,.security-strip{box-shadow:0 10px 30px #10241b0e}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-action{min-height:86px;color:var(--accent);text-align:left;border-color:#d9e4def5;grid-template-columns:46px minmax(0,1fr) 22px;place-items:center start;padding:15px}.quick-action>svg:first-child{width:32px;height:32px}.quick-action span{font-size:.98rem;line-height:1.2}.quick-action>svg:last-child{color:#7a8581;justify-self:end}.quick-action:hover{border-color:var(--border-strong);background:var(--accent-tint)}.app-dock{background:#fffffff5;border-color:#c5d3ccd1;min-height:76px}.app-dock-item{min-height:60px}.app-dock-item.active{color:var(--accent);background:0 0}.app-dock-item.active svg{fill:currentColor;stroke-width:0}.dashboard-section,.vehicle-card,.session-card,.request-empty-row,.quick-action,.security-strip,.parking-sticker,.privacy-document section,.extension-grid .workflow-card{content-visibility:auto;contain-intrinsic-size:auto 220px}@media (max-width:620px){.app-shell{padding:max(18px, env(safe-area-inset-top)) 16px calc(112px + env(safe-area-inset-bottom))}.topbar{min-height:136px;padding-top:6px}.topbar-actions{gap:6px}.topbar-icon{width:42px;height:42px}.dashboard-sheet{margin-top:-18px}.security-status{grid-template-columns:56px minmax(0,1fr) auto;gap:12px;min-height:120px;padding:16px}.status-icon{width:52px;height:52px}.security-status strong{font-size:1.22rem}.security-status small{font-size:.82rem}.security-score{min-width:74px;padding-left:12px}.security-score strong{font-size:2rem}.security-score small{font-size:.9rem}.security-score em{font-size:.7rem}.vehicle-card{padding:10px}.vehicle-visual{min-height:228px}.vehicle-photo{width:min(360px,88%);bottom:15px;right:22%}.vehicle-status-pill{padding:8px 12px;font-size:.78rem;bottom:14px;left:14px}.qr-box,.qr-missing{width:130px;top:34px;right:14px}.qr-box{padding:10px}.qr-box img{width:96px}.qr-title{font-size:.78rem}.qr-missing{min-height:132px}.vehicle-card-footer{grid-template-columns:1fr;gap:12px;padding:14px 4px 2px}.qr-save-button{width:100%}.quick-actions-grid{gap:10px}.quick-action{grid-template-columns:34px minmax(0,1fr) 16px;min-height:74px;padding:12px 10px}.quick-action>svg:first-child{width:26px;height:26px}.quick-action span{font-size:.84rem}}.auth-shell{min-height:100svh;padding-bottom:max(22px, env(safe-area-inset-bottom))}.auth-shell .topbar{min-height:118px}.auth-shell .dashboard-sheet{margin-top:-14px}.auth-shell .auth-panel{justify-items:stretch;width:min(560px,100%);margin:0 auto;box-shadow:0 18px 56px #091c141a}.auth-visual{min-height:132px;color:var(--accent);place-items:center;display:grid;position:relative}.auth-phone-shape{background:linear-gradient(#ffffffb8,#e7f6ee8a);border:4px solid #006f4b1f;border-radius:26px;width:94px;height:132px;position:absolute}.auth-visual svg:first-of-type{z-index:1;width:74px;height:74px;color:var(--accent-strong);filter:drop-shadow(0 14px 20px #00452f1f);position:relative}.auth-visual svg:last-of-type{width:44px;height:44px;color:var(--accent);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #006f4b2e;border-radius:8px;padding:7px;position:absolute;bottom:14px;right:calc(50% - 112px)}.auth-shell .security-banner{display:none}.auth-shell .auth-panel h2{text-align:center;max-width:360px;margin:0 auto}.auth-shell .panel-copy{text-align:center;max-width:360px;margin:0 auto 6px}.auth-shell .status-message{max-width:420px;margin-left:auto;margin-right:auto}.auth-shell .auth-form{width:100%;max-width:420px;margin:0 auto}.test-auth-button{background:linear-gradient(180deg, #008359, var(--accent));border-color:var(--accent);color:#fff;width:100%;min-height:54px;box-shadow:0 18px 34px #006f4b33}.test-auth-button:hover{background:var(--accent-strong)}.manual-auth-button{width:100%;min-height:48px;color:var(--accent-strong);background:#fff;border-color:#006f4b2e}.test-auth-note{background:var(--accent-tint);color:var(--muted-strong);border:1px solid #006f4b24;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin:4px 0 0;padding:12px;font-size:.82rem;font-weight:780;line-height:1.45;display:grid}.test-auth-note:before{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);content:"✓";border-radius:8px;place-items:center;font-weight:950;display:grid}.utility-topbar{min-height:156px}.utility-topbar .topbar-actions{flex-wrap:nowrap;justify-content:flex-end;max-width:min(52%,320px);display:flex}.utility-topbar .privacy-link{min-height:42px;box-shadow:0 10px 30px #10241b12}.utility-topbar .utility-action-link{padding:0 12px}.utility-action-label{display:inline}.sticker-hero-card,.extension-hero-card,.caller-security-card{color:var(--foreground);background:linear-gradient(90deg,#effbf5,#fbfffd);border:1px solid #006f4b24;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:16px;display:grid}.sticker-hero-card>svg,.extension-hero-card>svg,.caller-security-card>svg{width:42px;height:42px;color:var(--accent);background:#fff;border-radius:8px;padding:9px}.sticker-hero-card strong,.sticker-hero-card span,.extension-hero-card strong,.extension-hero-card span,.caller-security-card strong,.caller-security-card span{display:block}.sticker-hero-card strong,.extension-hero-card strong,.caller-security-card strong{color:var(--accent-strong);margin-bottom:4px;font-size:.98rem;font-weight:950;line-height:1.35}.sticker-hero-card span,.extension-hero-card span,.caller-security-card span{color:var(--muted);font-size:.88rem;line-height:1.45}.sticker-workbench{margin-top:16px}.sticker-ready-empty{border-style:solid;align-content:center;gap:12px;min-height:332px}.sticker-ready-empty strong{color:var(--foreground);font-size:1.24rem;font-weight:950}.sticker-ready-empty .primary-button{width:min(320px,100%);margin:6px auto 0}.empty-car-line{background:radial-gradient(circle at 30px 66px, transparent 0 11px, var(--accent) 12px 14px, transparent 15px), radial-gradient(circle at 138px 66px, transparent 0 11px, var(--accent) 12px 14px, transparent 15px), linear-gradient(var(--accent), var(--accent)) 38px 66px / 94px 3px no-repeat, linear-gradient(135deg, transparent 31%, var(--accent) 32% 34%, transparent 35%) 30px 25px / 112px 50px no-repeat, linear-gradient(45deg, transparent 48%, var(--accent) 49% 52%, transparent 53%) 76px 22px / 72px 48px no-repeat;opacity:.46;width:170px;height:92px;margin:0 auto 2px;display:block}.commercial-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-report-grid div{border:1px solid var(--border);background:var(--accent-tint);border-radius:8px;align-content:center;gap:6px;min-height:106px;padding:16px;display:grid}.commercial-report-grid strong{place-items:initial;width:auto;height:auto;color:var(--accent-strong);background:0 0;border-radius:0;font-size:1.86rem;display:block}.commercial-report-grid span{color:var(--muted-strong);font-size:.88rem}.caller-card{gap:16px;display:grid}.caller-request-header{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:4px;display:grid}.caller-request-header>strong{color:var(--foreground);justify-self:center;font-size:1rem;font-weight:950}.caller-back-icon{width:40px;height:40px;color:var(--foreground);border-radius:8px;place-items:center;display:grid}.caller-safe-badge{background:var(--accent-soft);min-height:30px;color:var(--accent-strong);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:.76rem;font-weight:950;display:inline-flex}.caller-plate-hero{border:1px solid var(--border);text-align:center;background:#fff;border-radius:8px;justify-items:center;padding:18px 16px;display:grid}.caller-plate-hero span{color:var(--muted);font-size:.82rem;font-weight:850}.caller-plate-hero h1{color:var(--foreground);margin:8px 0 4px;font-size:clamp(2.25rem,10vw,3.4rem)}.caller-plate-hero p{color:var(--muted-strong);margin:0;font-weight:850}.caller-security-card{background:linear-gradient(90deg,#f2fbf7,#fff);padding:13px}.caller-card>.status-message{margin-bottom:0;padding:10px 12px;font-size:.86rem}.caller-form textarea{min-height:88px}.reason-options{grid-template-columns:repeat(2,minmax(0,1fr))}.reason-option{text-align:left;align-content:center;justify-items:start;min-height:64px;padding:12px 12px 12px 40px}.reason-option small{display:none}.caller-session-card .caller-icon{margin:0 auto}@media (max-width:620px){.auth-shell{padding-bottom:max(18px, env(safe-area-inset-bottom))}.auth-shell .topbar{min-height:104px}.auth-shell .brand{font-size:clamp(1.94rem,10vw,2.48rem)}.auth-shell .auth-panel{padding:18px}.auth-visual{min-height:118px}.auth-phone-shape{width:82px;height:116px}.auth-visual svg:first-of-type{width:62px;height:62px}.auth-visual svg:last-of-type{width:40px;height:40px;right:calc(50% - 94px)}.auth-shell .auth-panel h2{font-size:clamp(1.82rem,8vw,2.2rem)}.auth-shell .status-message{display:none}.utility-topbar{align-items:flex-start;min-height:126px}.utility-topbar .topbar-actions{gap:6px;max-width:none}.utility-topbar .privacy-link{min-height:38px;padding:0 10px;font-size:.82rem}.utility-topbar .icon-button{width:38px;min-height:38px}.utility-topbar .utility-action-link{width:38px;min-width:38px;padding:0}.utility-topbar .utility-action-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sticker-hero-card,.extension-hero-card{margin-top:-10px}.sticker-workbench{margin-top:12px}.sticker-preview{padding:12px}.sticker-ready-empty{min-height:300px}.extension-grid{grid-template-columns:1fr}.commercial-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.caller-shell{padding:max(12px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom))}.caller-card{border:1px solid var(--border);border-radius:8px;gap:10px;min-height:calc(100svh - 26px);padding:12px}.caller-request-header{grid-template-columns:40px minmax(0,1fr) auto;margin-bottom:0}.caller-back-icon{width:36px;height:36px}.caller-safe-badge{min-height:28px;padding:0 8px;font-size:.7rem}.caller-plate-hero{padding:11px 10px}.caller-plate-hero span{font-size:.74rem}.caller-plate-hero h1{margin:4px 0 1px;font-size:clamp(2rem,9vw,2.64rem)}.caller-plate-hero p{font-size:.82rem}.caller-security-card{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:10px}.caller-security-card>svg{width:34px;height:34px;padding:7px}.caller-security-card strong{margin-bottom:2px;font-size:.9rem}.caller-security-card span{font-size:.78rem;line-height:1.32}.caller-card>.status-message{padding:8px 10px;font-size:.78rem;line-height:1.4}.caller-form{gap:8px}.caller-form legend{margin-bottom:6px;font-size:.84rem}.reason-options{gap:6px}.reason-option{min-height:50px;padding:8px 8px 8px 34px}.reason-option input{width:16px;min-height:16px;top:50%;left:9px;transform:translateY(-50%)}.reason-option strong{font-size:.83rem}.caller-form label{gap:5px;font-size:.84rem}.caller-form textarea{min-height:62px;padding:10px}.caller-form .field-addon,.caller-form .file-input{min-height:42px}.caller-form .primary-button{min-height:46px}}.app-dock{right:auto;bottom:max(10px, env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #bccdc4e6;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(560px,100% - 24px);min-height:78px;margin:0;padding:8px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 44px #091c1429,inset 0 1px #ffffffeb}.app-dock-item{color:#50615b;background:linear-gradient(#fafdfbf5,#f2f8f5db);border:1px solid #d5e2dbc7;border-radius:8px;grid-template-rows:34px auto;place-items:center;gap:4px;min-width:0;min-height:62px;font-size:.75rem;font-weight:900;line-height:1;text-decoration:none;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s;display:grid;position:relative}.app-dock-item:after{background:var(--accent);content:"";opacity:0;border-radius:999px;width:0;height:3px;transition:width .16s,opacity .16s;position:absolute;top:6px;left:50%;transform:translate(-50%)}.app-dock-item:hover{background:linear-gradient(180deg, #fff, var(--accent-tint));color:var(--accent-strong);border-color:#006f4b3d;transform:translateY(-1px);box-shadow:0 8px 18px #091c1414}.app-dock-item:active{transform:translateY(0);box-shadow:inset 0 2px 7px #091c141f}.app-dock-item:focus-visible{outline-offset:2px;outline:3px solid #006f4b38}.app-dock-item.active{color:var(--accent-strong);background:linear-gradient(#effbf5,#fff);border-color:#006f4b4d;box-shadow:0 10px 24px #006f4b21}.app-dock-item.active:after{opacity:1;width:24px}.dock-icon-shell{width:38px;height:36px;color:inherit;background:linear-gradient(#fffffffa,#f5faf7f0);border-radius:10px;place-items:center;transition:background .16s,box-shadow .16s,transform .16s;display:grid;position:relative;box-shadow:0 6px 14px #091c140f,inset 0 0 0 1px #d2e0d9eb,inset 0 1px #fffffff2}.app-dock-item.active .dock-icon-shell{background:radial-gradient(circle at 30% 18%, #8effc580, transparent 38%), linear-gradient(180deg, #0d9465, var(--accent));color:#fff;transform:translateY(-1px);box-shadow:0 12px 24px #006f4b42,inset 0 1px #ffffff47}.app-dock-item:not(.active):hover .dock-icon-shell{color:var(--accent-strong);box-shadow:0 8px 18px #091c1414,inset 0 0 0 1px #006f4b2e,inset 0 1px #fffffff5}.premium-dock-icon{width:27px;height:27px;display:block;overflow:visible}.premium-dock-icon .icon-soft-fill{fill:currentColor;opacity:.18}.premium-dock-icon .icon-primary-fill{fill:currentColor;opacity:.92}.premium-dock-icon .icon-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.08px}.premium-dock-icon .icon-check{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.48px}.app-dock-item.active .premium-dock-icon .icon-soft-fill{fill:#c9f7dd;opacity:.4}.app-dock-item.active .premium-dock-icon .icon-primary-fill{fill:#fff;opacity:1}.app-dock-item.active .dock-label{color:var(--accent-strong)}.dock-label{max-width:100%;color:inherit;text-align:center;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dock-badge{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.62rem;font-weight:950;line-height:1;display:grid;position:absolute;top:-5px;right:-7px}.topbar-icon{color:#16231f;background:linear-gradient(#fffffffa,#f6faf8f0);border:1px solid #cddbd4cc;border-radius:12px;transition:border-color .16s,box-shadow .16s,color .16s,transform .16s;box-shadow:0 10px 24px #091c1414,inset 0 1px #fffffff0}.topbar-icon svg{stroke-width:2.45px}.topbar-icon:hover,.topbar-icon:focus-visible{color:var(--accent-strong);border-color:#006f4b38;box-shadow:0 12px 28px #091c141f}.topbar-icon:active{transform:translateY(1px)}@media (max-width:380px){.app-dock{gap:5px;width:calc(100% - 18px);padding:7px}.app-dock-item{min-height:58px;font-size:.68rem}.dock-icon-shell{width:34px;height:32px}.premium-dock-icon{width:24px;height:24px}}.owner-shell .owner-panel,.sticker-page .owner-panel{width:min(430px,100%)}.auth-shell .owner-panel{width:min(430px,100%);min-height:calc(100svh - max(18px, env(safe-area-inset-top)) - max(18px, env(safe-area-inset-bottom)));align-content:center;display:grid}.auth-shell .topbar{text-align:center;min-height:auto;padding:0;display:block}.auth-shell .brand-lockup{display:block}.auth-shell .brand-mark,.auth-shell .topbar-actions{display:none}.auth-shell .brand{color:var(--accent-strong);font-size:clamp(2.35rem,10vw,2.82rem);line-height:.96}.auth-shell .topbar h1{color:var(--muted-strong);margin-top:8px;font-size:1.08rem;font-weight:850}.auth-shell .dashboard-sheet{gap:0;margin-top:22px}.auth-shell .auth-panel{box-shadow:none;background:0 0;border:0;padding:0 18px}.auth-visual{min-height:216px;margin:4px auto 20px}.auth-phone-shape{background:linear-gradient(#ffffffdb,#edf7f2bd);border-width:3px;border-color:#006f4b29;border-radius:20px;width:98px;height:152px;transform:translate(34px,-6px)}.auth-phone-shape:before{content:"";background:#4d665c2e;border-radius:999px;width:30px;height:6px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.auth-visual:after{content:"";opacity:.16;background:url(/visuals/privatenum-sedan-cutout.png) 50%/contain no-repeat;width:112px;height:42px;position:absolute;bottom:18px;left:calc(50% - 116px)}.auth-visual svg:first-of-type{width:78px;height:78px;transform:translate(-44px,4px)}.auth-visual svg:last-of-type{border-color:#006f4b33;width:54px;height:54px;padding:9px;bottom:46px;right:calc(50% - 118px)}.auth-shell .auth-panel h2{color:#111816;max-width:310px;font-size:clamp(1.42rem,6.2vw,1.72rem);line-height:1.32}.auth-shell .panel-copy{max-width:300px;color:var(--muted);margin-top:12px;font-size:.84rem}.auth-shell .auth-form{max-width:318px;margin-top:34px}.auth-shell .auth-form label{font-size:0;position:relative}.auth-shell .auth-form label:has(input[inputmode=tel]):before{z-index:1;color:#8a9691;content:"휴대폰 번호 입력";font-size:.66rem;font-weight:760;position:absolute;top:10px;left:15px}.auth-shell .auth-form input{min-height:58px;color:var(--foreground);background:#fff;border-color:#12211b1f;border-radius:8px;padding-top:19px;font-size:.92rem;font-weight:760}.auth-shell .manual-auth-button{display:none}.auth-shell .test-auth-button{min-height:56px;margin-top:8px;font-size:1rem}.auth-shell .test-auth-note{margin-top:18px;padding:14px;font-size:.78rem}.auth-login-link{color:var(--muted);text-align:center;margin:44px 0 0;font-size:.78rem;display:block}.auth-login-link span{color:var(--accent);font-weight:900}.owner-shell .brand{font-size:clamp(1.78rem,8vw,2rem);line-height:.98}.owner-shell .topbar h1{margin-top:2px;font-size:.92rem}.owner-shell .topbar-icon{border-radius:10px;width:42px;height:42px}.owner-shell .dashboard-sheet{gap:16px;margin-top:0}.security-status{border-radius:8px;grid-template-columns:58px minmax(0,1fr) 86px;min-height:92px;padding:14px}.security-status small{margin-top:4px;font-size:.78rem}.security-score small{font-size:.78rem}.security-score em{font-size:.72rem}.vehicle-card{border-radius:8px;padding:8px}.vehicle-visual{border-radius:7px;min-height:164px}.vehicle-status-pill{padding:6px 10px;font-size:.72rem;bottom:8px;left:8px}.qr-box{gap:5px;width:112px;padding:8px;top:24px;right:12px}.qr-box:after{background:var(--accent);color:#fff;content:"P";border-radius:6px;place-items:center;width:26px;height:26px;font-size:.92rem;font-weight:950;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-34%)}.vehicle-card-footer{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 6px 2px}.vehicle-title-row{align-items:center}.vehicle-copy>span{margin-top:3px;font-size:.82rem}.vehicle-card-actions{align-self:stretch;justify-items:end;gap:8px;display:grid}.vehicle-qr-label{color:#111816;white-space:nowrap;align-items:center;gap:8px;font-size:.76rem;font-weight:900;display:inline-flex}.vehicle-qr-label:after{background:var(--accent);content:"";border-radius:999px;width:7px;height:7px}.vehicle-refresh-button{border-color:var(--accent);background:var(--accent);color:#fff;min-width:132px;min-height:44px}.vehicle-qr-download{display:none}.request-empty-row{grid-template-columns:42px minmax(0,1fr) auto auto;min-height:72px;padding:10px}.request-time{color:var(--muted);font-size:.68rem;font-weight:800}.request-count-badge{color:#fff;background:#f59e0b;border-radius:999px;place-items:center;width:18px;height:18px;font-size:.66rem;font-style:normal;font-weight:950;display:grid}.quick-action{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:68px;padding:12px}.quick-action>svg:last-child{display:none}.quick-action small{color:var(--muted);margin-top:5px;font-size:.68rem;font-weight:760;display:block}.security-strip{display:none}.sticker-page .utility-topbar{min-height:82px;padding-top:10px}.sticker-page .brand{font-size:1.62rem}.sticker-page .topbar h1{font-size:.96rem}.sticker-hero-card{grid-template-columns:42px minmax(0,1fr);min-height:66px;margin-top:4px;padding:12px}.reference-sticker-empty{min-height:calc(100svh - 238px);box-shadow:none;background:0 0;border:0}.reference-sticker-empty .empty-car-line{width:220px;height:128px;margin-bottom:14px}.reference-sticker-empty p{max-width:230px;color:var(--muted);margin:0 auto 28px;font-size:.86rem}.reference-sticker-empty .primary-button,.reference-sticker-empty .secondary-button{width:min(340px,100%);min-height:58px}.sticker-preview-button{background:#fff}.caller-card{gap:18px;width:min(390px,100%);min-height:calc(100svh - 34px);padding:18px}.caller-security-card{grid-template-columns:44px minmax(0,1fr);min-height:86px;padding:15px}.caller-card>.status-message{display:none}.caller-session-card>.status-message{display:block}.caller-form legend span{color:var(--muted);font-size:.78rem}.caller-message-field{position:relative}.caller-message-field textarea{min-height:98px;padding-bottom:28px}.caller-message-field>small{color:var(--muted);font-size:.72rem;position:absolute;bottom:10px;right:14px}.caller-request-tips{border:1px solid var(--border);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.caller-request-tips span{color:var(--muted-strong);align-items:center;gap:8px;font-size:.76rem;font-weight:760;display:flex}.caller-request-tips svg{color:var(--muted);flex:none}.owner-shell .owner-panel,.sticker-page .owner-panel,.caller-card{max-width:430px}.owner-shell .topbar{min-height:62px;padding:4px 4px 0}.owner-shell .brand,.sticker-page .brand{text-shadow:none;font-size:1.55rem;line-height:1}.owner-shell .topbar h1,.sticker-page .topbar h1{color:var(--muted-strong);text-shadow:none;font-size:.9rem}.owner-shell .topbar-actions{padding-top:2px}.owner-shell .topbar-icon,.sticker-page .icon-button{width:38px;height:38px;min-height:38px;box-shadow:none;border-radius:8px}.owner-shell .dashboard-sheet{gap:10px;padding-bottom:82px}.security-status{grid-template-columns:48px minmax(0,1fr) 74px;min-height:82px;padding:11px 13px}.status-icon{width:38px;height:38px}.security-status strong{font-size:.95rem}.security-status small{font-size:.7rem;line-height:1.35}.security-score{padding-left:13px}.security-score strong{font-size:1.42rem}.security-score small,.security-score em{font-size:.68rem}.dashboard-section{gap:8px}.dashboard-heading{min-height:24px}.dashboard-heading h2{font-size:1rem}.dashboard-heading .text-action{font-size:.7rem}.vehicle-list{gap:0}.vehicle-card{padding:7px}.vehicle-visual{min-height:126px}.vehicle-photo{width:min(300px,78%);bottom:0;right:33%}.vehicle-status-pill{min-height:25px;padding:5px 9px;font-size:.68rem;bottom:7px;left:8px}.qr-box{width:96px;padding:7px;top:15px;right:10px}.qr-title{font-size:.68rem}.qr-box img{width:74px;padding:3px}.qr-box:after{border-radius:5px;width:22px;height:22px;font-size:.82rem}.vehicle-card-footer{gap:8px;padding:8px 5px 1px}.vehicle-copy strong{font-size:1rem}.vehicle-title-row em{padding:4px 7px;font-size:.64rem}.vehicle-copy>span{font-size:.74rem}.qr-expiry{margin-top:9px;font-size:.68rem}.vehicle-qr-label{font-size:.7rem}.vehicle-refresh-button{border-radius:8px;min-width:120px;min-height:40px;font-size:.78rem}.request-empty-row{min-height:58px;padding:8px 10px}.request-avatar{width:34px;height:34px}.request-empty-row strong{font-size:.76rem}.request-empty-row span{font-size:.68rem}.quick-actions-grid{gap:8px}.quick-action{grid-template-columns:30px minmax(0,1fr);min-height:56px;padding:9px 10px}.quick-action>svg:first-child{stroke-width:2.2px;width:23px;height:23px}.quick-action span{font-size:.74rem}.quick-action small{margin-top:3px;font-size:.62rem}.app-dock{width:min(430px,100%);min-height:64px;padding:6px 12px max(6px, env(safe-area-inset-bottom));background:#fffffffa;border-width:1px 0 0;border-radius:0;gap:0;bottom:0;box-shadow:0 -10px 28px #091c1414}.app-dock-item{min-height:52px;box-shadow:none;color:#4f5d58;background:0 0;border:0;border-radius:8px;grid-template-rows:26px auto;font-size:.66rem}.app-dock-item:after{display:none}.app-dock-item:hover,.app-dock-item.active{box-shadow:none;color:var(--accent);background:0 0;transform:none}.dock-icon-shell,.app-dock-item.active .dock-icon-shell,.app-dock-item:not(.active):hover .dock-icon-shell{width:28px;height:28px;box-shadow:none;color:inherit;background:0 0;border-radius:0;transform:none}.premium-dock-icon{width:24px;height:24px}.premium-dock-icon .icon-soft-fill{opacity:0}.premium-dock-icon .icon-primary-fill{opacity:.72}.app-dock-item.active .premium-dock-icon .icon-soft-fill{opacity:.16}.app-dock-item.active .premium-dock-icon .icon-primary-fill{fill:var(--accent)}.app-dock-item.active .premium-dock-icon .icon-line,.app-dock-item.active .premium-dock-icon .icon-check{stroke:var(--accent)}.sticker-page .utility-topbar{min-height:62px;padding:4px 4px 0}.sticker-page .topbar-actions{gap:8px;padding-top:2px}.sticker-page .utility-action-link{width:auto;min-width:72px;min-height:38px;box-shadow:none;border-color:#006f4b24;border-radius:8px;padding:0 13px;font-size:.76rem}.sticker-page .owner-app-link svg{display:none}.sticker-page .owner-app-link .utility-action-label{clip:auto!important;white-space:nowrap!important;width:auto!important;height:auto!important;display:inline!important;position:static!important;overflow:visible!important}.sticker-hero-card{grid-template-columns:38px minmax(0,1fr);min-height:58px;padding:10px 12px}.sticker-hero-card>svg{width:34px;height:34px;padding:7px}.sticker-hero-card strong{font-size:.78rem}.sticker-hero-card span{font-size:.68rem}.reference-sticker-empty{min-height:calc(100svh - 172px)}.reference-sticker-empty .empty-car-line{opacity:1;background:0 0;width:216px;height:122px;margin-bottom:18px}.empty-car-line .empty-car-body,.empty-car-line .empty-car-spark{fill:none;stroke:#2f8b6d;stroke-linecap:round;stroke-linejoin:round}.empty-car-line .empty-car-body{stroke-width:3.2px;opacity:.72}.empty-car-line .empty-car-spark{stroke-width:2.8px;opacity:.28}.empty-car-line .empty-car-badge{fill:var(--accent)}.empty-car-line text{fill:#fff;font-size:16px;font-weight:950}.reference-sticker-empty strong{font-size:1.08rem}.reference-sticker-empty p{margin-bottom:24px;font-size:.8rem}.reference-sticker-empty .primary-button,.reference-sticker-empty .secondary-button{min-height:52px;font-size:.9rem}.caller-shell{padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom))}.caller-card{gap:13px;min-height:calc(100svh - 32px);padding:16px 18px}.caller-request-header{grid-template-columns:34px minmax(0,1fr) auto;margin-bottom:2px}.caller-request-header>strong{font-size:.92rem}.caller-back-icon{width:34px;height:34px}.caller-safe-badge{min-height:28px;padding:0 9px;font-size:.68rem}.caller-plate-hero{padding:20px 14px 18px}.caller-plate-hero span{font-size:.72rem}.caller-plate-hero h1{margin:8px 0 2px;font-size:clamp(2.1rem,10.5vw,2.72rem)}.caller-plate-hero p{font-size:.78rem}.caller-security-card{grid-template-columns:38px minmax(0,1fr);gap:11px;min-height:74px;padding:12px}.caller-security-card>svg{width:34px;height:34px;padding:7px}.caller-security-card strong{font-size:.84rem}.caller-security-card span{font-size:.68rem}.caller-form{gap:10px}.caller-form legend{margin-bottom:9px;font-size:.82rem}.reason-options{gap:10px}.reason-option{min-height:44px;padding:9px 10px 9px 34px}.reason-option input{width:15px;min-height:15px;left:11px}.reason-option strong{font-size:.74rem}.caller-message-field{gap:7px;font-size:.82rem}.caller-message-field textarea{min-height:82px;padding:11px 12px 26px;font-size:.78rem}.caller-request-tips{gap:6px;padding:10px 11px}.caller-request-tips span{font-size:.7rem}.caller-form .primary-button{min-height:52px;font-size:.9rem}@media (max-width:380px){.owner-shell .dashboard-sheet{gap:8px}.security-status{grid-template-columns:42px minmax(0,1fr) 66px;padding:10px}.vehicle-visual{min-height:116px}.qr-box{width:88px}.qr-box img{width:66px}.reason-options{gap:8px}.reason-option{padding-left:31px}}.notification-readiness-card{background:linear-gradient(90deg,#f2fbf7,#fff);border:1px solid #006f4b24;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.notification-readiness-card>span{width:34px;height:34px;color:var(--accent);background:#fff;border-radius:8px;place-items:center;display:grid}.notification-readiness-card strong,.notification-readiness-card small{display:block}.notification-readiness-card strong{color:var(--accent-strong);font-size:.82rem;font-weight:950}.notification-readiness-card small{color:var(--muted);margin-top:3px;font-size:.68rem;line-height:1.4}.notification-readiness-card .secondary-button{min-height:36px;padding:0 10px;font-size:.72rem}.sticker-qa-card{background:var(--accent-tint);border:1px solid #006f4b24;border-radius:8px;gap:10px;padding:12px;display:grid}.qa-status{width:fit-content;color:var(--muted-strong);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:.76rem;font-weight:950;display:inline-flex}.qa-status.complete{background:var(--accent-soft);color:var(--accent-strong)}.sticker-qa-card p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.privacy-center{gap:18px;margin:24px 0;display:grid}.privacy-hero-panel,.privacy-grid article,.danger-zone{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px}.privacy-hero-panel{background:linear-gradient(90deg,#effbf5,#fff);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:13px;padding:16px;display:grid}.privacy-hero-icon,.privacy-grid article>svg{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);border-radius:8px;place-items:center;padding:8px;display:grid}.privacy-hero-panel strong,.privacy-grid strong{color:var(--accent-strong);font-weight:950;display:block}.privacy-hero-panel p,.privacy-grid p,.danger-zone p{color:var(--muted);margin:5px 0 0;font-size:.88rem;line-height:1.55}.privacy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.privacy-grid article{align-content:start;gap:9px;padding:14px;display:grid}.policy-table,.retention-list{gap:8px;display:grid}.policy-table div,.retention-list div{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(90px,.85fr) minmax(0,1.15fr) minmax(0,1.35fr);align-items:start;gap:10px;padding:11px;display:grid}.policy-table strong,.retention-list strong{color:var(--foreground);font-size:.86rem}.policy-table span,.policy-table small,.retention-list span{color:var(--muted);font-size:.82rem;line-height:1.45}.retention-list div{grid-template-columns:minmax(0,1fr) auto}.danger-zone{border-color:#a867203d;gap:12px;padding:16px;display:grid}.danger-zone h2{margin-bottom:4px}.danger-zone label{color:var(--muted-strong);gap:7px;font-size:.82rem;font-weight:900;display:grid}.danger-zone .status-message{margin-bottom:0}@media (max-width:620px){.privacy-page{padding:max(16px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom))}.privacy-document{padding:22px 16px}.privacy-document h1{margin-bottom:14px;font-size:1.72rem;line-height:1.1}.privacy-document h2{font-size:1.1rem}.privacy-document p{font-size:.9rem;line-height:1.65}.privacy-hero-panel{grid-template-columns:38px minmax(0,1fr);padding:13px}.privacy-hero-panel p,.privacy-grid p,.danger-zone p{font-size:.8rem}}@media (max-width:720px){.privacy-grid,.policy-table div{grid-template-columns:1fr}.notification-readiness-card{grid-template-columns:34px minmax(0,1fr) 78px}.notification-readiness-card .secondary-button{grid-column:auto;width:100%;padding:0 8px;font-size:.68rem}}@media print{body{background:#fff}.no-print{display:none!important}.app-shell,.sticker-page{min-height:auto;padding:0}.owner-panel{width:100%}.sticker-workbench{margin-top:0;display:block}.sticker-preview{box-shadow:none;border:0;padding:0}.sticker-sheet{grid-template-columns:repeat(2,1fr);gap:10mm}.parking-sticker{min-height:58mm;box-shadow:none}}.voice-request-card{background:linear-gradient(135deg,#e6f8f1eb,#fffffff5);border:1px solid #006b4b38;border-radius:8px;gap:12px;padding:12px;display:grid}.voice-request-copy,.voice-request-actions{align-items:center;gap:10px;display:flex}.voice-request-copy>span{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.voice-request-copy strong,.voice-request-copy small{display:block}.voice-request-copy strong{color:var(--accent-strong);font-size:.92rem;font-weight:900}.voice-request-copy small{color:var(--muted);margin-top:3px;font-size:.76rem;line-height:1.35}.voice-request-actions{flex-wrap:wrap}.secondary-button.voice{background:var(--accent);color:#fff;border-color:#006b4b5c}.voice-call-panel{z-index:60;max-width:430px;margin:0 auto;position:fixed;bottom:96px;left:18px;right:18px}.voice-call-panel.loading{border:1px solid var(--border);color:var(--muted);text-align:center;background:#fffffff5;border-radius:8px;padding:16px}.voice-call-shell{text-align:center;background:#fffffffa;border:1px solid #006b4b3d;border-radius:8px;justify-items:center;gap:14px;padding:18px;display:grid;box-shadow:0 20px 50px #092a1f2e}.voice-call-avatar{background:radial-gradient(circle at 32% 22%, #2bbf91, var(--accent));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex;box-shadow:0 12px 24px #006b4b42}.voice-call-copy{min-width:0}.voice-call-copy p,.voice-call-copy h3,.voice-call-copy span{margin:0}.voice-call-copy p{color:var(--accent-strong);font-size:.78rem;font-weight:900}.voice-call-copy h3{color:var(--foreground);margin-top:5px;font-size:1.15rem;font-weight:950}.voice-call-copy span{color:var(--muted);margin-top:4px;font-size:.82rem;line-height:1.4;display:block}.voice-call-shell .lk-control-bar{justify-content:center;gap:8px;display:flex}.voice-call-shell .lk-button,.voice-call-end-button{border:1px solid var(--border);min-height:44px;color:var(--foreground);cursor:pointer;background:#fff;border-radius:8px;font-weight:900}.voice-call-end-button{color:#fff;background:#b42318;justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}@media (min-width:760px){.voice-call-panel{width:390px;margin:0;bottom:28px;left:auto;right:28px}}
