@font-face{font-family:FlamePersian;src:url("fonts/Vazirmatn-Regular.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:FlamePersian;src:url("fonts/Vazirmatn-Medium.woff2") format("woff2");font-weight:600;font-display:swap}@font-face{font-family:FlamePersian;src:url("fonts/Vazirmatn-Bold.woff2") format("woff2");font-weight:700;font-display:swap}/* Environmental monitoring theme: light surfaces, navy structure, orange accents. */
:root{color-scheme:light;--bg:#f4f6f8;--surface:#fff;--surface-2:#f5f7fa;--surface-3:#eaf0f6;--line:#e0e5ec;--text:#172b46;--muted:#63738a;--dim:#788497;--mint:#315eaa;--mint-soft:#eaf1fc;--blue:#315eaa;--radius:20px;--shadow:0 8px 30px #172b4608}body{font-family:FlamePersian,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif;font-size:14px;line-height:1.8;background:var(--bg);color:var(--text)}h1,h2,h3{letter-spacing:0;line-height:1.55}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #497fd9;outline-offset:3px}button{touch-action:manipulation}button:active,.button:active{transform:scale(.975);transition:transform 80ms ease}.button:hover{transform:none;filter:brightness(.97)}.button{min-height:46px;border-radius:12px;font-size:13px;transition:background 150ms ease,transform 80ms ease}.button.primary{background:#315eaa;color:white;box-shadow:0 4px 12px #315eaa17}.button.secondary{background:#f4f7fb;border-color:#dce4ee;color:#24446e}.button.quiet{background:none;color:#315eaa}.button:disabled{opacity:.5;cursor:default}.sidebar{background:#ffffffd9;backdrop-filter:blur(24px);border-color:var(--line);width:236px;padding:26px 18px}.brand{padding:0 0 28px;gap:11px}.brand-logo{width:42px;height:42px;object-fit:contain;background:white;border-radius:12px;padding:5px;border:1px solid #e1e6ed}.brand b{font-size:21px;color:#17335b}.brand small{font-size:10px}.nav>a{font-size:13px;min-height:48px;color:#53667e;border-radius:12px}.nav>a i{color:#6782a5}.nav>a:hover{background:#eef3fa;color:#24446e}.nav>a:first-child{background:transparent;color:#53667e}.nav>a:first-child i{color:#6782a5}.nav>a.is-active{background:#eaf1fc;color:#315eaa;font-weight:700}.nav>a.is-active i{color:#315eaa}.nav-advanced{margin-top:24px;border-top:1px solid #e1e6ed;padding-top:14px}.nav-advanced summary{font-size:12px;color:#63738a;cursor:pointer;min-height:44px}.nav-advanced .nav{gap:3px}.nav-advanced .nav a{font-size:12px}.sidebar-bottom{color:#65748b;border-color:var(--line)}.avatar{background:#e9eff8;color:#315eaa}.shell{margin-right:236px}.topbar{height:70px;background:#f7f9fbe8;backdrop-filter:blur(20px);border-color:var(--line);padding-inline:32px}.top-title{font-size:14px}.top-eyebrow,.eyebrow{font-size:11px;color:#718099}.pill{background:white;color:#456182;border-color:#dce4ee;font-size:11px}.content{max-width:1600px;padding:26px 32px 42px}.refinery-hero{position:relative;isolation:isolate;min-height:224px;border-radius:24px;overflow:hidden;background:#1c3868 url('brand/bandar-abbas-refinery.jpg') center 61%/cover no-repeat;color:white;padding:28px 34px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 26px #21345913;margin-bottom:28px}.refinery-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgba(10,30,66,.92),rgba(15,36,73,.65) 40%,rgba(20,41,75,.06) 85%)}.hero-identity{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600}.hero-identity img{width:52px;height:52px;object-fit:contain;background:white;padding:7px;border-radius:14px;box-shadow:0 3px 12px #00163818}.hero-identity small{display:block;font-size:8px;letter-spacing:.07em;color:#d3dded;direction:ltr;margin-top:2px}.hero-copy h1{font-size:42px;margin:9px 0 0;font-weight:700}.hero-copy p{font-size:15px;margin:0;color:#e2eaf5}.hero-caption{align-self:flex-end;font-size:11px;padding:6px 14px;background:#10284f9c;backdrop-filter:blur(12px);border-radius:20px;border:1px solid #ffffff30}.panel{background:white;border-color:#e0e5ec;box-shadow:var(--shadow);border-radius:20px}.panel h2{font-size:17px}.panel-head{padding:20px 22px 14px}.page-intro h1{color:#172b46}.form-grid input,.form-grid select,.form-stack input,.phone-controls select,.phone-controls input,select,input[type=number]{background:white;color:#172b46;border:1px solid #d7e0eb;border-radius:11px;min-height:46px;padding:9px 12px;max-width:100%}.form-stack label,.form-grid label{color:#415673;font-size:13px}.form-grid label small,.form-footnote,.muted{color:#697b92}.phone-controls{flex-wrap:wrap}.phone-controls label{min-width:0}.form-grid{gap:18px}.status{color:#516580;background:#eef2f7;font-size:11px}.status.pending,.status.processing{background:#fff4df;color:#8b5c12}.status.success,.status.active{background:#e8f5ed;color:#247349}.status.failed,.status.error{background:#ffecea;color:#9d372e}.flash{background:#e8f5ed;color:#247349}.flash.error{background:#fff0ed;color:#9d372e}.empty-state h3{color:#24446e}th{background:#f3f6fa;color:#6a7e98}td{color:#324e70;border-color:#e2e8f0}tbody tr:hover{background:#f7faff}.metric{background:white;border-color:#e0e5ec}.metric-label,.metric-foot{color:#71829a}.info-row b{color:#294769}.text-link{color:#315eaa}footer{border-color:var(--line);color:#748398}.hidden{display:none!important}.login-page{width:min(880px,calc(100% - 40px));margin:7vh auto;background:white;border:1px solid #e0e5ec;border-radius:28px;overflow:hidden;box-shadow:0 25px 70px #17335b12}.login-page .refinery-hero{border-radius:0;margin:0;min-height:250px}.login-form{padding:34px;width:min(460px,100%);margin:auto}.login-form h2{font-size:22px;margin:8px 0 22px}.login-form .muted{font-size:11px;text-align:center}.form-stack{gap:18px}
@media(max-width:1050px){.sidebar{width:205px}.shell{margin-right:205px}.content{padding:22px}.refinery-hero{padding:24px;min-height:205px}.topbar{padding-inline:22px}}@media(max-width:760px){.sidebar{transform:translateX(100%);width:236px}.sidebar.open{transform:translateX(0)}.shell{margin-right:0}.mobile-menu{display:block;background:white;color:#315eaa;border:1px solid #dce4ee;border-radius:10px;width:44px;height:44px;margin-left:12px}.topbar{height:64px;padding-inline:16px}.top-right{gap:8px}.today{display:none}.topbar .avatar{display:none}.topbar .pill{font-size:9px;max-width:134px}.content{padding:16px 14px 28px}.refinery-hero{min-height:188px;padding:20px;border-radius:20px;margin-bottom:24px;background-position:52% 60%}.hero-copy h1{font-size:34px}.hero-copy p{font-size:13px}.hero-identity{font-size:11px}.hero-identity img{width:46px;height:46px}.hero-identity small{font-size:6.5px}.hero-caption{display:none}.login-page{margin:22px auto;width:calc(100% - 28px)}.login-form{padding:26px}.top-title{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.button:active,button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.sidebar,.topbar{background:white;backdrop-filter:none}.hero-caption{background:#17335b;backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#344b69;--line:#72849b}.panel,input,select{border-color:#72849b!important}.eyebrow,.microcopy,.muted{color:#344b69!important}}
@media print{.refinery-hero{print-color-adjust:exact;-webkit-print-color-adjust:exact;min-height:145px}.workspace-tabs,[data-workspace][hidden]{display:none!important}.shell{margin:0}.content{padding:0}.sidebar,.topbar{display:none!important}}

.sidebar{background:#fff;backdrop-filter:none}.sidebar>nav.nav{position:relative;isolation:isolate}.sidebar>nav.nav>a{opacity:1;visibility:visible}#measurement-selected-camera{overflow-wrap:anywhere}.nav-scrim{display:none;border:0}.nav-scrim.open{display:block;position:fixed;inset:0;background:#14284166;z-index:11}.sidebar.open{visibility:visible!important;box-shadow:0 20px 50px #14284133!important}@media(max-width:760px){.sidebar{inset:0 0 0 auto;left:auto;right:0;visibility:hidden}.sidebar.open{transform:none}}

.charts-filter input,.chart-controls input,.filters input,.filters select{background:white;color:#294769;border:1px solid #d7e0eb;border-radius:11px;min-height:44px;padding:8px 12px}.notice-strip{background:#fff6e9;border-color:#edddc3;color:#7b5d2f}.notice-strip p{color:#7b5d2f}.chart-card,.chart-panel{background:white;border-color:#e0e5ec}.chart-empty{background:#f5f8fc;color:#6c819d}.chart-panel h3,.charts-heading h2{color:#24446e}.chart-note,.charts-heading p{color:#6c819d}.message.user .message-content{background:#eaf1fc;color:#24446e}.message.assistant .message-content{background:#f5f8fc;color:#24446e}.chat-footer,.chat-input-box{background:white;border-color:#dce4ee}.chat-footer textarea{background:white;color:#24446e}.chat-empty h2,.chat-intro h1{color:#24446e}.runtime-banner{background:#f3f7fc;border-color:#dce4ee}.runtime-banner strong{color:#24446e}.runtime-banner p{color:#657b98}

/* ===== Navy + orange light theme (overrides) ===== */
:root{color-scheme:light;--bg:#f5f7fb;--navy-900:#0c1f45;--navy-800:#14305e;--navy-700:#1b3f7a;--navy-600:#2d5aa6;--navy-100:#e2eaf7;--navy-50:#f1f5fb;--orange-500:#f58a2f;--orange-600:#e8741a;--orange-700:#b85309;--orange-100:#ffe5cc;--orange-50:#fff5ea;--surface-2:#f4f7fc;--surface-3:#e8eef8;--line:#dfe6f1;--text:#10244a;--muted:#55678a;--dim:#66779a;--mint:#e8741a;--mint-soft:#fff5ea;--amber:#e8741a;--amber-soft:#fff5ea;--coral:#c2410c;--coral-soft:#fff0e6;--blue:#1b3f7a;--shadow:0 8px 30px rgba(20,48,94,.07)}
body{background:var(--bg);color:var(--text)}
body::before{content:'';position:fixed;inset:0 0 auto 0;height:4px;z-index:60;background:linear-gradient(270deg,var(--orange-500) 0 24%,var(--navy-800) 24% 100%);pointer-events:none}
a,.text-link{color:var(--navy-700)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--navy-600);outline-offset:3px}
input:focus,select:focus,textarea:focus{border-color:var(--navy-600)!important}
.button.primary,.button.primary:visited{background:var(--orange-500);color:var(--navy-900);border-color:transparent;font-weight:700;box-shadow:0 4px 12px rgba(232,116,26,.26)}
.button.primary:hover{background:var(--orange-600);filter:none}
.button.primary:disabled{background:#f6d8bb;color:#8a6b4c;box-shadow:none}
.button.secondary{background:#fff;border:1px solid #c6d4ea;color:var(--navy-800)}
.button.secondary:hover{background:var(--navy-50);border-color:var(--navy-600);filter:none}
.button.quiet{background:none;color:var(--navy-700)}
.sidebar{background:#fff;border-color:var(--line)}
.brand b{display:block;font-size:15px;line-height:1.55;color:var(--navy-800)}
.brand small{display:block;font-size:11px;line-height:1.5;color:#5d6f8d;margin-top:2px}
.brand-logo{border-color:var(--line);background:#fff}
.side-label,.top-eyebrow,.eyebrow{color:var(--orange-700)}
.nav>a{color:#47597a}.nav>a i{color:#6b7fa3}
.nav>a:hover{background:var(--navy-50);color:var(--navy-800)}
.nav>a.is-active{background:var(--navy-50);color:var(--navy-800);font-weight:700;box-shadow:inset -3px 0 0 var(--orange-500)}
.nav>a.is-active i{color:var(--orange-600)}
.nav-advanced summary{color:var(--navy-700)}
.avatar{background:var(--navy-800);color:#fff}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
.pill{background:var(--orange-50);border-color:#f7d7b6;color:var(--orange-700);font-weight:600}
.mobile-menu{color:var(--navy-800)}
.top-title{color:var(--navy-800);font-weight:700}
.refinery-hero{background:var(--navy-800) url('brand/bandar-abbas-refinery.jpg') center 61%/cover no-repeat;box-shadow:0 12px 30px rgba(12,31,69,.18);min-height:200px}
.refinery-hero-shade{background:linear-gradient(270deg,rgba(9,27,61,.95),rgba(14,38,82,.78) 48%,rgba(20,48,94,.2) 92%)}
.hero-copy{max-width:min(580px,100%)}
.hero-identity{margin-bottom:6px}
.hero-identity img{background:#fff}
.hero-org{display:block;direction:ltr;font-size:10px;letter-spacing:.09em;font-weight:600;color:#dbe6f7;text-transform:uppercase}
.hero-copy h1{font-size:30px;line-height:1.6;margin:10px 0 0;font-weight:700;color:#fff}
.nm{display:inline-block}.hero-copy h1 .nm{display:block}.hero-copy h1{text-wrap:balance}.hero-copy h1::after{content:'';display:block;width:64px;height:4px;border-radius:3px;background:var(--orange-500);margin-top:14px}
.panel{border-color:var(--line);box-shadow:var(--shadow)}
.panel h2,.page-intro h1,.panel-head h2,.empty-state h3{color:var(--navy-800)}
.metric{border-color:var(--line)}
.status{background:var(--navy-50);color:#3f5478}
.status.pending,.status.processing{background:var(--orange-50);color:var(--orange-700)}
.status.success,.status.active{background:#e6f4ec;color:#1f6b45}
.status.failed,.status.error{background:#ffecea;color:#9d372e}
th{background:var(--navy-50);color:#4a5d7e}
td{color:#26406b}
tbody tr:hover{background:#fbf7f2}
.notice-strip{background:var(--orange-50);border:1px solid #f7d7b6;color:#7a3f08}
.notice-strip *,.notice-strip p{color:#7a3f08}
.callout{background:var(--navy-50);color:var(--navy-800);border-inline-start:4px solid var(--orange-500)}
.runtime-banner{background:var(--navy-50);border-color:#d5e0f1}
.runtime-banner h3,.runtime-banner strong{color:var(--navy-800)}
.runtime-banner p{color:#4f6285}
.runtime-offline{border-color:#f0c28f}.runtime-offline h3{color:var(--orange-700)}
.flash{background:#e6f4ec;color:#1f6b45}
footer{color:#5f7092}
.login-page,.login-page{width:min(880px,calc(100% - 40px));margin:7vh auto;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 25px 70px rgba(20,48,94,.13)}
.login-page .refinery-hero{border-radius:0;margin:0;min-height:250px;box-shadow:none}
.login-form{padding:34px;width:min(460px,100%);margin:auto}
.login-form h2{font-size:22px;margin:8px 0 22px;color:var(--navy-800)}
.login-form .muted{font-size:11px;text-align:center}
.workspace-tabs,.message.user .message-content{background:var(--navy-100)}
@media(max-width:1050px){.hero-copy h1{font-size:26px}}
@media(max-width:760px){.hero-copy h1{font-size:20px}.hero-copy h1 .nm{display:inline-block}.refinery-hero{min-height:176px}.login-page{margin:22px auto;width:calc(100% - 28px)}.login-form{padding:26px}.hero-org{font-size:8px}}
@media(prefers-reduced-transparency:reduce){.sidebar,.topbar{background:#fff}}
@media(prefers-contrast:more){:root{--muted:#2f4466;--line:#6e82a3}}

/* ===== Readability fixes for legacy dark-theme rules (WCAG AA on light surfaces) ===== */
.logout{color:#5d6f8d}
.phone-controls>label,.form-stack label,.form-grid label{color:#3f5478}
.phone-instructions{color:#4a5d7e}
.content small,.content .muted,.content .form-footnote{color:#566a8d!important}
.content .metric-label,.content .metric-foot{color:#566a8d}
.notice-box{background:var(--orange-50);border:1px solid #f7d7b6;border-radius:12px}
.notice-box,.notice-box *{color:#7a3f08!important}
.drop-zone{border:1.5px dashed #9fb3d6;background:linear-gradient(145deg,var(--navy-50),var(--orange-50))}
.drop-zone>b{color:var(--navy-800)}
.drop-zone:hover{border-color:var(--orange-500)}
.camera-glyph,.drop-icon,.empty-icon,.metric-icon,.model-glyph,.step i{color:var(--orange-700)!important}
.empty-icon,.metric-icon,.model-glyph,.drop-icon,.step i{background:var(--orange-50);border-color:#f7d7b6}
.qwen-large,.qwen-icon{color:var(--navy-700)!important;background:var(--navy-100)!important}
.metric-icon.mint,.metric-icon.amber,.metric-icon.coral{color:var(--orange-700)!important}
.content .step small,.content .step p{color:#566a8d!important}
.content a.text-link,.content .text-link{color:var(--navy-700);font-weight:600}
.content .count,small.count{background:var(--navy-100)!important;color:var(--navy-800)!important}
.info-row>span:first-child{color:#566a8d}
.content .button i,.content .text-link i{color:inherit}
.content a>i{color:var(--navy-700)}

/* ===== Theme switch ===== */
:root{--chart-text:#526884;--chart-grid:#e6ecf3;--chart-accent:#b85309;--smoke-ink:#1b3f7a}
.theme-toggle{width:42px;height:42px;border-radius:12px;border:1px solid #c6d4ea;background:#fff;color:var(--navy-800);display:inline-grid;place-items:center;cursor:pointer;margin-inline-end:8px;padding:0;flex:none}
.theme-toggle:hover{background:var(--navy-50);border-color:var(--navy-600)}
.theme-toggle .ti-moon{display:none}
html[data-theme=dark] .theme-toggle .ti-sun{display:none}
html[data-theme=dark] .theme-toggle .ti-moon{display:block}
.login-page{position:relative}
.login-page .theme-toggle{position:absolute;top:14px;left:14px;z-index:3;margin:0;background:rgba(255,255,255,.94)}
@media(max-width:760px){.theme-toggle{width:40px;height:40px;margin-inline-end:4px}}
