:root{--bg:#07111f;--surface:#0c1929;--surface2:#102238;--stroke:rgba(169,203,230,.13);--text:#f4f8fb;--muted:#8fa5b9;--cyan:#31d6ee;--cyan2:#75eeff;--nav-h:82px}*{box-sizing:border-box}html{background:#040911}body{margin:0;color:var(--text);font-family:"IBM Plex Sans Thai",sans-serif;background:radial-gradient(circle at 50% -15%,#173654 0,transparent 30%),linear-gradient(180deg,#07111f,#050b13);min-height:100vh}.app-shell{width:100%;max-width:460px;min-height:100vh;margin:auto;background:linear-gradient(180deg,rgba(8,20,35,.97),rgba(5,12,21,.99));position:relative;box-shadow:0 0 80px #000;overflow:hidden}.topbar{height:76px;display:flex;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;border-bottom:1px solid var(--stroke);gap:11px;background:rgba(7,17,31,.82);backdrop-filter:blur(20px);position:sticky;top:0;z-index:10}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font:800 13px Manrope;color:#06111b;background:linear-gradient(145deg,var(--cyan2),#20a9d7);box-shadow:0 0 28px rgba(49,214,238,.25)}.brand-copy{display:flex;flex-direction:column;line-height:1.1;flex:1}.brand-copy b{font:800 13px Manrope;letter-spacing:.13em}.brand-copy span{color:var(--muted);font:500 10px Manrope;margin-top:4px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--stroke);border-radius:13px;background:#0d1a2a;color:var(--text);position:relative}.icon-button svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8}.notification i{position:absolute;right:9px;top:8px;width:6px;height:6px;border:1px solid var(--bg);border-radius:50%;background:#ff5267}.content{padding:22px 18px calc(var(--nav-h) + 30px)}.welcome-row,.section-title,.result-top,.result-footer,.search-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{margin:0;color:#6f8da7;font:700 9px Manrope;letter-spacing:.17em}.welcome-row h1,.section-title h2{margin:4px 0 0;font-size:22px;letter-spacing:-.03em}.system-pill{font-size:10px;color:#b7c9d7;border:1px solid rgba(65,223,163,.18);background:rgba(29,176,124,.08);padding:7px 9px;border-radius:99px;white-space:nowrap}.system-pill span,.result-footer i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#42dfa3;box-shadow:0 0 9px #42dfa3;margin-right:5px}.search-card{margin-top:20px;padding:18px;border:1px solid rgba(49,214,238,.17);border-radius:22px;background:linear-gradient(145deg,rgba(20,52,74,.7),rgba(9,24,40,.82));box-shadow:0 18px 50px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.03)}.search-heading{display:flex;align-items:center;gap:12px}.radar-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:25px;color:var(--cyan);background:rgba(49,214,238,.1)}.search-heading h2{font-size:16px;margin:0}.search-heading p{font-size:11px;margin:2px 0 0;color:var(--muted)}.plate-form label{display:block;margin:17px 0 7px;color:#a9bac8;font-size:11px}.search-input-wrap{height:51px;border-radius:14px;border:1px solid rgba(142,190,218,.2);background:rgba(4,13,23,.72);display:flex;align-items:center;padding:0 14px;gap:10px}.search-input-wrap:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(49,214,238,.08)}.search-input-wrap svg{width:19px;fill:none;stroke:#7490a6;stroke-width:2}.search-input-wrap input{min-width:0;flex:1;border:0;outline:0;background:none;color:#fff;font:700 19px "IBM Plex Sans Thai"}.clear-button{border:0;background:#1c3144;color:#9bb1c1;border-radius:50%;width:22px;height:22px;font-size:17px;line-height:18px}.search-meta{margin-top:13px}.search-meta>span{font-size:9px;color:#688298}.search-meta button{height:38px;padding:0 16px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--cyan2),#2cb4db);color:#06121d;font-weight:700;box-shadow:0 9px 25px rgba(49,214,238,.16)}.search-meta button span{font-size:18px;margin-left:6px}.quick-section,.recent-section{margin-top:28px}.section-title h2{font-size:18px}.text-button{border:0;background:none;color:var(--cyan);font:600 11px "IBM Plex Sans Thai"}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.quick-card{min-height:116px;text-align:left;border:1px solid var(--stroke);border-radius:18px;padding:14px;background:linear-gradient(145deg,rgba(19,39,59,.87),rgba(10,23,37,.9));color:var(--text);display:flex;flex-direction:column;align-items:flex-start;transition:.18s transform,.18s border-color}.quick-card:active{transform:scale(.97)}.quick-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;margin-bottom:10px;font-size:21px}.quick-card b{font-size:13px}.quick-card small{font-size:9px;color:#7890a4;margin-top:3px}.cyan .quick-icon{color:#39e1ef;background:rgba(57,225,239,.1)}.violet .quick-icon{color:#a98cff;background:rgba(169,140,255,.11)}.amber .quick-icon{color:#ffbd5d;background:rgba(255,189,93,.1)}.green .quick-icon{color:#43dda3;background:rgba(67,221,163,.1)}.result-card{margin-top:13px;border:1px solid var(--stroke);border-radius:19px;overflow:hidden;background:#0c1928}.vehicle-image{height:125px;background:#101d29;position:relative;overflow:hidden}.vehicle-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.07);transform:scale(1.03)}.vehicle-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,#0c1928)}.camera-tag{position:absolute;top:11px;left:11px;z-index:1;font:700 8px Manrope;letter-spacing:.11em;padding:5px 8px;border-radius:6px;background:rgba(3,12,20,.72);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.13)}.vehicle-info{padding:15px}.result-label,.result-grid span{display:block;color:#748ca0;font-size:9px}.result-top h3{font:800 22px Manrope;margin:2px 0 0;letter-spacing:.04em}.confidence{color:#4ce0ad;font:700 10px Manrope;padding:5px 8px;border-radius:7px;background:rgba(76,224,173,.09)}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:11px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}.result-grid b{display:block;font-size:10px;margin-top:3px}.result-footer{padding-top:11px}.result-footer>span{color:#91a7b9;font-size:9px}.result-footer button{border:0;background:none;color:var(--cyan);font-size:10px}.result-footer button b{font-size:16px}.insight-card{margin-top:14px;padding:15px;display:flex;align-items:center;gap:11px;border:1px solid rgba(118,92,224,.17);border-radius:17px;background:linear-gradient(120deg,rgba(80,55,155,.16),rgba(13,27,43,.8))}.insight-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(165,138,255,.13);color:#ad94ff}.insight-card p,.insight-card b,.insight-card span{display:block;margin:0}.insight-card p{font-size:9px;color:#8094a7}.insight-card b{font-size:12px;margin-top:2px}.insight-card span{font-size:8px;color:#3fdaa1;margin-top:2px}.mini-chart{margin-left:auto;height:35px;display:flex;align-items:flex-end;gap:3px}.mini-chart i{display:block;width:3px;border-radius:3px;background:#866fea}.mini-chart i:nth-child(1){height:35%}.mini-chart i:nth-child(2){height:55%}.mini-chart i:nth-child(3){height:42%}.mini-chart i:nth-child(4){height:72%}.mini-chart i:nth-child(5){height:60%}.mini-chart i:nth-child(6){height:86%}.mini-chart i:nth-child(7){height:100%;background:var(--cyan)}.bottom-nav{position:fixed;bottom:0;width:100%;max-width:460px;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:10px 12px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(6,15,26,.9);backdrop-filter:blur(22px);border-top:1px solid var(--stroke);z-index:20}.bottom-nav button{border:0;background:none;color:#657f95;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.bottom-nav button.active{color:var(--cyan)}.bottom-nav button.active:before{content:"";position:absolute;top:0;width:26px;height:2px;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:10px 14px;border-radius:99px;background:#dffbff;color:#07131d;font-size:11px;font-weight:700;transition:.2s;z-index:30;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}button{font-family:inherit;cursor:pointer}@media(min-width:700px){body{padding:24px 0}.app-shell{min-height:900px;border-radius:44px;border:7px solid #111a24}.topbar{border-radius:36px 36px 0 0}.bottom-nav{bottom:31px;border-radius:0 0 36px 36px}.app-shell:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:88px;height:22px;border-radius:99px;background:#020508;z-index:30}.topbar{padding-top:18px;height:82px}}
.login-screen{min-height:100vh;padding:88px 25px 24px;display:flex;flex-direction:column;position:relative;background:radial-gradient(circle at 50% 12%,rgba(32,207,229,.14),transparent 30%)}.login-glow{position:absolute;left:50%;top:170px;transform:translateX(-50%);width:260px;height:260px;border-radius:50%;border:1px solid rgba(49,214,238,.08);box-shadow:0 0 100px rgba(49,214,238,.06)}.login-brand{text-align:center;z-index:1}.login-logo{margin:auto;width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--cyan2),#20a9d7);color:#06111b;font:800 21px Manrope;box-shadow:0 15px 50px rgba(49,214,238,.22)}.login-brand p{margin:16px 0 0;font:800 15px Manrope;letter-spacing:.18em}.login-brand span{font:500 9px Manrope;color:#6e879d;letter-spacing:.06em}.login-copy{text-align:center;margin-top:60px;z-index:1}.secure-badge{font:700 8px Manrope;letter-spacing:.15em;color:#5bdcb1;padding:6px 9px;border:1px solid rgba(91,220,177,.15);border-radius:99px;background:rgba(91,220,177,.06)}.login-copy h1{font-size:28px;line-height:1.2;margin:18px 0 12px}.login-copy h1 em{font-style:normal;color:var(--cyan)}.login-copy p{font-size:12px;line-height:1.7;color:#8ba1b4;margin:0 auto;max-width:330px}.login-panel{margin-top:35px;padding:21px;border:1px solid var(--stroke);border-radius:22px;background:rgba(13,29,46,.76);z-index:1}.connect-flow{display:flex;align-items:center;justify-content:center;margin-bottom:18px}.connect-flow i{width:42px;height:1px;background:linear-gradient(90deg,var(--cyan),#385069)}.flow-node{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#15283a;border:1px solid #294156;color:#7690a6;font:700 9px Manrope}.flow-node.active{color:#07131d;background:#28ce70;border-color:#52e68e}.line-login-button{width:100%;height:54px;border:0;border-radius:14px;background:#06c755;color:#fff;display:flex;align-items:center;padding:0 13px;box-shadow:0 12px 28px rgba(6,199,85,.16)}.line-login-button span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff;color:#06b84f;font:800 8px Manrope}.line-login-button b{flex:1;font-size:14px}.line-login-button i{font-style:normal;font-size:20px}.line-login-button.loading{opacity:.65;pointer-events:none}.privacy-note{text-align:center;color:#71899c;font-size:9px;line-height:1.6;margin:15px 0 0}.privacy-note b{color:#52d9ea}.login-foot{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;color:#536b7f;font-size:8px}.login-foot b{font-weight:500}.account-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:460px;z-index:50;padding:28px 20px 30px;background:#0c1928;border:1px solid var(--stroke);border-radius:26px 26px 0 0;box-shadow:0 -30px 80px #000;text-align:center}.sheet-close{position:absolute;right:18px;top:15px;border:0;background:#172a3c;color:#9eb0be;width:30px;height:30px;border-radius:50%;font-size:20px}.profile-avatar{width:58px;height:58px;margin:auto;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#72edff,#2cb4db);color:#06121d;font:800 19px Manrope}.account-sheet h2{margin:10px 0 0}.profile-id{color:#46dba8;font-size:10px;margin:2px 0 15px}.membership-card{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:8px;padding:14px;background:#0f2134;border-radius:14px}.membership-card span{display:block;color:#71899c;font-size:9px}.membership-card b{font-size:11px}.membership-card i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#42dfa3}.permission-list{text-align:left;margin-top:16px}.permission-list p{color:#70889c;font-size:10px}.permission-list div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--stroke);font-size:11px}.permission-list b{color:#4addaa}.permission-list .disabled b{color:#ff7180}.logout-button{width:100%;margin-top:19px;height:43px;border:1px solid rgba(255,90,105,.22);border-radius:12px;background:rgba(255,90,105,.07);color:#ff8591;font-weight:700}
[hidden]{display:none!important}.restricted-screen{min-height:100vh;padding:80px 26px 30px;display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(255,82,103,.1),transparent 34%)}.restricted-brand{display:flex;align-items:center;gap:12px}.restricted-brand .login-logo{width:44px;height:44px;border-radius:14px;font-size:14px;margin:0}.restricted-brand>b{font:800 13px Manrope;letter-spacing:.14em}.lock-orbit{width:130px;height:130px;margin:70px 0 25px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,105,120,.18);box-shadow:0 0 70px rgba(255,82,103,.08)}.lock-orbit span{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(255,82,103,.13);border:1px solid rgba(255,105,120,.24);color:#ff7180;font:800 25px Manrope}.restricted-screen h1{font-size:27px;line-height:1.2;margin:14px 0 10px}.restricted-screen h1 em{font-style:normal;color:#ff7180}.restricted-message{color:#899fb1;font-size:12px;line-height:1.7;max-width:320px}.restricted-card{width:100%;display:grid;grid-template-columns:1fr 1fr;margin-top:24px;padding:16px;border:1px solid var(--stroke);border-radius:16px;background:#0d1d2e;text-align:left}.restricted-card span{display:block;color:#70889c;font-size:9px}.restricted-card b{font-size:11px;color:#ff8290}.restricted-card .blocked{color:#ff7180}.contact-button{width:100%;height:48px;margin-top:16px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--cyan2),#2cb4db);color:#06121d;font-weight:700;display:flex;align-items:center;justify-content:center;text-decoration:none}.restricted-logout{margin-top:12px;border:0;background:none;color:#70889c;font-size:11px}.restricted-expiry{margin:8px 0 0;color:#ff9a6c;font:700 10px Manrope;letter-spacing:.02em}.restricted-warning{width:100%;margin-top:16px;padding:14px;border:1px solid rgba(255,100,120,.25);border-radius:14px;background:linear-gradient(135deg,rgba(255,60,80,.08),rgba(255,40,60,.04));text-align:left}.restricted-warning span{display:block;color:#ff7a8a;font:800 9px Manrope;letter-spacing:.08em;margin-bottom:6px}.restricted-warning p{margin:0;color:#c48090;font-size:10px;line-height:1.7}.line-auth-error{padding:12px 16px;margin-bottom:16px;border:1px solid rgba(255,80,100,.3);border-radius:12px;background:rgba(255,50,70,.08);color:#ff8598;font-size:11px;line-height:1.6;text-align:center}

/* App viewport architecture: one phone frame, four independent views. */
html,body{height:100%;overflow:hidden}body{display:grid;place-items:center}.app-shell{height:100dvh;min-height:0;isolation:isolate}.app-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.025),transparent 24%);z-index:60}.app-shell>#app-content{height:100%;min-height:0}.topbar{position:relative;height:74px;flex:0 0 auto}.content{height:calc(100% - 74px - var(--nav-h));padding:0;overflow:hidden}.app-view{display:none;height:100%;overflow-x:hidden;overflow-y:auto;padding:24px 18px 30px;scrollbar-width:none;animation:view-in .32s cubic-bezier(.2,.75,.25,1)}.app-view::-webkit-scrollbar{display:none}.app-view.active{display:block}.bottom-nav{position:absolute;left:0;bottom:0}.bottom-nav button{position:relative}.bottom-nav button.active:after{content:"";position:absolute;width:42px;height:42px;border-radius:14px;background:rgba(49,214,238,.075);z-index:-1}.login-screen,.admin-screen,.restricted-screen{height:100%;min-height:0;overflow-y:auto}.account-sheet{position:absolute}
@keyframes view-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.hero-panel{min-height:305px;padding:24px 20px 21px;position:relative;overflow:hidden;border:1px solid rgba(105,223,239,.18);border-radius:28px;background:radial-gradient(circle at 85% 5%,rgba(65,224,198,.13),transparent 30%),linear-gradient(145deg,#102c42 0,#0a1d30 53%,#081523 100%);box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.045)}.hero-panel:before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(85,225,237,.07);border-radius:50%;right:-95px;top:-92px}.hero-orbit{height:112px;position:relative;display:grid;place-items:center}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(72,224,235,.13);border-radius:50%;animation:orbit-pulse 3.2s ease-in-out infinite}.hero-orbit:before{width:104px;height:104px}.hero-orbit:after{width:72px;height:72px;animation-delay:.35s}.hero-orbit span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#06131d;background:linear-gradient(145deg,#76f4ff,#27bcdc);font:800 14px Manrope;box-shadow:0 0 35px rgba(49,214,238,.32)}.hero-orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:#51e8d2;box-shadow:0 0 10px #51e8d2}.hero-orbit i:first-child{transform:translate(48px,-26px)}.hero-orbit i:nth-child(2){transform:translate(-38px,40px);opacity:.5}.hero-panel .welcome-row{position:relative}.hero-panel .welcome-row h1{font-size:21px}.hero-copy{position:relative;margin:10px 0 17px;color:#8fa9bb;font-size:11px;line-height:1.65;max-width:320px}.hero-action{width:100%;height:45px;border:1px solid rgba(92,229,238,.22);border-radius:14px;background:rgba(36,198,217,.1);color:#dffcff;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:0 15px}.hero-action b{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--cyan);color:#06131c}.tool-count{font:700 8px Manrope;letter-spacing:.12em;color:#5c7b90}.quick-section{margin-top:24px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:8px}.quick-card{min-height:146px;padding:12px;border-radius:19px;position:relative}.quick-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,.025),transparent);pointer-events:none}.quick-index{position:absolute;right:11px;top:10px;color:#385469;font:700 8px Manrope}.quick-card .quick-icon{margin:17px 0 15px}.quick-card b{font-size:11px;line-height:1.35}.quick-card small{font-size:8px}.pulse-card{margin-top:12px;padding:14px 16px;border:1px solid var(--stroke);border-radius:18px;background:rgba(11,28,44,.74);display:flex;align-items:center;justify-content:space-between}.pulse-copy{display:flex;align-items:center;gap:10px}.pulse-copy small,.pulse-copy b{display:block}.pulse-copy small{font-size:8px;color:#6e8aa0}.pulse-copy b{font-size:11px;margin-top:2px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#45e0a9;box-shadow:0 0 12px #45e0a9}.pulse-bars{height:26px;display:flex;align-items:center;gap:3px}.pulse-bars i{width:2px;height:8px;border-radius:3px;background:#36cfe2;animation:meter 1.1s ease-in-out infinite alternate}.pulse-bars i:nth-child(2){height:18px;animation-delay:.2s}.pulse-bars i:nth-child(3){height:25px;animation-delay:.4s}.pulse-bars i:nth-child(4){height:14px;animation-delay:.6s}.pulse-bars i:nth-child(5){height:20px;animation-delay:.8s}
@keyframes orbit-pulse{50%{transform:scale(1.05);opacity:.55}}@keyframes meter{to{transform:scaleY(.45);opacity:.45}}

.view-heading{display:flex;align-items:flex-start;justify-content:space-between;margin:3px 2px 21px}.view-heading h1{font-size:26px;line-height:1.1;margin:6px 0 4px;letter-spacing:-.035em}.view-heading>div>p:last-child{margin:0;color:#7590a4;font-size:10px}.view-number{font:800 32px Manrope;color:rgba(98,174,198,.16);letter-spacing:-.08em}.mode-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid var(--stroke);border-radius:15px;background:#071521}.mode-switch button{height:37px;border:0;border-radius:11px;background:transparent;color:#688398;font-size:10px;font-weight:700}.mode-switch button.active{color:#06131d;background:linear-gradient(135deg,#6bf0f9,#2ec1db);box-shadow:0 8px 20px rgba(49,214,238,.14)}.app-view[data-view="search"] .search-card{margin-top:12px}.search-output{margin-top:22px}.history-filter{height:44px;padding:0 13px;border:1px solid var(--stroke);border-radius:14px;background:#0a1928;display:flex;align-items:center;justify-content:space-between}.history-filter button{border:0;border-radius:9px;background:rgba(49,214,238,.1);color:var(--cyan);padding:7px 12px;font-size:9px;font-weight:700}.history-filter span{font-size:8px;color:#5e7a8e}.history-list{display:grid;gap:9px;margin-top:14px}.history-row{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--stroke);border-radius:17px;background:linear-gradient(145deg,rgba(16,36,55,.9),rgba(8,22,35,.92))}.history-kind{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#39dce9;background:rgba(49,214,238,.09);font-size:19px}.history-kind.meter{color:#ffbd5d;background:rgba(255,189,93,.09)}.history-kind.camera{color:#45dda4;background:rgba(69,221,164,.09)}.history-row small,.history-row b,.history-row time{display:block}.history-row small{font-size:8px;color:#668297}.history-row b{font-size:13px;margin:1px 0}.history-row time{font-size:8px;color:#516c81}.history-row em{font:700 7px Manrope;font-style:normal;color:#45dca9;background:rgba(69,220,169,.08);border-radius:7px;padding:6px}.history-row em.pending,.history-row em.waiting,.history-row em.running{color:#ffbd5d;background:rgba(255,189,93,.08)}.history-row em.error,.history-row em.cancelled{color:#ff7180;background:rgba(255,113,128,.08)}.history-empty{min-height:180px;border:1px dashed var(--stroke);border-radius:19px;display:grid;place-content:center;text-align:center;color:#637e92;font-size:10px}.history-empty b,.history-empty span{display:block}.history-empty b{color:#a9bdcc;font-size:13px}.history-empty span{margin-top:3px}.profile-hero{position:relative;display:flex;align-items:center;gap:15px;padding:20px;border:1px solid rgba(49,214,238,.15);border-radius:22px;background:linear-gradient(145deg,#102c42,#0a1b2c)}.page-avatar{margin:0}.profile-hero h2{margin:0;font-size:19px}.profile-hero p{margin:2px 0 0;color:#6fded6;font-size:9px}.verified-mark{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#47dfad;color:#06141d;font-weight:800}.page-membership{margin-top:12px;border:1px solid var(--stroke);border-radius:17px;background:#0a1928}.page-permissions{margin-top:22px;padding:5px 16px;border:1px solid var(--stroke);border-radius:18px;background:rgba(9,24,38,.72)}.page-permissions p{font:700 9px Manrope;letter-spacing:.14em}.profile-logout{margin-top:14px}

@media(min-width:700px){body{padding:14px}.app-shell{width:430px;height:min(880px,calc(100dvh - 28px));min-height:620px;border-radius:48px;border:7px solid #111a24}.app-shell:before{top:7px}.topbar{height:80px;padding-top:19px;border-radius:39px 39px 0 0}.content{height:calc(100% - 80px - var(--nav-h))}.bottom-nav{bottom:0;border-radius:0 0 39px 39px}.login-screen,.admin-screen,.restricted-screen{min-height:0}}
@media(max-height:720px){.app-view{padding-top:16px}.hero-panel{min-height:270px}.hero-orbit{height:84px}.quick-card{min-height:125px}.hero-copy{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Premium interaction pass */
.bottom-nav{padding-inline:16px;background:linear-gradient(180deg,rgba(5,15,25,.82),rgba(5,14,24,.97));box-shadow:0 -12px 35px rgba(0,0,0,.18)}.bottom-nav button{z-index:0;gap:5px;transition:color .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.bottom-nav button svg{position:relative;z-index:2;transition:transform .3s cubic-bezier(.2,.85,.25,1),filter .3s ease}.bottom-nav button span{position:relative;z-index:2;transition:opacity .25s ease}.bottom-nav button.active{transform:translateY(-1px);text-shadow:0 0 14px rgba(49,214,238,.32)}.bottom-nav button.active svg{transform:translateY(-2px);filter:drop-shadow(0 0 7px rgba(49,214,238,.55))}.bottom-nav button.active:after{width:34px;height:24px;top:11px;border-radius:50%;background:radial-gradient(ellipse,rgba(49,214,238,.18),rgba(49,214,238,.04) 56%,transparent 72%);filter:blur(2px);box-shadow:none}.bottom-nav button.active:before{top:auto;bottom:4px;width:13px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 9px rgba(49,214,238,.7)}.bottom-nav button:active{transform:scale(.94)}
.quick-card,.hero-action,.mode-switch button,.search-meta button,.icon-button{transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,background .24s ease,box-shadow .24s ease,filter .24s ease}.quick-card:hover{transform:translateY(-2px);border-color:rgba(90,219,235,.24);box-shadow:0 14px 28px rgba(0,0,0,.16)}.hero-action:hover,.search-meta button:hover{filter:brightness(1.06);box-shadow:0 12px 30px rgba(49,214,238,.21)}.hero-action:active,.quick-card:active,.search-meta button:active,.mode-switch button:active{transform:scale(.975)}.search-input-wrap{transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.search-input-wrap:focus-within{background:rgba(4,15,26,.92);box-shadow:0 0 0 3px rgba(49,214,238,.07),0 10px 30px rgba(0,0,0,.15)}
:where(html,body,.app-shell,.content,.app-view,.login-screen,.admin-screen,.restricted-screen,.account-sheet,*){scrollbar-width:none;-ms-overflow-style:none}:where(html,body,.app-shell,.content,.app-view,.login-screen,.admin-screen,.restricted-screen,.account-sheet,*)::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}:where(html,body,.app-shell,.content,.app-view,.login-screen,.admin-screen,.restricted-screen,.account-sheet,*)::-webkit-scrollbar-thumb{background:transparent;border:0}
.app-shell{overscroll-behavior:none}
.brand-mark,.login-logo,.hero-orbit span{overflow:hidden;padding:0}.brand-mark img,.login-logo img,.hero-orbit span img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.brand-mark img{border-radius:inherit}.login-logo img{border-radius:inherit}.hero-orbit span img{border-radius:inherit}

/* iOS/LINE WebView parity: keep the same scale as desktop Preview and make
   both browser safe areas part of the fixed application viewport. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased}
@media(max-width:699px){
  html,body{width:100%;height:100%;min-height:100%;overflow:hidden}
  .app-shell{width:100%;max-width:none;height:100dvh;min-height:100svh;margin:0}
  .topbar{
    height:calc(74px + env(safe-area-inset-top));
    padding:calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));
  }
  .content{
    height:calc(100% - 74px - env(safe-area-inset-top) - var(--nav-h) - env(safe-area-inset-bottom));
  }
  .app-view{
    padding-right:max(18px,env(safe-area-inset-right));
    padding-left:max(18px,env(safe-area-inset-left));
  }
  .bottom-nav{
    max-width:none;
    height:calc(var(--nav-h) + env(safe-area-inset-bottom));
    padding-right:max(12px,env(safe-area-inset-right));
    padding-bottom:env(safe-area-inset-bottom);
    padding-left:max(12px,env(safe-area-inset-left));
  }
}
