/* Visual system inspired by the supplied TokenTally reference. */
:root{
  --ink:#15282c;--deep:#17373b;--green:#0b9d98;--mint:#e8f7f5;
  --lime:#d8f3ee;--line:#d7e3e4;--muted:#63777c;--paper:#f1f7f7;
  --white:#fff;--shadow:0 18px 45px rgba(20,54,61,.08);
  --orange:#ff5b25;
}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 12% 12%,#e4f5f3 0,transparent 38%),radial-gradient(circle at 93% 17%,#fff0e9 0,transparent 35%),#f5f8f8;color:var(--ink);font-size:14px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.upload-zone:focus-visible{outline:3px solid #ff9b72;outline-offset:2px}
.app-shell{display:block;min-height:100vh}
.app-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(22px,3vw,54px);background:rgba(255,255,255,.84);border-bottom:1px solid #e4eded;box-shadow:0 2px 20px #1b4c4d08}
.brand{margin:0;display:flex;align-items:center;gap:12px;flex:0 0 auto;line-height:1;text-decoration:none}
.brand:focus-visible{outline:3px solid #ff9b72;outline-offset:5px;border-radius:6px}
.brand-mark{width:58px;height:58px;flex:0 0 58px;display:block;transform:none;border:0;background:none;overflow:visible}
.brand-mark::before{content:none}
.brand-mark img{display:block;width:100%;height:100%;transition:transform .2s ease}
.brand:hover .brand-mark img{transform:translateY(-2px)}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.brand-name{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap}
.brand-bim{color:#142d34;font:700 32px/.9 'Space Grotesk',Manrope,sans-serif;letter-spacing:-.065em}
.brand-workshop{margin-top:7px;color:#31565b;font:600 11px/1 'IBM Plex Mono',monospace;letter-spacing:.28em}
.header-tools{display:flex;align-items:center;gap:12px}
.header-tool{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 15px;color:#3d575c;font-size:11px;font-weight:800;white-space:nowrap}
.header-tool:hover{border-color:#8edbd6;color:#087f7b}
.header-status{display:flex;align-items:center;gap:8px;color:#567174;font-size:11px;font-weight:800;padding:0 12px}
.header-status .status-dot{background:var(--green)}
.header-cta{background:linear-gradient(135deg,#ff7144,var(--orange));color:#fff;border:0;box-shadow:0 8px 18px #ff5b2530}
.header-cta:hover{color:#fff;border:0;filter:brightness(.97)}
.main-nav{display:flex;align-items:center;gap:7px;max-width:none;overflow-x:auto;margin:25px clamp(22px,2.5vw,44px) 0;padding:8px;background:#fff;border:1px solid #d7e3e4;border-radius:16px;box-shadow:0 12px 26px #284c5010}
.nav-item{width:auto;flex:0 0 auto;white-space:nowrap;border:1px solid transparent;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:800;color:#62777b}
.nav-item:hover{background:#f0f9f8;color:#0a8c89}
.nav-item.active{background:linear-gradient(120deg,#fff4ec,#e7faf8);border-color:#ffc4aa;color:#21484c}
.nav-icon{width:auto;font-size:16px;color:#0e9d99}
.nav-count{background:#e2f5f3;color:#078c87;font-size:10px}
.main-content{max-width:none;padding:0 clamp(22px,2.5vw,44px)}
.topbar{height:45px;margin-bottom:0;border:0;display:flex;align-items:center}
.breadcrumb{font-size:11px;color:#7a9294}
.breadcrumb b{color:#326066}
.top-actions{gap:12px}
.local-badge{font-size:10px;color:#0b9391;background:#e7f7f5;border:1px solid #bee9e5;border-radius:30px;padding:7px 12px}
.avatar{display:none}
.hero{min-height:225px;border-radius:20px;border:1px solid #d5e3e4;background:radial-gradient(circle at 94% 5%,#fff0e8,transparent 33%),radial-gradient(circle at 2% 100%,#dbf8f5,transparent 36%),linear-gradient(110deg,#f9ffff,#fdfcfa);color:var(--ink);padding:34px;box-shadow:var(--shadow)}
.hero::before{content:'';position:absolute;inset:auto auto auto 30px;top:0;width:340px;height:2px;background:linear-gradient(90deg,#0ea8a2,#ff5c27,transparent)}
.hero-copy{max-width:790px}
.eyebrow,.eyebrow.light{color:#0a9693;font-size:10px;letter-spacing:.16em;font-weight:800}
.hero h1{font-size:clamp(30px,3vw,43px);line-height:1.16;letter-spacing:-.05em;margin-bottom:12px}
.hero p{color:#60777a;max-width:690px;font-size:13px;line-height:1.65;margin-bottom:18px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.button{border-radius:9px;font-size:12px;padding:12px 17px}
.button-lime,.button-dark{background:var(--orange);color:#fff}
.button-outline{background:#fff;color:#3c5c60;border:1px solid #ccdfe0}
.button:hover{box-shadow:0 10px 18px #fb704b2c}
.hero-state{width:130px;min-height:130px;flex:0 0 130px;position:relative;z-index:1;align-self:center;background:#e9f7f6;border:1px solid #bfe6e3;border-radius:16px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.hero-state small{color:#6f888b;font-size:10px;font-weight:800;letter-spacing:.08em}
.hero-state strong{color:#0c9893;font:800 24px Manrope,sans-serif;letter-spacing:-.04em}
.hero-state span{color:#628083;font-size:10px;line-height:1.4}
.dashboard-panel{margin-top:18px;padding:28px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(115deg,#fff,#fffaf8);box-shadow:var(--shadow)}
.dashboard-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}
.dashboard-heading h2{font:800 26px Manrope,sans-serif;letter-spacing:-.04em;margin:0}
.dashboard-heading .eyebrow{margin-bottom:7px}
.dashboard-badge{color:#0d9c98;background:#e8f7f5;border:1px solid #bde8e4;border-radius:24px;padding:7px 12px;font-size:10px;font-weight:800;white-space:nowrap}
.dashboard-badge::before{content:'●';font-size:8px;margin-right:6px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.metric{min-height:122px;border:1px solid #dde7e8;background:#f8fbfb;border-radius:14px;padding:18px 17px;display:flex;flex-direction:column;justify-content:space-between}
.metric-label{color:#667e82;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.metric strong{display:block;color:var(--ink);font:800 clamp(20px,2vw,31px) Manrope,sans-serif;letter-spacing:-.05em;line-height:1.1}
.metric small{color:#7e9395;font-size:10px;line-height:1.4}
.dashboard-lower{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:12px;margin-top:12px}
.dashboard-card{min-height:195px;border:1px solid #dde7e8;background:#f8fbfb;border-radius:14px;padding:20px}
.dashboard-card h3{font:800 13px Manrope,sans-serif;margin:0 0 5px}
.dashboard-card p{font-size:10px;color:#71878b;line-height:1.55;margin:0 0 17px}
.dashboard-card .progress-track{height:12px;background:#e7eeee;border-radius:10px;margin:22px 0 18px}
.dashboard-card .progress-track div{background:linear-gradient(90deg,#0da29c,#ff6129);border-radius:10px}
.dashboard-list{display:grid;gap:12px;margin-top:18px}
.dashboard-list div{display:flex;justify-content:space-between;gap:10px;color:#637b7d;font-size:11px}
.dashboard-list b{color:#0a9994;font-weight:800;text-align:right}
.dashboard-list .warning{color:#ed6536}
.dashboard-card .inline-arrow{color:#ed5c25;margin-top:14px}
.mini-ruler{height:10px;border-radius:10px;background:linear-gradient(90deg,#0c9d98 0 47%,#e5eded 47%);margin:20px 0 8px}
.mini-ruler.alt{background:linear-gradient(90deg,#0c9d98 0 72%,#e5eded 72%);margin:9px 0}
.mini-ruler.third{background:linear-gradient(90deg,#0c9d98 0 58%,#e5eded 58%);margin:9px 0}
.mini-note{font-size:10px;color:#8b9b9e}
.workflow-panel{margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow)}
.section-heading{margin:0 0 18px;align-items:center}
.section-heading h2{font-size:21px}
.section-note{font-size:11px;color:#0a9693;background:#e8f7f5;border-radius:20px;padding:7px 11px}
.step-grid{gap:10px}
.step-card{min-height:165px;background:linear-gradient(135deg,#eaf9f7,#f8fcfb);border:1px solid #bfe6e3;border-radius:13px;padding:16px}
.step-card:hover{border-color:#ff9d7a;box-shadow:0 12px 22px #0d777516}
.step-no{color:#0b9e99}
.step-no span{color:#ff6a35}
.step-illustration{background:#d8f5f2!important;color:#0c9a95!important;width:39px;height:39px;margin:13px 0 8px;font-size:20px}
.step-card strong{font-size:12px}
.step-card small{color:#6f898b;font-size:10px}
.overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.insight-card,.progress-card{min-height:150px;background:#f8fbfb;border:1px solid #dce8e8;border-radius:14px;padding:22px}
.insight-card{background:linear-gradient(135deg,#e7f9f6,#f9fcfb)}
.pill{background:#ccf1ed;color:#078e89}
.insight-card h3{font-size:17px}
.insight-card p{color:#6b8386;font-size:11px;margin-bottom:12px}
.inline-arrow,.text-link{color:#0b938e}
.progress-card{background:#fff}
.progress-top{color:#708a8b}
.progress-top span:last-child{color:#0a9994}
.progress-rows div{color:#6d8588}
.progress-rows b{color:#0b948f}
.main-footer{color:#8aa0a2}
.page-header{margin:13px 0 22px}
.page-header h1{font-size:31px}
.page-header p{color:#6b8386}
.header-deco{background:#e1f6f3;color:#0c9c97}
.panel,.guide-card,.empty-photos,.photo-card{border-color:#dce7e8;border-radius:14px;box-shadow:0 8px 24px #1a4e5008}
.form-panel,.side-panel,.checklist-panel,.export-panel{background:#fff}
.field{color:#4d666a}
.field span{color:#ff703f}
.field input,.field select,.field textarea,.photo-fields input,.photo-fields select,.engine-form input{background:#fbfefe;border-color:#d7e4e5;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus,.photo-fields input:focus,.photo-fields select:focus{border-color:#0ba6a0}
.field input::placeholder,.field textarea::placeholder{color:#9aadb0}
.save-state,.preview-note,.tip-list p,.standard-panel>p,.export-panel p,.check-row small{color:#71898b}
.object-preview,.photo-visual{background:#e7f5f4}
.preview-grid{background:linear-gradient(#b9dddb 1px,transparent 1px),linear-gradient(90deg,#b9dddb 1px,transparent 1px);background-size:24px 24px}
.pv-top{background:#b9e9e3;border-color:#54b9af}.pv-front{background:#86d1c8;border-color:#54b9af}.pv-side{background:#60b4aa;border-color:#54b9af}
.dim-label{color:#088d88}
.upload-zone{background:#eaf8f6;border-color:#85d3cf}
.upload-zone:hover,.upload-zone.dragging{background:#dcf5f1;border-color:#0aa39c}
.upload-icon{background:#c8f0eb;color:#0b9692}
.capture-card{background:#eaf8f6;border:1px solid #cae7e4}
.capture-item{border-color:#d0e8e5}.capture-item span{color:#0ba19a}.capture-item strong{color:#17484a}.capture-item p,.capture-foot{color:#6c8587}
.standard-tags span{background:#e0f5f2;color:#0b8f8b}
.standard-note{background:#eff9f8}
.review-banner,.guide-hero{background:linear-gradient(110deg,#e4f8f5,#fff1ea);color:var(--ink);border:1px solid #cde5e3}
.review-score{border-color:#0eaba4;color:#0b8f8a;background:#fff}
.review-banner p,.guide-hero p{color:#617c7f}
.check-row.pass .check-badge{background:#d9f5ef;color:#079c94}
.export-icon{background:#dcf7f1;color:#079d94}
.guide-orbit{border-color:#88d2ca}.guide-shape{color:#7accc2}.guide-camera{color:#ff7041}
.engine-panel{background:linear-gradient(130deg,#e7f9f6,#fff9f5)!important;border-color:#cce9e6!important}
.engine-heading p,.engine-status{color:#657e81!important}
.engine-symbol{color:#0a9e98!important}
.engine-form label{color:#4b696c!important}
.engine-status.error{color:#af4f35!important}.engine-status.success{color:#0b8c84!important}
@media(max-width:1080px){
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-lower{grid-template-columns:1fr 1fr}
  .dashboard-lower .dashboard-card:first-child{grid-column:1/-1}
  .content-grid,.photo-layout{grid-template-columns:minmax(0,1fr) 290px}
}
@media(max-width:800px){
  .app-header{height:auto;min-height:78px;padding:14px 20px}
  .header-tools{gap:7px}.header-tool{padding:9px 11px}
  .header-tools .header-tool:not(.header-cta){display:none}
  .header-status{display:none}
  .main-nav{margin:14px 18px 0}
  .main-content{padding:0 18px}
  .topbar{height:44px}
  .dashboard-lower{grid-template-columns:1fr 1fr}
  .hero-state{display:none}
  .content-grid,.photo-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .app-header{align-items:flex-start}
  .brand{gap:9px}
  .brand-mark{width:48px;height:48px;flex-basis:48px}
  .brand-bim{font-size:27px}
  .brand-workshop{font-size:10px;letter-spacing:.23em;margin-top:5px}
  .hero{padding:26px;min-height:270px}
  .hero h1{font-size:30px}
  .dashboard-panel,.workflow-panel{padding:19px}
  .dashboard-heading h2{font-size:22px}
  .dashboard-badge{display:none}
  .metric-grid,.dashboard-lower,.overview-bottom{grid-template-columns:1fr}
  .dashboard-lower .dashboard-card:first-child{grid-column:auto}
  .metric{min-height:95px}
  .step-grid{grid-template-columns:repeat(2,1fr)}
  .nav-item{padding:10px 12px}
}
@media(max-width:400px){
  .app-header{gap:8px;padding:13px 15px}
  .brand-bim{font-size:24px}
  .brand-workshop{font-size:9px}
  .header-cta{font-size:0;padding:9px 11px}
  .header-cta span{font-size:15px}
}
