*{box-sizing:border-box}html{color:#000;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,sans-serif}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #007aff}a{color:#007aff}h1,h2,p{overflow-wrap:anywhere}.icon{vertical-align:middle;flex-shrink:0;width:24px;height:24px}.app-shell{background:#fff;max-width:960px;min-height:100svh;margin:auto;padding-bottom:120px;position:relative}.app-nav{z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffed;border-bottom:1px solid #f2f2f6;justify-content:space-between;align-items:center;gap:10px;height:64px;padding:8px 18px;display:flex;position:sticky;top:0}.app-nav>button{color:#007aff;align-items:center;gap:4px;min-height:44px;font-size:16px;display:flex}.app-nav>span{font-size:16px;font-weight:600}.app-nav .round{background:#f2f2f7;border-radius:50%;justify-content:center;width:40px;min-height:40px}.app-content{padding:16px 20px 30px}.app-content>h1,.title-row h1{letter-spacing:-1px;margin:0 0 18px;font-size:32px;line-height:1.15}.title-row{justify-content:space-between;align-items:center;display:flex}.title-row .round{color:#007aff;background:#f2f2f7;border-radius:50%;width:38px;height:38px}.search{color:#8e8e93;background:#efeff1;border-radius:12px;align-items:center;gap:8px;margin:0 0 19px;padding:10px 12px;display:flex}.search input{color:#000;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:17px}.app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.app-tile{color:#fff;border-radius:20px;min-width:0;min-height:135px;position:relative}.tile-main{text-align:left;flex-direction:column;align-items:flex-start;width:100%;min-height:135px;padding:15px;display:flex}.tile-main>strong{margin-top:28px;font-size:17px;font-weight:600;line-height:1.25}.tile-main>small{opacity:.85;margin-top:6px;font-size:11px}.tile-more{background:#ffffff28;border-radius:50%;place-items:center;padding:9px;display:grid;position:absolute;top:7px;right:8px}.tile-more .icon{width:19px;height:19px}.tone-blue{background:linear-gradient(120deg,#5c75de,#6679d4)}.tone-teal{background:linear-gradient(120deg,#20c5dd,#0787f2)}.tone-pink{background:linear-gradient(120deg,#ed88df,#e95ca9)}.tone-red{background:linear-gradient(120deg,#fd7e92,#fb5c69)}.tone-orange{background:linear-gradient(120deg,#f2bd52,#f7a33e)}.tone-green{background:linear-gradient(120deg,#a4c1a9,#829c88)}.tone-purple{background:linear-gradient(120deg,#b970ed,#9e62c8)}.tone-gray{background:linear-gradient(120deg,#afb6be,#929ba5)}.caption{color:#8e8e93;margin:17px 2px;font-size:13px;line-height:1.65}.section-title{margin:24px 0 12px;font-size:20px}.gallery-banner{text-align:left;color:#fff;background:#15191b;border-radius:20px;width:100%;min-height:150px;padding:23px;display:block;position:relative}.gallery-banner strong{font-size:26px;display:block}.gallery-banner>span{color:#c2c2c7;max-width:75%;margin-top:8px;font-size:14px;display:block}.gallery-banner>div{gap:10px;display:flex;position:absolute;bottom:18px;right:20px}.gallery-banner .icon{background:#007aff;border-radius:12px;width:43px;height:43px;padding:7px}.gallery-banner .icon:nth-child(2){background:#8caa90}.gallery-banner .icon:nth-child(3){background:#f4bc33}.platform-tabs,.energy-tabs{z-index:15;bottom:max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#f1f1f3ef;border:1px solid #d8d8dd;border-radius:38px;justify-content:space-around;align-items:center;width:min(420px,100% - 28px);padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0001}.platform-tabs button,.energy-tabs button{color:#8e8e93;border-radius:30px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;height:56px;font-size:11px;display:flex}.platform-tabs button.active{color:#007aff;background:#fff}.group{background:#f2f2f7;border-radius:14px;margin:18px 0 25px;overflow:hidden}.setting-row{text-align:left;border-bottom:1px solid #dcdce1;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:57px;padding:15px 16px;font-size:15px;display:flex}.setting-row:disabled{opacity:1;cursor:default}.setting-row:last-child{border-bottom:0}.setting-row>span:last-child{color:#8e8e93;text-align:right;font-size:14px}.setting-row small{color:#8e8e93;margin-top:5px;font-size:12px;display:block}.setting-row select{max-width:62%}.setting-row .icon{width:20px;height:20px}.primary,.secondary{border-radius:13px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:49px;margin:12px 0;padding:12px 15px;font-size:16px;font-weight:600;display:flex}.primary{color:#fff;background:#007aff}.secondary{color:#007aff;background:#ededf3}.button-pair{gap:12px;display:flex}.button-pair>*{flex:1;min-width:0}.template-hero{text-align:center;padding:16px 10px}.template-hero h1{margin:15px 0 10px;font-size:27px}.template-hero p{color:#8e8e93;font-size:14px;line-height:1.5}.hero-icon,.app-logo{color:#fff;border-radius:21px;place-items:center;width:78px;height:78px;margin:auto;display:grid}.hero-icon .icon,.app-logo .icon{width:44px;height:44px}.field{color:#8e8e93;margin:14px 0;font-size:13px;display:block}.field input,.field select,.field textarea{color:#000;background:#f6f6f8;border:1px solid #dedee3;border-radius:10px;width:100%;min-height:46px;margin-top:7px;padding:12px;font-size:16px;display:block}.field textarea{resize:vertical;min-height:100px}.steps{background:#f2f2f7;border-radius:16px;padding:15px}.step-card{background:#fff;border-radius:13px;margin-bottom:20px;padding:15px;position:relative}.step-card:not(:last-child):after{content:"";background:#c6c6cc;width:1px;height:20px;position:absolute;bottom:-20px;left:50%}.step-card:last-child{margin-bottom:0}.step-card h2{align-items:center;gap:9px;margin:0 0 15px;font-size:17px;display:flex}.step-card .muted{color:#aeaeb3;margin-left:auto;font-size:13px}.step-icon{color:#fff;border-radius:6px;place-items:center;width:27px;height:27px;display:grid}.step-icon .icon{width:21px;height:21px}.parameter{color:#007aff;text-align:left;background:#eaf2ff;border-radius:7px;min-height:44px;padding:9px 10px;font-size:16px}.editor-tools{gap:10px;display:flex}.editor-tools>button{font-size:13px}.group-label{color:#8e8e93;margin:24px 12px 5px;font-size:12px}.review-summary{text-align:center;padding:25px}.review-summary strong{font-size:42px}.review-summary span,.review-summary p{color:#8e8e93;font-size:14px}.review-card{background:#f2f2f7;border-radius:13px;margin:14px 0;padding:16px}.review-card p{font-size:15px}.review-card small{color:#8e8e93;font-size:12px}.stars{color:#ffb800;letter-spacing:3px}.review-form{padding:14px 16px}.login{text-align:center;max-width:360px;margin:55px auto}.app-logo{background:#657add}.login h1{margin:22px 0 8px;font-size:32px}.login>p{color:#8e8e93}.login .group{padding:15px}.login .group p{color:#8e8e93;font-size:14px}.login>small{color:#8e8e93;font-size:12px}.empty{text-align:center;padding:55px 15px}.empty>.icon{color:#8e8e93;width:48px;height:48px}.empty h2{font-size:21px}.empty p{color:#8e8e93;font-size:14px;line-height:1.6}.sheet-backdrop{z-index:40;background:#0005;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{padding:12px 20px max(25px, env(safe-area-inset-bottom));background:#f2f2f7;border-radius:28px 28px 0 0;width:min(100%,470px);max-height:90svh;position:relative;overflow:auto;box-shadow:0 -10px 35px #0002}.sheet h2{margin:17px 38px 20px 0;font-size:22px}.sheet-handle{background:#c5c5cb;border-radius:5px;width:35px;height:5px;margin:auto}.sheet-close{color:#777;background:#dedee5;border-radius:50%;width:32px;height:32px;font-size:22px;position:absolute;top:25px;right:17px}.sheet .group{background:#fff}.swatches{grid-template-columns:repeat(4,1fr);gap:17px;margin:25px 0;display:grid}.swatches button{color:#fff;border-radius:50%;justify-self:center;width:48px;height:48px;font-size:22px}.glyphs{grid-template-columns:repeat(6,1fr);gap:8px;margin:25px 0;display:grid}.glyphs button{background:#e4e4eb;border-radius:9px;min-height:44px}.glyphs button.active{color:#007aff}.toast,.error-banner,.busy{z-index:30;color:#333;background:#f2f2f7f5;border-radius:13px;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 24px);padding:13px 16px;font-size:14px;line-height:1.5;display:flex;position:fixed;bottom:105px;left:50%;transform:translate(-50%);box-shadow:0 3px 15px #0002}.toast button,.error-banner button{min-width:30px;min-height:30px}.error-banner{color:#a32020;z-index:35;background:#fff0ed}.busy{color:#fff;background:#1c1c1e;top:70px;bottom:auto}.energy{color:#fff;background:#000}.energy .app-nav{color:#fff;background:#000e;border-color:#171719}.energy .app-nav>button{color:#0a84ff}.energy .app-nav .round{background:#1c1c1e}.energy .primary{background:#0a84ff}.energy .secondary{color:#0a84ff;background:#252527}.energy .group{background:#1c1c1e}.energy .setting-row{border-color:#343438}.energy .sheet{background:#1c1c1e}.energy .sheet .group{background:#2c2c2e}.energy .sheet-close{color:#999;background:#38383b}.energy .field input,.energy .field select{color:#fff;background:#2c2c2e;border-color:#414145}.energy-tabs{background:#2c2c2ee8;border:1px solid #5d5d61;box-shadow:inset 0 1px 1px #ffffff25}.energy-tabs button{color:#ddd}.energy-tabs button.active{color:#0a84ff;background:#09090bdd}.energy-tabs .icon{width:27px;height:27px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 17px;display:flex}.filters button{background:#1c1c1e;border:1px solid #333;border-radius:9px;align-items:center;gap:4px;min-height:44px;padding:9px;font-size:13px;display:flex}.filters .icon{color:#0a84ff;width:20px;height:20px}.sample-tag{color:#0a84ff;white-space:nowrap;background:#0a84ff20;border-radius:7px;padding:4px 8px;font-size:12px}.energy-card{background:#222226;border:1px solid #2e2e33;border-radius:4px;margin:15px 0;padding:16px}.energy-card h2{margin:0 0 18px;font-size:16px;font-weight:600}.stats-grid{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:7px 0;display:grid}.stats-grid small{color:#9999a0;font-size:12px;display:block}.stats-grid strong{overflow-wrap:anywhere;margin:12px 0 4px;font-size:27px;font-weight:600;line-height:1.2;display:block}.stats-grid span{color:#acacb4;font-size:12px;display:block}.vehicle-card{background:#1c1c1e;border-radius:24px;margin:17px 0;padding:20px;position:relative}.vehicle-card>div>strong{font-size:24px}.vehicle-card>div>p{color:#8e8e93;margin:7px 0 20px;font-size:14px}.vehicle-card>.sample-tag{position:absolute;top:24px;right:17px}.vehicle-unavailable{text-align:center;border-top:1px solid #333;grid-template-columns:repeat(3,1fr);margin-top:20px;padding-top:20px;display:grid}.vehicle-unavailable .icon{color:#0a84ff}.vehicle-unavailable strong{margin:10px 0 5px;display:block;font-size:26px!important}.vehicle-unavailable small{color:#8e8e93;font-size:12px}.session-row{text-align:left;border-bottom:1px solid #353538;align-items:center;gap:12px;width:100%;min-height:73px;padding:14px 0;display:flex}.session-row:last-child{border-bottom:0}.session-row>span{min-width:0}.session-row b{font-size:14px;display:block}.session-row small{color:#8e8e93;margin-top:5px;font-size:11px;display:block}.session-icon{color:#0a84ff;background:#303033;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.session-values{text-align:right;white-space:nowrap;margin-left:auto}.session-values small{color:#73bf69}.data-note{color:#92929a;margin:14px 0;font-size:12px;line-height:1.7}.daily-bars{scrollbar-width:thin;align-items:flex-end;gap:5px;padding:4px 0 0;display:flex;overflow-x:auto}.daily-bars button{color:#aaa;flex-direction:column;flex:1;align-items:center;gap:5px;min-width:33px;padding:0;display:flex}.bar-value{font-size:10px}.bar-track{background:repeating-linear-gradient(0deg,#0000 0 39px,#424247 40px);justify-content:center;align-items:flex-end;width:100%;height:120px;display:flex}.bar-track>span{background:#f2cc0c;border-radius:1px 1px 0 0;width:16px;display:block}.daily-bars small{font-size:10px}.big-metric{text-align:center;padding:5px;font-size:35px}.big-metric small{color:#999;font-size:13px}.quality-warning{color:#ff9f0a;font-size:13px;line-height:1.6}.quality-details,.run-evidence details{color:#9f9fa6;padding:13px 0;font-size:12px;line-height:1.7}.quality-details summary,.run-evidence summary{cursor:pointer;min-height:36px}.detail-list{margin:0;font-size:14px}.detail-list>div{border-bottom:1px solid #39393d;justify-content:space-between;gap:20px;padding:14px 0;display:flex}.detail-list dt{color:#999}.detail-list dd{text-align:right;margin:0}.run-evidence{color:#8e8e93;font-size:13px}.pagination{color:#8e8e93;justify-content:space-between;align-items:center;font-size:13px;display:flex}.pagination button{color:#0a84ff;min-height:44px}.loading-cards>div{background:linear-gradient(100deg,#1c1c1e,#29292d,#1c1c1e);border-radius:20px;height:145px;margin:17px 0}.loading-cards p{color:#8e8e93;text-align:center;font-size:13px}.import{color:#666;background:#f2f2f7;border-radius:14px;margin:20px 0;padding:16px;font-size:13px;line-height:1.6}.import summary{color:#000;cursor:pointer;min-height:35px;font-size:15px;font-weight:600}.import label{margin-top:16px;display:block}.import input{max-width:100%;margin-top:8px;display:block}.import .actions{gap:12px;margin:18px 0;display:flex}.import .actions button{color:#fff;background:#007aff;border-radius:9px;padding:12px}.import p{font-size:12px}.energy .import{color:#999;background:#1c1c1e}.energy .import summary{color:#fff}.trace{color:#8e8e93;overflow-wrap:anywhere;font-size:12px}@media (min-width:700px){.app-content{padding:28px 38px}.energy .app-content{max-width:760px;margin:auto}.energy-card{padding:22px}.daily-bars button{min-width:34px}.app-nav{padding:12px 30px}}@media (max-width:600px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-content{padding:16px}.app-tile,.tile-main{min-height:121px}.tile-main{padding:13px}.tile-main>strong{font-size:16px}.stats-grid strong{font-size:24px}.stats-grid span{font-size:11px}.gallery-banner strong{font-size:24px}.stats-grid small{font-size:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
