/* Image Review portal: shared brand tokens and accessible application surfaces. */
:root { --ir-ink:#203b3b; --ir-ink-deep:#172d2d; --ir-orange:#f84e1c; --ir-orange-dark:#c93b13; --ir-canvas:#f5f6f3; --ir-border:#e0e5df; --ir-muted:#62706c; --ir-radius:16px; }
body.ir-theme { background:var(--ir-canvas); color:var(--ir-ink)!important; font-family:Geist,system-ui,sans-serif; font-size:14px; line-height:1.55; }
.ir-theme * { letter-spacing:normal; }
.ir-theme h1,.ir-theme h2,.ir-theme h3,.ir-theme h4,.ir-theme h5,.ir-theme h6 { font-family:Geist,system-ui,sans-serif; color:var(--ir-ink); font-weight:600; line-height:1.25; letter-spacing:-.03em; }
.ir-theme :focus-visible { outline:3px solid #f84e1c!important; outline-offset:3px; }
.ir-theme a { text-underline-offset:3px; }
.ir-theme button,.ir-theme input,.ir-theme textarea,.ir-theme select { font:inherit; }
.ir-theme .btn { border-radius:9px; font-weight:550; padding:.65rem 1rem; min-height:40px; }
.ir-theme .btn-sm { padding:.45rem .85rem; min-height:34px; font-size:13px; }
.ir-theme .btn-primary { background:var(--ir-orange-dark); border-color:var(--ir-orange-dark); color:white; }
.ir-theme .btn-primary:hover { background:#ac3010; border-color:#ac3010; color:white; }
.ir-theme .btn:disabled { opacity:.55; cursor:not-allowed; }
.ir-theme .form-control { background:#fff; color:var(--ir-ink); border:1px solid #ccd5ce; border-radius:8px; min-height:44px; padding:.65rem .8rem; font-size:14px; height:auto; }
.ir-theme textarea.form-control { min-height:110px; resize:vertical; }
.ir-theme .form-control:focus { border-color:var(--ir-ink)!important; box-shadow:0 0 0 3px #203b3b15!important; }
.ir-theme .form-label,.ir-theme label { font-weight:500; }
.ir-theme .form-group { margin-bottom:1.2rem; }
.ir-theme .card { background:white; border:1px solid var(--ir-border); border-radius:var(--ir-radius); box-shadow:0 2px 3px #16332b03!important; }
.ir-theme .card-body { padding:24px; }
.ir-theme .table { color:var(--ir-ink); background:white; margin-bottom:0; }
.ir-theme .table th { font-size:12px; font-weight:600; color:var(--ir-muted); background:#f7f8f5; border-top:0; border-bottom:1px solid var(--ir-border); padding:13px 16px; white-space:nowrap; }
.ir-theme .table td { padding:15px 16px; vertical-align:middle; border-top:1px solid #edf0eb; }
.ir-theme .table-responsive { border-radius:10px; }
.ir-theme .alert-danger { border-color:#eecfca; background:#fff3f0; color:#922e20; }
/* Keep dialogs and their backdrop above the mobile navigation bar. */
.ir-theme .modal { z-index:1120; }
.ir-theme .modal-backdrop { z-index:1110; }
.ir-theme .modal-content { border:1px solid var(--ir-border); border-radius:16px; box-shadow:0 20px 70px #10252022; }
.ir-theme .modal-header,.ir-theme .modal-footer { border-color:var(--ir-border); padding:20px 24px; }
.ir-theme .modal-body { padding:24px; }
.ir-theme .pagination .page-link { color:var(--ir-ink); }
.ir-theme .pagination .active .page-link { color:white; border-color:var(--ir-ink); background:var(--ir-ink); }
.ir-theme .a-link,.ir-theme .color-main { color:var(--ir-orange-dark); }
.ir-shell { display:grid; grid-template-columns:242px minmax(0,1fr); min-height:100vh; align-items:start; }
.ir-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#ffffff30 transparent; background:var(--ir-ink); padding:31px 18px 22px; color:#fff; }
.ir-theme .ir-brand { display:flex; align-items:center; gap:11px; margin:0 8px 34px; color:white; font-size:23px; font-weight:600; line-height:1.1; text-decoration:none; }
.ir-brand-light { font-weight:400; }
.ir-brand small { display:block; font-weight:400; font-size:8px; letter-spacing:.22em; color:#adbfba; margin-top:8px; }
.ir-nav-group { margin-bottom:21px; }
.ir-theme .ir-nav-label { color:#b0c2bd; font-size:9px; font-weight:500; letter-spacing:.16em; margin:0 13px 8px; }
.ir-theme .ir-nav-link { display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:8px; width:100%; text-align:left; color:#d8e3df; margin:2px 0; font-size:12px; font-weight:450; border:1px solid transparent; background:none; cursor:pointer; text-decoration:none; line-height:1.5; }
.ir-nav-link svg { flex-shrink:0; opacity:.8; }
.ir-theme .ir-nav-link:hover { background:#ffffff0d; color:#fff; }
.ir-theme .ir-nav-link.is-active { color:white; background:#ffffff13; border-color:#ffffff0a; box-shadow:inset 3px 0 var(--ir-orange); }
.ir-nav-link.is-active svg { color:#ff8a60; opacity:1; }
.ir-nav-toggle > span { flex:1; }
.ir-nav-toggle .is-rotated { transform:rotate(90deg); }
.ir-subnav { padding:3px 0 5px 35px; }
.ir-theme .ir-subnav a { display:block; font-size:12px; color:#b9ccc4; padding:8px 8px; border-left:1px solid #ffffff18; }
.ir-theme .ir-subnav a:hover,.ir-theme .ir-subnav a.is-active { color:white; border-left-color:var(--ir-orange); text-decoration:none; }
.ir-sidebar-note { display:flex; gap:10px; align-items:center; color:#bdcec7; font-size:11px; margin-top:auto; padding:18px 9px 3px; border-top:1px solid #ffffff14; line-height:1.5; }
.ir-sidebar-note svg { color:#ff926c; flex-shrink:0; }
.ir-content { min-width:0; max-width:1680px; width:100%; margin:0 auto; padding:0 38px 48px; }
.ir-topbar { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:86px; border-bottom:1px solid var(--ir-border); margin-bottom:31px; }
.ir-workspace-label,.ir-topbar-actions { display:flex; gap:15px; align-items:center; }
.ir-workspace-label { color:var(--ir-muted); font-size:12px; }
.ir-status-dot { width:6px; height:6px; background:#6c8974; border-radius:50%; }
.ir-topbar-divider { width:1px; height:13px; background:var(--ir-border); }
.ir-workspace-label small { font-size:11px; }
.ir-theme .ir-language { margin:0; }
.ir-language select { padding:8px 4px; background:transparent; border:0; color:var(--ir-muted); font-size:12px; }
.ir-account-menu { position:relative; }
.ir-account-toggle { display:flex; align-items:center; gap:9px; border:0; background:none; color:var(--ir-ink); padding:7px 0 7px 10px; cursor:pointer; }
.ir-account-name { font-size:12px; max-width:155px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ir-avatar { height:34px; width:34px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid #d1dad2; background:#e4eade; border-radius:50%; font-size:13px; font-weight:600; color:var(--ir-ink); }
.ir-account-dropdown { position:absolute; right:0; top:100%; background:white; border:1px solid var(--ir-border); border-radius:12px; padding:6px; min-width:170px; box-shadow:0 12px 28px #17332b15; z-index:100; }
.ir-theme .ir-account-dropdown a,.ir-account-dropdown button { display:flex; width:100%; align-items:center; gap:9px; border:0; background:none; padding:11px; text-align:left; border-radius:7px; color:var(--ir-ink); font-size:13px; cursor:pointer; }
.ir-account-dropdown a:hover,.ir-account-dropdown button:hover { background:var(--ir-canvas); text-decoration:none; }
.ir-theme .ir-page-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; margin:0 0 27px; }
.ir-theme .ir-page-heading h1 { font-size:35px; font-weight:550; letter-spacing:-.045em; margin:5px 0 10px; }
.ir-page-heading p { margin:0; color:var(--ir-muted); font-size:13px; }
.ir-theme .ir-eyebrow { color:var(--ir-muted); font-size:10px; letter-spacing:.15em; font-weight:600; margin:0; }
.ir-theme .ir-button { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:43px; padding:11px 17px; border:1px solid #cbd4ca; border-radius:8px; background:white; color:var(--ir-ink); font-weight:550; font-size:12px; line-height:1.5; cursor:pointer; text-decoration:none; white-space:nowrap; }
.ir-theme .ir-button:hover { background:#edf1ea; color:var(--ir-ink); }
.ir-theme .ir-button-primary { background:var(--ir-orange-dark); border-color:var(--ir-orange-dark); color:white; }
.ir-theme .ir-button-primary:hover { background:#ac3010; border-color:#ac3010; color:white; }
.ir-theme .ir-button-secondary { background:transparent; }
.ir-theme .ir-text-link { display:inline-flex; align-items:center; gap:9px; color:var(--ir-ink); font-size:12px; font-weight:550; text-decoration:none; }
.ir-theme .ir-text-link:hover { text-decoration:underline; }
.ir-intro-grid { display:grid; grid-template-columns:minmax(0,2.25fr) minmax(230px,1fr); gap:20px; margin-bottom:19px; }
.ir-welcome-card { position:relative; display:flex; align-items:center; overflow:hidden; background:var(--ir-ink); border-radius:var(--ir-radius); color:white; padding:29px 30px; min-height:255px; }
.ir-welcome-copy { position:relative; z-index:1; max-width:69%; }
.ir-theme .ir-welcome-copy h2 { font-size:28px; line-height:1.2; letter-spacing:-.035em; font-weight:500; color:white; max-width:360px; margin:16px 0 13px; }
.ir-welcome-copy p { font-size:12px; line-height:1.7; color:#c3d2cc; max-width:360px; margin-bottom:18px; }
.ir-pill { display:inline-block; padding:5px 9px; background:#ffffff0c; border:1px solid #ffffff19; border-radius:5px; font-size:8px; letter-spacing:.06em; color:#d4e3dc; }
.ir-theme .ir-light-link { color:#fff; }
.ir-review-art { position:absolute; right:23px; top:64px; width:185px; height:180px; }
.ir-art-orbit { position:absolute; width:230px; height:230px; border:1px solid #ffffff12; border-radius:50%; left:-13px; top:-31px; box-shadow:0 0 0 22px #ffffff03,0 0 0 45px #ffffff02; }
.ir-art-card { transform:rotate(-8deg); border-radius:13px; background:#f7f7f0; width:175px; height:131px; padding:19px; box-shadow:0 15px 35px #0002; }
.ir-art-avatar { display:inline-block; width:26px; height:26px; border-radius:50%; background:#dce5d2; }
.ir-art-lines { display:inline-flex; flex-direction:column; gap:6px; width:72px; margin-left:10px; vertical-align:top; padding-top:4px; }
.ir-art-lines i,.ir-art-line { display:block; background:#d4ded5; border-radius:3px; height:5px; }
.ir-art-lines i:last-child { width:70%; background:#e3e9df; }
.ir-art-stars { display:flex; color:var(--ir-orange); gap:2px; margin:10px 0; }
.ir-art-stars svg { fill:var(--ir-orange); }
.ir-art-line.short { margin-top:6px; width:70%; }
.ir-art-stamp { width:39px; height:39px; border-radius:50%; position:absolute; right:0; top:98px; display:flex; justify-content:center; align-items:center; background:#d9e8ca; color:var(--ir-ink); border:4px solid var(--ir-ink); }
.ir-plan-card { border:1px solid #dfdfcc; border-radius:var(--ir-radius); padding:26px; background:#edeee3; display:flex; flex-direction:column; }
.ir-theme .ir-plan-card h2 { font-size:19px; font-weight:550; margin:12px 0 10px; }
.ir-plan-card p { margin:0 0 11px; font-size:12px; color:var(--ir-muted); }
.ir-plan-number { font-size:35px; font-weight:500; line-height:1.2; color:var(--ir-ink); margin-right:4px; }
.ir-theme .ir-muted { color:var(--ir-muted); font-size:11px; }
.ir-plan-card .ir-text-link { margin-top:auto; }
.ir-meter { width:100%; height:5px; margin:1px 0 15px; border:0; display:block; border-radius:4px; overflow:hidden; background:#d6dccd; }
.ir-meter::-webkit-progress-bar { background:#d6dccd; }
.ir-meter::-webkit-progress-value { background:var(--ir-ink); border-radius:4px; }
.ir-meter::-moz-progress-bar { background:var(--ir-ink); }
.ir-quick-start { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:white; border:1px solid var(--ir-border); border-radius:12px; padding:7px 0; margin-bottom:33px; }
.ir-theme .ir-quick-start a { display:flex; align-items:center; gap:12px; padding:13px 18px; text-decoration:none; color:var(--ir-ink); border-right:1px solid var(--ir-border); }
.ir-quick-start a:last-child { border-right:0; }
.ir-quick-start a:hover { background:#f9faf7; }
.ir-quick-start a > span:nth-child(2) { flex:1; min-width:0; }
.ir-quick-start strong { display:block; font-size:12px; font-weight:550; }
.ir-quick-start small { display:block; color:var(--ir-muted); font-size:10px; margin-top:3px; }
.ir-step-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:35px; height:35px; border:1px solid #dde3d7; background:#f3f6ef; border-radius:9px; color:#69836e; }
.ir-step-icon.is-complete { background:#e8f0de; }
.ir-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:17px; }
.ir-theme .ir-section-heading h2 { font-size:19px; font-weight:550; margin:0 0 5px; }
.ir-section-heading p { font-size:12px; color:var(--ir-muted); margin:0; }
.ir-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.ir-stat-card { padding:20px; border:1px solid var(--ir-border); border-radius:12px; background:white; }
.ir-stat-label { display:flex; justify-content:space-between; gap:10px; color:var(--ir-muted); font-size:11px; }
.ir-stat-label svg { color:#7b9085; }
.ir-stat-number { display:flex; align-items:baseline; gap:7px; font-size:34px; letter-spacing:-.05em; line-height:1.2; margin:15px 0 9px; font-weight:500; }
.ir-stat-number small { color:#839088; font-size:14px; font-weight:400; }
.ir-stat-card p { color:#7b867f; font-size:10px; margin:0; }
.ir-detail-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:21px; }
.ir-panel { background:#fff; border:1px solid var(--ir-border); border-radius:var(--ir-radius); padding:23px; }
.ir-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:13px; }
.ir-theme .ir-panel-heading h2 { font-size:16px; font-weight:550; margin:0; }
.ir-count { background:#eff2ed; border:1px solid #e4e9e1; font-size:10px; border-radius:5px; padding:2px 7px; color:#6a7c6e; }
.ir-empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:39px 20px 30px; }
.ir-empty-icon { display:flex; align-items:center; justify-content:center; width:67px; height:67px; border-radius:18px; background:#f1f4e9; color:#839275; margin-bottom:18px; border:1px solid #e5eadc; transform:rotate(-5deg); }
.ir-theme .ir-empty h3 { font-size:18px; font-weight:550; margin:0 0 9px; }
.ir-empty p { color:var(--ir-muted); max-width:300px; font-size:12px; margin:0 0 19px; line-height:1.7; }
.ir-rating-summary { display:flex; align-items:center; gap:10px; margin:19px 0; }
.ir-rating-summary > strong { font-size:39px; font-weight:500; letter-spacing:-.05em; }
.ir-rating-summary > span { color:#798779; font-size:13px; }
.ir-rating-summary small { display:block; font-size:10px; margin-top:3px; }
.ir-rating-bars { display:flex; flex-direction:column; gap:6px; }
.ir-rating-row { display:flex; align-items:center; gap:11px; }
.ir-rating-row > span { width:31px; flex-shrink:0; display:flex; align-items:center; justify-content:space-between; font-size:10px; color:#7c8779; }
.ir-rating-row progress { appearance:none; width:100%; height:5px; border:0; border-radius:3px; overflow:hidden; background:#eef1ea; }
.ir-rating-row progress::-webkit-progress-bar { background:#eef1ea; }
.ir-rating-row progress::-webkit-progress-value { background:#e97342; border-radius:3px; }
.ir-rating-row progress::-moz-progress-bar { background:#e97342; }
.ir-rating-row > small { width:19px; flex-shrink:0; text-align:right; font-size:10px; color:#84907f; }
.ir-theme .ir-review-row { display:flex; align-items:center; gap:12px; padding:19px 0; border-bottom:1px solid var(--ir-border); color:var(--ir-ink); }
.ir-review-row > span:nth-child(2) { flex:1; min-width:0; }
.ir-review-row strong { display:block; font-size:13px; }
.ir-review-row small { display:block; font-size:12px; color:var(--ir-muted); }
.ir-score { display:flex; gap:5px; align-items:center; font-size:11px; white-space:nowrap; }
.ir-score svg { color:var(--ir-orange-dark); }
.ir-products-summary { margin-top:21px; }
.ir-products-summary table { margin-top:20px; }
.ir-dashboard-footnote { font-size:10px; color:#7d8a81; margin:19px 0 0; }
.ir-loading,.ir-error { padding:25px; border:1px solid var(--ir-border); border-radius:12px; background:white; margin-bottom:20px; }
.ir-error { color:#973624; background:#fff4ef; }
.ir-mobile-bar { display:none; }
.ir-skip-link { position:fixed; top:-100px; left:260px; z-index:2000; background:white; color:var(--ir-ink); padding:14px; }
.ir-skip-link:focus { top:10px; }
.ir-theme .ir-auth { min-height:100vh; display:grid; grid-template-columns:minmax(0,1fr) minmax(400px,1fr); background:white; }
.ir-auth-story { background:var(--ir-ink); padding:50px clamp(35px,7vw,120px); display:flex; flex-direction:column; color:#fff; }
.ir-auth-story .ir-brand { margin:0 0 90px; }
.ir-theme .ir-auth-story h1 { color:#fff; font-weight:450; font-size:clamp(32px,3.5vw,53px); line-height:1.12; letter-spacing:-.055em; max-width:450px; }
.ir-auth-story h1 em { font-style:normal; color:#fca379; }
.ir-auth-story p { color:#bfd1c7; font-size:15px; margin-top:20px; max-width:350px; line-height:1.75; }
.ir-auth-story .ir-auth-caption { margin-top:auto; padding-top:65px; font-size:11px; color:#a9c1b4; }
.ir-auth-form-panel { display:flex; align-items:center; justify-content:center; padding:45px; }
.ir-auth-form { max-width:370px; width:100%; }
.ir-theme .ir-auth-form h2 { font-size:30px; letter-spacing:-.04em; font-weight:550; margin:10px 0; }
.ir-auth-form > p { font-size:13px; color:var(--ir-muted); margin-bottom:30px; }
.ir-auth-form label { font-size:12px; margin-bottom:8px; }
.ir-auth-form input { width:100%; }
.ir-auth-form .ir-button { width:100%; margin:9px 0 18px; }
.ir-auth-form .ir-auth-forgot { display:block; text-align:right; margin:15px 0; font-size:12px; color:var(--ir-orange-dark); }
.ir-auth-form .ir-auth-signup { font-size:12px; text-align:center; margin:18px 0; color:var(--ir-muted); }
.ir-auth-form .ir-auth-signup a { color:var(--ir-ink); font-weight:600; }
.ir-auth-note { border-top:1px solid var(--ir-border); padding-top:18px; font-size:11px; color:var(--ir-muted); line-height:1.6; }
@media(min-width:1600px) { .ir-content { padding-left:55px; padding-right:55px; } .ir-welcome-card { padding:35px; } }
@media(max-width:1200px) { .ir-shell { grid-template-columns:220px minmax(0,1fr); } .ir-sidebar { padding-left:12px; padding-right:12px; } .ir-content { padding:0 24px 45px; } .ir-review-art { opacity:.35; right:-30px; } .ir-welcome-copy { max-width:85%; } .ir-quick-start a { padding:12px; gap:9px; } .ir-quick-start a > svg { display:none; } .ir-stat-card { padding:16px; } }
@media(max-width:980px) { .ir-intro-grid { grid-template-columns:1fr; } .ir-plan-card { display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:20px; padding:22px; } .ir-plan-card .ir-eyebrow,.ir-plan-card h2 { grid-column:1; } .ir-plan-card .ir-plan-number { font-size:25px; } .ir-plan-card .ir-meter { grid-column:2; } .ir-plan-card .ir-text-link { grid-column:2; } .ir-quick-start { grid-template-columns:1fr; } .ir-quick-start a { border-right:0; border-bottom:1px solid var(--ir-border); padding:13px 18px; } .ir-quick-start a:last-child { border-bottom:0; } .ir-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ir-detail-grid { grid-template-columns:1fr; } .ir-workspace-label small,.ir-topbar-divider { display:none; } .ir-account-name { display:none; } .ir-welcome-copy { max-width:70%; } .ir-review-art { opacity:1; right:20px; } .ir-page-heading { align-items:flex-start!important; flex-direction:column; } }
@media(max-width:700px) { .ir-shell { display:block; } .ir-mobile-bar { display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:14px 20px; background:var(--ir-ink); color:white; } .ir-mobile-bar button { display:flex; align-items:center; gap:6px; color:white; background:#ffffff10; border:1px solid #ffffff25; border-radius:7px; padding:7px 10px; font-size:12px; } .ir-mobile-brand { display:flex; align-items:center; gap:8px; font-size:18px; } .ir-sidebar { display:none; position:static; height:auto; max-height:70vh; border-top:1px solid #ffffff15; padding:15px 20px; } .ir-sidebar.is-open { display:flex; } .ir-sidebar .ir-brand { display:none; } .ir-sidebar-note { margin-top:10px; } .ir-content { padding:0 20px 65px; } .ir-topbar { min-height:65px; margin-bottom:24px; gap:10px; } .ir-topbar-actions { gap:8px; } .ir-workspace-label { font-size:11px; gap:7px; } .ir-language select { font-size:11px; max-width:93px; } .ir-account-toggle { gap:5px; padding-left:0; } .ir-avatar { width:29px; height:29px; } .ir-theme .ir-page-heading h1 { font-size:30px; } .ir-page-heading p { max-width:290px; line-height:1.65; } .ir-page-heading { gap:17px!important; } .ir-welcome-card { padding:24px; min-height:268px; } .ir-welcome-copy { max-width:100%; } .ir-theme .ir-welcome-copy h2 { font-size:28px; max-width:300px; } .ir-review-art { display:none; } .ir-welcome-copy p { max-width:300px; } .ir-plan-card { display:flex; align-items:stretch; } .ir-section-heading { align-items:flex-start; flex-direction:column; gap:10px; } .ir-stat-grid { gap:11px; } .ir-stat-card { padding:15px; } .ir-stat-label { font-size:10px; min-height:31px; } .ir-stat-label svg { display:none; } .ir-stat-number { font-size:29px; margin:10px 0; } .ir-stat-card p { font-size:10px; } .ir-panel { padding:21px; } .ir-empty { padding:30px 0; } .ir-skip-link { left:20px; } .ir-theme .card-body { padding:19px; } .ir-auth { grid-template-columns:1fr!important; } .ir-auth-story { padding:30px 24px; } .ir-auth-story .ir-brand { margin:0 0 30px; } .ir-theme .ir-auth-story h1 { font-size:32px; } .ir-auth-story p,.ir-auth-story .ir-auth-caption { display:none; } .ir-auth-form-panel { padding:35px 24px 75px; } }
@media(prefers-reduced-motion:reduce) { .ir-theme * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

.ir-theme .ir-brand { display:block; }
.ir-brand .ir-logo-image { display:block; max-width:100%; height:auto; }
.ir-brand > small { margin-top:10px; padding-left:43px; }

/* A single navigation surface for phones and portrait tablets. */
@media (max-width:980px) {
    .ir-shell { display:block; }
    .ir-mobile-bar { position:sticky; top:0; z-index:1100; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:68px; padding:12px 20px; padding-top:calc(12px + env(safe-area-inset-top)); background:var(--ir-ink); color:white; }
    .ir-mobile-brand { display:flex; min-width:0; }
    .ir-mobile-brand img { max-width:100%; height:auto; }
    .ir-mobile-bar button { display:flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; min-width:84px; min-height:44px; padding:9px 12px; border:1px solid #ffffff30; border-radius:8px; color:white; background:#ffffff10; font-size:14px; }
    .ir-sidebar { display:none; position:fixed; z-index:1090; top:calc(68px + env(safe-area-inset-top)); bottom:0; left:0; width:100%; height:auto; max-height:none; padding:20px 20px calc(28px + env(safe-area-inset-bottom)); border-top:1px solid #ffffff20; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
    .ir-sidebar.is-open { display:flex; }
    .ir-theme .ir-sidebar .ir-brand { display:none; }
    .ir-theme .ir-nav-link,.ir-theme .ir-subnav a { min-height:44px; font-size:14px; }
    .ir-theme .ir-subnav a { padding-top:11px; padding-bottom:11px; }
    .ir-sidebar-note { margin-top:12px; }
    .ir-theme:has(.local-development-banner) .ir-sidebar { padding-bottom:90px; }
    .ir-skip-link { left:20px; }
    .ir-theme .form-control { font-size:16px; }
    .ir-theme .btn,.ir-theme .ir-button { min-height:44px; white-space:normal; overflow-wrap:anywhere; }
    .ir-language select { min-height:44px; font-size:16px; max-width:125px; }
    .ir-account-toggle { min-height:44px; min-width:44px; }
    .ir-account-dropdown a,.ir-account-dropdown button { min-height:44px; font-size:14px; }
    .ir-theme .ql-toolbar button { width:44px; height:44px; padding:11px; }
    .ir-theme .ql-toolbar .ql-picker-label { min-height:44px; padding-top:10px; }
    .ir-theme .ql-toolbar .ql-picker { height:44px; font-size:16px; }
    .ir-theme .ql-editor { font-size:16px; }
    .ir-theme .table-responsive { overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
    .ir-theme .ir-content p,.ir-theme .ir-content h1,.ir-theme .ir-content h2,.ir-theme .ir-content h6 { overflow-wrap:anywhere; }
}
@media (max-width:575px) {
    .ir-content { padding-left:16px; padding-right:16px; }
    .ir-theme .card-body { padding:18px; }
    .ir-workspace-label { font-size:11px; gap:6px; }
    .ir-topbar-actions { gap:4px; }
    .ir-theme .ir-brand-form .row > [class*='col-'] + [class*='col-'] { margin-top:8px; }
    .ir-theme .ir-brand-form .d-flex { gap:12px; }
}
.ir-brand-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.ir-brand-form fieldset:disabled .ql-container { background:#f7f8f5; border:1px solid var(--ir-border); border-radius:8px; }
.ir-brand-form fieldset:disabled .ql-editor { min-height:90px; height:auto; }
.ir-brand-form fieldset:disabled .ql-container { height:auto; }
.ir-brand-form fieldset:disabled .btn { opacity:.5; cursor:not-allowed; }

/* Owner onboarding uses verified link and subscription state, without inferred milestones. */
.ir-owner-next { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); background:white; border:1px solid var(--ir-border); border-radius:var(--ir-radius); overflow:hidden; margin:0 0 30px; }
.ir-owner-main { padding:30px; min-width:0; }
.ir-theme .ir-owner-main h2 { font-size:28px; line-height:1.22; letter-spacing:-.025em; margin:12px 0; }
.ir-owner-main > p:not(.ir-eyebrow) { max-width:650px; font-size:14px; line-height:1.7; color:var(--ir-muted); }
.ir-owner-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px; margin-top:22px; }
.ir-owner-access { padding:28px; background:#edf2e7; min-width:0; }
.ir-owner-status { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ir-ink); }
.ir-owner-status svg { flex-shrink:0; }
.ir-theme .ir-owner-access h3 { font-size:19px; margin:18px 0 12px; }
.ir-owner-access p { font-size:13px; line-height:1.65; color:var(--ir-muted); margin-bottom:12px; }
.ir-owner-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1/-1; border-top:1px solid var(--ir-border); }
.ir-theme .ir-owner-tools a { display:flex; align-items:center; gap:12px; padding:20px; text-decoration:none; border-right:1px solid var(--ir-border); color:var(--ir-ink); }
.ir-owner-tools a:last-child { border-right:0; }
.ir-owner-tools a:hover { background:#f6f8f3; }
.ir-owner-tools a > svg { flex-shrink:0; }
.ir-owner-tools a > span { flex:1; min-width:0; }
.ir-owner-tools strong { display:block; font-size:13px; }
.ir-owner-tools small { display:block; font-size:11px; line-height:1.6; margin-top:5px; color:var(--ir-muted); }
@media(max-width:980px) { .ir-owner-next { grid-template-columns:1fr; } .ir-owner-main { padding:24px; } .ir-owner-access { padding:24px; } .ir-owner-tools { grid-template-columns:1fr; } .ir-theme .ir-owner-tools a { border-right:0; border-bottom:1px solid var(--ir-border); min-height:76px; padding:18px 24px; } .ir-owner-tools a:last-child { border-bottom:0; } .ir-theme .ir-owner-main h2 { font-size:25px; } }
@media(max-width:575px) { .ir-owner-main,.ir-owner-access { padding:21px; } .ir-owner-actions { align-items:stretch; flex-direction:column; } .ir-owner-actions .ir-button { justify-content:center; } .ir-owner-tools small { font-size:12px; } }

/* One workspace rhythm for the remaining customer and administration screens. */
.ir-section-intro { margin:0 0 24px; min-width:0; }
.ir-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:16px; font-size:12px; color:var(--ir-muted); }
.ir-theme .ir-breadcrumbs a { color:var(--ir-muted); text-decoration:none; }
.ir-theme .ir-breadcrumbs a:hover { color:var(--ir-orange-dark); text-decoration:underline; }
.ir-section-title { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.ir-section-symbol { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:48px; height:48px; border:1px solid #dce4d8; background:#eaf0e4; color:var(--ir-ink); border-radius:14px; }
.ir-theme .ir-section-title h1 { font-size:clamp(28px,3vw,38px); font-weight:550; margin:0; line-height:1.18; letter-spacing:-.035em; }
.ir-section-intro > p { max-width:760px; color:var(--ir-muted); font-size:14px; line-height:1.7; margin:0; }
/* Legacy page headings often shared a narrow Bootstrap row with actions. */
.ir-content .row:has(> [class*='col-'] > .ir-section-intro) { align-items:flex-start; row-gap:8px; }
.ir-content .row > [class*='col-']:has(> .ir-section-intro) { flex:1 1 100%; max-width:100%; }
.ir-content .row:has(> [class*='col-'] > .ir-section-intro) > [class*='col-']:not(:has(> .ir-section-intro)) { flex:0 1 auto; width:auto; max-width:100%; margin:0 0 18px!important; text-align:left!important; }
.ir-content .row > [class*='col-'] { min-width:0; }
.ir-content .card { overflow-wrap:anywhere; }
.ir-content .card-header { background:#f8faf5; padding:18px 24px; border-bottom:1px solid var(--ir-border); border-radius:15px 15px 0 0; }
.ir-content .card-footer { background:#f8faf5; border-color:var(--ir-border); padding:16px 24px; border-radius:0 0 15px 15px; }
.ir-content .card-body > h5,.ir-content .card-body > h6 { font-size:18px; margin-bottom:18px; }
.ir-content .bg-color-light { background:#f0f4eb; border-color:#dce4d8!important; }
.ir-content .input-group { min-width:0; align-items:stretch; }
.ir-content .input-group > .form-control { min-width:0; }
.ir-content .input-group-text { background:#fff; border-color:#ccd5ce; color:var(--ir-muted); border-radius:8px; }
.ir-content .input-group-prepend .input-group-text { border-radius:8px 0 0 8px; }
.ir-content .input-group-append .input-group-text { border-radius:0 8px 8px 0; }
.ir-content .btn:not([class*='btn-primary']):not([class*='btn-danger']):not([class*='btn-success']):not([class*='btn-warning']):not([class*='btn-info']):not([class*='btn-link']) { color:var(--ir-ink); background:#fff; border-color:#d6dfd5; }
.ir-content .btn:not([class*='btn-primary']):not([class*='btn-danger']):not([class*='btn-success']):not([class*='btn-warning']):not([class*='btn-info']):not([class*='btn-link']):hover { background:#edf3e7; border-color:#aabdab; }
.ir-content .btn-primary:focus,.ir-content .btn-primary:active { color:white!important; background:var(--ir-orange-dark)!important; border-color:var(--ir-orange-dark)!important; }
.ir-content .form-control:disabled,.ir-content .form-control[readonly] { color:#617168; background:#f2f5ef; opacity:1; }
.ir-content .form-control[type='file'] { padding:9px; overflow:hidden; }
.ir-content .form-control::file-selector-button { border:0; border-radius:5px; background:#eaf0e4; color:var(--ir-ink); padding:6px 10px; margin-right:10px; cursor:pointer; }
.ir-content .form-control[type='color'] { min-height:44px; padding:5px; }
.ir-content .nav-tabs { border-bottom:1px solid var(--ir-border); gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.ir-content .nav-tabs .nav-link { border-radius:10px 10px 0 0; border:1px solid transparent; color:var(--ir-muted); padding:12px 16px; min-height:44px; }
.ir-content .nav-tabs .nav-link.active { background:white; border-color:var(--ir-border) var(--ir-border) white; color:var(--ir-ink); font-weight:600; box-shadow:inset 0 3px var(--ir-orange); }
.ir-content .table-responsive { border:1px solid var(--ir-border); background:white; margin-bottom:18px; scrollbar-width:thin; scrollbar-color:#b7c8ba #f1f5ee; }
.ir-content .table-responsive:focus-visible { outline-offset:2px; }
.ir-content .table thead th { font-size:12px; letter-spacing:.02em; padding-top:15px; padding-bottom:15px; }
.ir-content .table tbody tr:hover { background:#f9fbf6; }
.ir-content .table td { line-height:1.6; }
.ir-content .table .btn { white-space:nowrap; }
.ir-content .table .badge { white-space:normal; line-height:1.5; }
.ir-content .pagination { gap:6px; flex-wrap:wrap; align-items:center; }
.ir-content .pagination .page-link { min-width:40px; min-height:40px; text-align:center; border:1px solid var(--ir-border); border-radius:8px!important; background:white; }
.ir-content .pagination .page-item.active .page-link { background:var(--ir-ink); border-color:var(--ir-ink); color:white; }
.ir-content .pagination .page-item.disabled .page-link { color:#6f7a72; background:#edf1e8; }
.ir-content .dropdown-menu { border:1px solid var(--ir-border); border-radius:12px; box-shadow:0 12px 30px #17332b18; color:var(--ir-ink); max-width:calc(100vw - 32px); }
.ir-content .dropdown-menu li { min-height:36px; padding:7px 6px; border-radius:6px; }
.ir-content .dropdown-menu li:hover { background:#f0f4eb; }
.ir-content .ql-toolbar.ql-snow { border-color:#ccd5ce; border-radius:9px 9px 0 0; background:#f8faf5; }
.ir-content .ql-container.ql-snow { border-color:#ccd5ce; border-radius:0 0 9px 9px; background:white; }
.ir-content .ql-editor { min-height:140px; font-family:Geist,system-ui,sans-serif; color:var(--ir-ink); line-height:1.7; }
.ir-content .switch { overflow:visible; }
.ir-content .switch .slider { border-radius:12px; background:#e0e6dc; }
.ir-content .switch input:checked + .slider { background:var(--ir-ink); }
.ir-content .switch input:checked + .slider:before { background:#fff; color:var(--ir-ink); }
.ir-content .switch input:focus-visible + .slider { outline:3px solid var(--ir-orange); outline-offset:4px; }
.ir-content .modal-title { font-size:21px; line-height:1.35; }
.ir-content .modal .close { min-width:44px; min-height:44px; border-radius:8px; opacity:.8; color:var(--ir-ink); }
.ir-content .modal-body { overflow-wrap:anywhere; }
.ir-content .modal-footer { gap:10px; }
@media(max-width:980px) {
    .ir-section-intro { margin-bottom:22px; }
    .ir-content .table-responsive > .table { min-width:560px; }
    .ir-content .table-responsive .table { margin:0; }
    .ir-content .table-responsive { max-width:100%; }
    .ir-content .pagination .page-link { min-height:44px; min-width:44px; }
    .ir-content .dropdown-menu li { min-height:44px; }
    .ir-content .modal-dialog { margin:16px; max-width:calc(100vw - 32px); }
    .ir-content .modal-body,.ir-content .modal-header,.ir-content .modal-footer { padding:18px; }
    .ir-content .modal-footer .btn { margin:0; }
}
@media(max-width:575px) {
    .ir-section-title { align-items:flex-start; gap:11px; }
    .ir-section-symbol { width:40px; height:40px; border-radius:11px; }
    .ir-theme .ir-section-title h1 { font-size:28px; padding-top:3px; }
    .ir-section-intro > p { font-size:14px; }
    .ir-breadcrumbs { margin-bottom:14px; }
    .ir-content .row > .col-10:has(> .input-group) { flex-basis:100%; max-width:100%; }
    .ir-content .row:has(> [class*='col-'] > .ir-section-intro) > [class*='col-']:not(:has(> .ir-section-intro)) { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
    .ir-content .row:has(> [class*='col-'] > .ir-section-intro) > [class*='col-']:not(:has(> .ir-section-intro)) > .btn { margin:0!important; }
    .ir-content .card-header,.ir-content .card-footer { padding:16px 18px; }
    .ir-content .nav-tabs .nav-item { flex:1 1 auto; text-align:center; }
    .ir-content .nav-tabs .nav-link { padding:10px 12px; font-size:13px; }
}
.ir-product-actions { display:flex; justify-content:flex-end; gap:8px; margin:-6px -6px 14px; }
.ir-product-actions .btn { min-height:40px; min-width:40px; }
.ir-content .categories-list-icon li { display:flex; flex-wrap:wrap; align-items:center; gap:6px; border-bottom:1px solid var(--ir-border); padding:7px 0; }
.ir-content .categories-list-icon .icone { position:static; display:flex; gap:4px; margin-left:auto; flex-shrink:0; }
.ir-album-category { flex:1 1 100px; min-width:0; border:0; background:transparent; color:var(--ir-ink); padding:10px 8px; text-align:left; border-radius:7px; overflow-wrap:anywhere; }
.ir-album-category.is-active { background:#edf3e7; font-weight:600; }
.ir-theme .ir-icon-action { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid #dce4d8; border-radius:7px; background:white; color:var(--ir-ink); padding:0; }
.ir-theme .ir-icon-action:hover { background:#edf3e7; }
.ir-content .accordion { border:1px solid var(--ir-border); border-radius:12px; background:white; overflow:hidden; }
.ir-content .accordion-title { padding:17px 18px; background:#f4f7f0; border-bottom:1px solid transparent; min-height:52px; }
.ir-content .accordion.open .accordion-title { border-bottom-color:var(--ir-border); color:var(--ir-ink); }
.ir-content .accordion-body { padding:20px; }
@media(max-width:980px) { .ir-product-actions .btn,.ir-theme .ir-icon-action { width:44px; height:44px; min-height:44px; } }
.ir-content .product_box .email_input { display:flex; flex-wrap:wrap; gap:10px; padding:0; }
.ir-content .product_box .email_input .input { float:none; flex:1 1 170px; min-width:0; width:auto; }
.ir-content .product_box .email_input .button { float:none; flex:0 0 auto; width:auto; }
.ir-content .product_box .email_input .button .btn { white-space:nowrap; }
.ir-content .categories-list-icon li { white-space:normal; overflow:visible; }
@media(max-width:575px) { .ir-content .product_box .email_input .input,.ir-content .product_box .email_input .button { flex-basis:100%; } .ir-content .product_box .email_input .button .btn { width:100%; } }
/* A switch is one touch target, with a familiar left/off and right/on thumb. */
.ir-content .switch { width:48px; height:44px; top:0; vertical-align:middle; }
.ir-content .switch .slider { top:10px; bottom:10px; border-radius:20px; }
.ir-content .switch .slider:before { content:''; width:18px; height:18px; left:3px; bottom:3px; padding:0; border-radius:50%; background:#64786b; transform:none; }
.ir-content .switch input:checked + .slider:before { content:''; left:3px; background:white; transform:translateX(24px); }
.ir-modal-close { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; margin:-5px -5px -5px 12px; padding:0; border:1px solid var(--ir-border); border-radius:9px; background:#f4f7f0; color:var(--ir-ink); cursor:pointer; }
.ir-modal-close:hover { background:#e8efdf; }

/* Measured customer value and catalog details. */
.ir-value-summary { grid-column:1/-1; padding:24px; border:1px solid var(--ir-border,#dce3dd); border-radius:18px; background:#fff; }
.ir-value-summary dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:20px 0; }
.ir-value-summary dt { font-size:14px; font-weight:500; }
.ir-value-summary dd { font-size:30px; font-weight:700; margin:6px 0 0; }
.ir-value-summary p { font-size:13px; color:#526964; }
.ir-plan-features { text-align:left; padding-left:20px; font-size:14px; line-height:1.8; }
@media(max-width:575px) { .ir-value-summary {padding:18px;} .ir-value-summary dl {grid-template-columns:1fr;gap:16px;} }
