*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}:root{color-scheme:light;font-family:var(--font-family-body);line-height:1.5;font-weight:400;color:#18324a;background:var(--gradient-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-family-body: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--font-family-heading: "DIN Alternate", "Avenir Next Condensed", "Arial Narrow", sans-serif;--color-ink: #18324a;--color-muted: #63778a;--color-muted-strong: #95a7b8;--color-surface: rgba(255, 255, 255, .88);--color-surface-strong: #ffffff;--color-surface-soft: rgba(255, 255, 255, .14);--color-outline: rgba(44, 84, 102, .14);--color-outline-strong: rgba(44, 84, 102, .24);--color-primary: #315f74;--color-primary-soft: #437287;--color-brand-teal: #1f8796;--color-accent: #f28b32;--color-accent-soft: #f4b24d;--color-success: #247a58;--color-danger: #b44a3a;--color-neutral: #7b8794;--gradient-page: radial-gradient(circle at top left, rgba(113, 159, 180, .22), transparent 26%), linear-gradient(180deg, #eef4f7 0%, #f7f9fb 48%, #edf3f6 100%);--gradient-header: linear-gradient(180deg, #44778c 0%, #3b6a7d 100%);--gradient-accent: linear-gradient(135deg, #f28b32, #db6e1a);--shadow-card: 0 18px 40px rgba(44, 84, 102, .12);--shadow-logo-card: 0 8px 22px rgba(44, 84, 102, .14);--radius-lg: 24px;--radius-md: 18px;--radius-sm: 12px;--touch-target-min: 48px;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.25rem;--space-5: 1.5rem;--space-6: 2rem}body{min-width:320px;min-height:100vh;color:var(--color-ink);font-family:var(--font-family-body)}a{color:inherit}.app-shell{min-height:100vh;padding:1.25rem;padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.app-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;padding:1.35rem 1.5rem;margin:0 auto 1.5rem;max-width:1180px;border:1px solid rgba(44,84,102,.18);border-radius:var(--radius-lg);background:var(--gradient-header);color:#f8fbff;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.app-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(255,255,255,.08),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.04),transparent 42%);pointer-events:none}.app-header h1,.hero-card h2,.section-card h2,.home-section h2,.inspection-list__card h3,.empty-state h3{font-family:var(--font-family-heading);letter-spacing:.03em;margin:0}.header-logo-card,.header-brand{position:relative;z-index:1}.header-logo-card{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:92px;padding:.7rem .8rem;border-radius:14px;background:#fffffffa;border:1px solid rgba(44,84,102,.08);box-shadow:var(--shadow-logo-card)}.header-logo{width:clamp(76px,8.8vw,90px);height:auto;object-fit:contain}.header-brand{display:grid;gap:.5rem}.header-title{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.02;font-weight:700;max-width:18ch;text-shadow:0 1px 2px rgba(17,36,47,.16)}.header-subtitle{margin:0;color:#f8fbffe6;font-size:clamp(1rem,1.55vw,1.18rem);font-weight:400;max-width:44ch}.header-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.module-badge,.helper-badge{display:inline-flex;align-items:center;min-height:2.15rem;padding:.4rem .9rem;border-radius:999px;font-size:.92rem;font-weight:700}.module-badge{background:#ffffff24;border:1px solid rgba(255,255,255,.2);color:#f8fbfff0;box-shadow:inset 0 1px #ffffff0f}.helper-badge{color:var(--color-primary);background:#f28b321f}.eyebrow{margin:0 0 .45rem;color:inherit;opacity:.78;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.app-main{max-width:1180px;margin:0 auto}.notice-banner{display:grid;gap:.3rem;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid rgba(180,74,58,.22);border-radius:var(--radius-md);background:#b44a3a14;color:var(--color-danger)}.notice-banner--success{border-color:#247a5838;background:#247a5814;color:var(--color-success)}.home-screen,.editor-layout{display:grid;gap:1.25rem}.editor-section-block{display:grid;gap:1rem}.hero-card,.section-card,.empty-state,.inspection-list__card,.compatibility-note{border:1px solid var(--color-outline);border-radius:var(--radius-lg);background:var(--color-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-card)}.hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;padding:1.5rem}.hero-card p,.section-card__header p,.empty-state p,.inspection-list__card p,.save-bar span{margin:0;color:var(--color-muted)}.home-section{display:grid;gap:1rem}.compatibility-note{padding:1.25rem 1.35rem}.compatibility-note p{margin:0;color:var(--color-muted)}.compatibility-note h3{margin:0 0 .35rem}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading__actions{display:flex;gap:.75rem;align-items:center}.inspection-list{display:grid;gap:1rem}.inspection-list__card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.25rem 1.35rem}.inspection-list__card small{color:var(--color-muted)}.empty-state{padding:1.5rem;text-align:center}.section-card{padding:1.35rem}.section-card__header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.step-nav{position:sticky;top:.75rem;z-index:4;display:flex;gap:.75rem;overflow-x:auto;padding:.8rem;margin:0 auto 1rem;max-width:1180px;border:1px solid var(--color-outline);border-radius:var(--radius-lg);background:#ffffffdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-card)}.step-nav__button{display:inline-flex;align-items:center;gap:.65rem;min-height:max(2.9rem,var(--touch-target-min));padding:.65rem .95rem;border:1px solid var(--color-outline);border-radius:999px;background:#fffc;color:var(--color-primary);white-space:nowrap;font-weight:700}.step-nav__button--active{border-color:transparent;background:var(--gradient-header);color:#f8fbff}.step-nav__index{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:999px;background:#ffffff2e;font-size:.84rem}.source-documents,.generated-plan-list{display:grid;gap:1rem}.source-document-card,.generated-plan-item{padding:1rem;border:1px solid var(--color-outline);border-radius:var(--radius-md);background:#ffffffc2}.source-document-card__header,.generated-plan-item__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.source-document-card__header h3,.generated-plan-item__header h3{margin:0}.source-document-card__header p,.generated-plan-item p{margin:.2rem 0 0;color:var(--color-muted)}.generated-plan-item__details{display:grid;gap:.85rem;margin:1rem 0 0}.generated-plan-item__details div{display:grid;gap:.2rem}.generated-plan-item__details dt,.plan-item-card__meta strong{color:var(--color-primary);font-weight:700}.generated-plan-item__details dd,.plan-item-card__meta span{margin:0}.empty-state--inline{padding:1.2rem}.plan-item-card{display:grid;gap:1rem}.plan-item-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.plan-item-card__meta{display:grid;gap:.2rem;padding:.9rem;border:1px solid var(--color-outline);border-radius:var(--radius-sm);background:#ffffffd1}.evidence-list{display:grid;gap:.65rem;margin:0;padding-left:1.25rem}.evidence-list li{display:grid;gap:.15rem}.execution-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;align-items:start}.checklist-section,.stack{display:grid;gap:1rem}.checklist-section__items{display:grid;gap:.85rem}.checklist-item{display:grid;gap:.9rem;padding:1rem;border:1px solid var(--color-outline);border-radius:var(--radius-md);background:#ffffffc2}.checklist-item__label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start}.checklist-item__label input,.checkbox-row input{width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--color-primary)}.checklist-item__label strong,.checkbox-row span{display:block}.checklist-item__label small{display:block;margin-top:.2rem;color:var(--color-muted)}.checklist-item__controls{display:grid;grid-template-columns:180px minmax(0,1fr);gap:.9rem}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field--full{grid-column:1 / -1}.field{display:grid;gap:.45rem}.field span,.field label{font-weight:600;color:var(--color-primary)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-outline-strong);border-radius:var(--radius-sm);padding:.82rem .92rem;background:var(--color-surface-strong);color:var(--color-ink);min-height:3rem}.field textarea{min-height:6.2rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(28,79,114,.18);border-color:var(--color-primary-soft)}.checkbox-row{display:flex;align-items:center;gap:.8rem;min-height:3rem}.status-select--pass{border-color:#247a5859;color:var(--color-success)}.status-select--fail{border-color:#b44a3a59;color:var(--color-danger)}.status-select--na{border-color:#7b879459;color:var(--color-neutral)}.helper-text{padding:.9rem 1rem;border-radius:var(--radius-md);background:#11314d0f;color:var(--color-primary)}.button{min-height:max(3rem,var(--touch-target-min));border:0;border-radius:999px;padding:.8rem 1.15rem;font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button--large{min-width:12.5rem}.button--primary{background:var(--gradient-accent);color:#fff}.button--secondary{background:#11314d14;color:var(--color-primary)}.button--ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-outline-strong)}.button:disabled{opacity:.65}.save-bar{position:sticky;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid var(--color-outline);border-radius:var(--radius-lg);background:#fffffff2;box-shadow:var(--shadow-card)}.save-bar__meta{display:grid}.save-bar__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.page-version{position:fixed;right:1rem;bottom:max(.9rem,env(safe-area-inset-bottom));margin:0;color:var(--color-muted);font-size:.82rem;letter-spacing:.04em;background:#ffffffc7;border:1px solid rgba(17,49,77,.08);border-radius:999px;padding:.35rem .7rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}@media (max-width: 900px){.app-shell{padding:.85rem}.app-header,.hero-card,.save-bar,.inspection-list__card,.section-card__header{grid-template-columns:1fr;align-items:stretch}.section-heading{flex-direction:column;align-items:stretch;gap:.85rem}.app-header{gap:1rem;padding:1.25rem}.hero-card,.inspection-list__card,.save-bar{display:grid}.step-nav{top:.5rem}.source-document-card__header,.generated-plan-item__header{flex-direction:column;align-items:stretch}.header-logo-card{min-width:104px;min-height:96px;width:fit-content}.header-title{max-width:none}.field-grid,.checklist-item__controls,.plan-item-card__grid,.execution-row{grid-template-columns:1fr}}@media (max-width: 640px){.page-version{right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom))}}
