.technical-view .technical-section h3{margin-bottom:16px;font-size:var(--text-base)}.technical-view .technical-fields{display:grid;gap:16px;margin:0}.technical-view .technical-fields dt{margin-bottom:4px;color:var(--muted);font-size:var(--text-sm)}.technical-view .technical-fields dd{margin:0;overflow-wrap:anywhere}.technical-view .technical-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technical-view .technical-preview{display:block;width:auto;height:auto;max-width:100%;max-height:320px;margin:0 auto;border-radius:var(--radius-sm)}.technical-view .technical-tabs-note{margin-top:16px;color:var(--muted);font-size:var(--text-sm)}.technical-view .technical-photo-card{margin:0}.technical-view .technical-photo-grid{display:grid;gap:16px;margin-top:16px}.technical-view .technical-photo-title{margin-top:16px;font-weight:600}.technical-view .technical-photo-meta{margin-top:6px}.technical-view .technical-photo-open{margin-top:16px}.technical-view .technical-materials h3{margin-bottom:16px;font-size:var(--text-base)}.technical-view .technical-material+.technical-material{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.technical-view .technical-material .row-between{align-items:flex-start}.technical-view .technical-material .row-between>div{min-width:0;flex:1}.technical-view .technical-material p{overflow-wrap:anywhere}.technical-view .technical-material .small{margin-top:6px}.technical-view .technical-facade-view{overflow:hidden;border-radius:var(--radius-sm)}.technical-view .technical-facade-preview{display:block;width:100%;height:auto;max-height:65dvh;margin:auto}.technical-view .technical-facade-note{padding-top:16px}.realization-auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f4f4f2;color:#171717}.realization-auth-card{width:min(100%,440px);padding:28px;border:1px solid #deded9;border-radius:24px;background:#fff;box-shadow:0 16px 50px #00000014}.realization-auth-card>img{width:min(100%,260px);height:auto;margin-bottom:28px}.realization-auth-card h1{margin:0 0 12px;font-size:32px}.realization-auth-card p{line-height:1.45;color:#5b5b57}.realization-auth-eyebrow{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.realization-auth-card form{display:grid;gap:18px;margin:24px 0 16px}.realization-auth-card label{display:grid;gap:7px;font-weight:650}.realization-auth-card input{min-height:50px;padding:0 14px;border:1px solid #cfcfca;border-radius:12px;font:inherit}.realization-auth-card button{min-height:52px;border:0;border-radius:14px;background:#171717;color:#fff;font:inherit;font-weight:750}.realization-auth-card button:disabled{opacity:.55}.realization-auth-error{padding:12px 14px;border-radius:12px;background:#fff0ee;color:#b42318}.realization-auth-card--status{text-align:center}.realization-auth-session{min-height:100dvh}.realization-auth-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;background:#171717;color:#fff;font-size:13px}.realization-auth-bar.offline{background:#8a5a00}.realization-auth-bar button{border:1px solid rgb(255 255 255 / 45%);border-radius:9px;padding:6px 10px;background:transparent;color:inherit;font:inherit}:root{--bg: #fafafa;--surface: #ffffff;--surface-warm: var(--surface);--fg: #111111;--fg-2: var(--fg);--muted: #6b6b6b;--meta: var(--muted);--border: #e5e5e5;--border-soft: var(--border);--accent: #2f6feb;--accent-on: #ffffff;--accent-hover: color-mix(in oklab, var(--accent), black 8%);--accent-active: color-mix(in oklab, var(--accent), black 14%);--success: #17a34a;--warn: #eab308;--danger: #dc2626;--font-display: "Inter", -apple-system, system-ui, sans-serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 48px;--text-4xl: 64px;--leading-body: 1.5;--leading-tight: 1.2;--tracking-display: -.01em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-20: 80px;--section-y-desktop: 80px;--section-y-tablet: 48px;--section-y-phone: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 9999px;--elev-flat: none;--elev-ring: 0 0 0 1px var(--border);--elev-raised: 0 2px 8px color-mix(in oklab, var(--fg), transparent 92%);--focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);--motion-fast: .15s;--motion-base: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--container-max: 1200px;--container-gutter-desktop: 24px;--container-gutter-tablet: 16px;--container-gutter-phone: 12px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}p{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-4)}.section{padding-block:clamp(48px,8vw,var(--space-20))}.section+.section{border-top:1px solid var(--border)}.stack{display:flex;flex-direction:column}.stack>*+*{margin-top:var(--space-5)}.row{display:flex;align-items:center;gap:var(--space-5)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-12);align-items:start}.grid-1-2{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-12);align-items:start}@media(max-width:920px){.grid-2,.grid-3,.grid-4,.grid-2-1,.grid-1-2{grid-template-columns:1fr}}.h1,h1{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.04;letter-spacing:-.02em;margin:0}.h2,h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.1;letter-spacing:-.015em;margin:0}.h3,h3{font-size:var(--text-lg);font-weight:600;line-height:1.3;letter-spacing:-.005em;margin:0}.lead{font-size:var(--text-base);line-height:1.55;color:var(--muted);max-width:60ch;margin:0}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--space-5)}.meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.topnav{position:sticky;top:0;z-index:10;background:color-mix(in oklch,var(--bg) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:14px}.topnav .logo{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.01em}.topnav nav{display:flex;gap:var(--space-8)}.topnav nav a{font-size:14px;color:var(--muted)}.topnav nav a:hover{color:var(--fg)}.pagefoot{padding-block:var(--space-12);color:var(--muted);font-size:13px;border-top:1px solid var(--border)}.pagefoot .row-between{flex-wrap:wrap;gap:var(--space-5)}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:15px;font-weight:500;letter-spacing:-.005em;transition:transform .05s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.btn-primary:hover{background:color-mix(in oklch,var(--accent) 88%,black)}.btn-secondary{background:transparent;color:var(--fg);border-color:var(--border)}.btn-secondary:hover{border-color:var(--fg)}.btn-ghost{background:transparent;color:var(--fg);border-color:transparent;padding-inline:8px}.btn-ghost:hover{color:var(--accent)}.btn-arrow:after{content:"→";transition:transform .15s ease}.btn-arrow:hover:after{transform:translate(2px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.card-flat{background:transparent;border:0;padding:0}.card-rule{background:transparent;border:0;border-top:1px solid var(--fg);padding:24px 0 0;border-radius:0}.feature .feature-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--accent);margin-bottom:var(--space-5)}.feature .feature-mark svg{width:18px;height:18px}.feature h3{margin-bottom:6px}.feature p{margin:0;color:var(--muted);font-size:15px}.stat .stat-num{font-family:var(--font-display);font-size:clamp(56px,8vw,96px);line-height:.95;letter-spacing:-.04em;color:var(--accent);font-weight:600}.stat .stat-label{color:var(--muted);font-size:14px;margin-top:8px;max-width:24ch}.stat .stat-unit{font-size:.5em;opacity:.7;margin-left:2px}.quote{font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);line-height:1.32;letter-spacing:-.01em;max-width:28ch}.quote-author{color:var(--muted);font-size:14px;margin-top:var(--space-5)}.quote-mark{font-family:var(--font-display);font-size:140px;line-height:.7;color:var(--accent);opacity:.18;margin-bottom:-28px}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--accent);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.tag{display:inline-flex;align-items:center;padding:4px 10px;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:999px;font-size:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted)}.input,.textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font:inherit;font-size:15px}.input:focus,.textarea:focus{outline:2px solid color-mix(in oklch,var(--accent) 14%,transparent);border-color:var(--accent)}.textarea{min-height:96px;resize:vertical;line-height:1.55}.ds-table{width:100%;border-collapse:collapse;font-size:14px}.ds-table th,.ds-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}.ds-table th{color:var(--muted);font-weight:500;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.ds-table tbody tr:hover{background:color-mix(in oklch,var(--fg) 6%,transparent)}.ds-table .num-col{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.ph-img{background:linear-gradient(135deg,color-mix(in oklch,var(--accent) 14%,transparent),color-mix(in oklch,var(--fg) 6%,transparent)),var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);aspect-ratio:16 / 10;display:grid;place-items:center;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.ph-img.square{aspect-ratio:1 / 1}.ph-img.portrait{aspect-ratio:3 / 4}.ph-img.wide{aspect-ratio:16 / 9}.content-img{display:block;max-width:100%;max-height:min(70vh,720px);width:auto;height:auto;object-fit:contain;justify-self:center;border-radius:var(--radius-lg)}.rule{border:0;border-top:1px solid var(--border);margin:0}.rule-strong{border:0;border-top:1px solid var(--fg);margin:0}.hero{padding-block:clamp(80px,12vw,160px)}.hero-center{text-align:center;max-width:32ch;margin-inline:auto}.hero h1{margin-bottom:var(--space-5)}.hero .lead{margin-bottom:var(--space-8)}.hero-cta{display:inline-flex;gap:var(--space-3);flex-wrap:wrap}.hero-center .hero-cta{justify-content:center}.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:center}@media(max-width:920px){.hero-split{grid-template-columns:1fr}}.log-row{display:grid;grid-template-columns:120px 1fr 100px;gap:var(--space-8);padding:22px 0;border-top:1px solid var(--border);align-items:baseline}.log-row .meta{color:var(--muted)}.log-row h3{font-size:19px}.log-row .pull{text-align:right}html,body{height:100%;overflow:hidden}body{font-size:var(--text-base);line-height:var(--leading-body);background:var(--border)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--focus-ring)}button:hover:not(:disabled){border-color:var(--muted)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;letter-spacing:var(--tracking-display)}h1{font-size:var(--text-2xl);font-weight:600}h2,h3{font-size:var(--text-lg);font-weight:600}p{margin:0}small,.small,.meta{font-size:var(--text-sm)}.meta{font-family:var(--font-body)}.muted{color:var(--muted)}.num{font-family:var(--font-mono)}.app{max-width:480px;height:100dvh;margin:auto;background:var(--bg);display:flex;flex-direction:column;position:relative;border-inline:1px solid var(--border)}.app-header{flex-shrink:0;background:var(--bg);padding:18px 20px 12px;border-bottom:1px solid var(--border);z-index:2}.brand-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand-logo{width:152px;height:auto}.header-tools{display:flex;gap:4px}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--fg);border-radius:var(--radius-sm);flex-shrink:0}.icon{width:22px;height:22px;flex-shrink:0;stroke-width:1.7}.header-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:var(--text-sm);color:var(--muted)}.queue-btn{display:flex;gap:6px;align-items:center;background:transparent;color:var(--fg);border:0;min-height:44px;padding:0 0 0 8px;font-size:var(--text-sm)}.dot{width:7px;height:7px;border-radius:50%;background:var(--success);display:inline-block;flex-shrink:0}.dot.error{background:var(--danger)}.view{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.section{padding:24px 0}.section+.section{border:0;padding-top:0}.container{padding-inline:20px;width:100%}.row,.row-between{gap:12px}.page-intro{margin-bottom:20px}.page-intro .row-between{align-items:flex-start}.page-intro p{margin-top:6px}.page-count{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--muted);line-height:1.2}.demo-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filter{min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-size:var(--text-sm);display:flex;align-items:center;gap:8px}.filter b{font-family:var(--font-mono);font-weight:400;color:var(--muted)}.filter.active{background:var(--fg);color:var(--surface);border-color:var(--fg)}.filter.active b{color:var(--surface)}.search{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:0 12px;gap:10px;margin-top:20px}.search input{border:0;padding:12px 0;min-height:48px;min-width:0;width:100%;outline:0;background:transparent;color:var(--fg)}.search:focus-within{box-shadow:var(--focus-ring);border-color:var(--accent)}.search input:focus-visible{box-shadow:none;outline:0}.priority-note{background:color-mix(in oklch,var(--warn) 12%,var(--surface));padding:14px 16px;border-radius:var(--radius-sm);margin:0 0 20px;display:flex;align-items:flex-start;gap:12px;font-size:var(--text-sm)}.list-caption{display:flex;justify-content:space-between;margin:22px 0 12px;font-size:var(--text-sm);color:var(--muted)}.object-list{display:grid;gap:16px}.object-card{display:block;text-align:left;color:var(--fg);padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;transition:border-color var(--motion-fast)}.object-card:hover{border-color:var(--fg)}.object-card h2{margin:14px 0 6px}.object-card .card-detail{font-size:var(--text-sm);color:var(--muted);margin-bottom:16px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-sm);padding:4px 8px;background:var(--bg);font-size:var(--text-sm);font-weight:500;max-width:100%;text-align:left}.status.alert{background:color-mix(in oklch,var(--warn) 17%,var(--surface))}.status.good{background:color-mix(in oklch,var(--success) 9%,var(--surface));color:color-mix(in oklch,var(--success),var(--fg) 48%)}.status.bad{background:color-mix(in oklch,var(--danger) 8%,var(--surface));color:var(--danger)}.overdue{color:var(--danger);font-size:var(--text-sm);margin:10px 0 0;display:flex;gap:6px;align-items:center}.card-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:var(--text-sm);margin-bottom:16px}.card-meta span{display:block;color:var(--muted);margin-bottom:3px}.progress-track{height:4px;background:var(--border);border-radius:var(--radius-pill);overflow:hidden}.progress-track i{height:100%;background:var(--fg);display:block;border-radius:inherit}.progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:var(--text-sm);margin:7px 0 14px}.card-action{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:var(--text-base);gap:12px;padding-top:14px;border-top:1px solid var(--border)}.tech{font-size:var(--text-sm);color:var(--muted);display:flex;gap:6px;align-items:center;margin-top:12px}.tech.error{color:var(--danger)}.tech .icon{width:16px;height:16px}.bottomnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex-shrink:0;background:var(--surface);border-top:1px solid var(--border);padding:8px 6px max(8px,env(safe-area-inset-bottom));z-index:2}.nav-item{border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-sm);min-height:60px;padding:5px 2px;border-radius:var(--radius-sm);position:relative}.nav-item.active{color:var(--accent);font-weight:600}.nav-item:hover{color:var(--fg);background:var(--bg)}.nav-item.active:hover{color:var(--accent);background:var(--bg)}.nav-symbol{position:relative}.nav-count{position:absolute;top:-5px;right:-12px;color:var(--surface);background:var(--fg);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-pill);min-width:18px;line-height:18px;text-align:center}.back-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg)}.back-row .context{min-width:0;flex:1}.back-row p{font-size:var(--text-sm);color:var(--muted)}.back-row strong{display:block;font-size:var(--text-base)}.dark-card{background:var(--fg);color:var(--surface);border:0;padding:24px 20px}.dark-card h1{font-size:var(--text-2xl);margin:18px 0 8px}.dark-card .status{background:color-mix(in oklch,var(--surface) 12%,var(--fg));color:var(--surface)}.dark-card .muted,.dark-card .card-meta span{color:color-mix(in oklch,var(--surface) 72%,var(--fg))}.dark-card .card-meta{margin:20px 0 0;padding-top:18px;border-top:1px solid color-mix(in oklch,var(--surface) 22%,var(--fg));gap:16px}.dark-card .object-n{font-family:var(--font-mono);font-size:var(--text-sm);color:color-mix(in oklch,var(--surface) 72%,var(--fg))}.contact-row{display:flex;align-items:center;gap:10px;padding:18px 0}.contact-row>div{flex:1}.contact-actions{display:flex;gap:4px}.card{padding:20px;border-radius:var(--radius-md)}.stack{gap:16px}.stack>*+*{margin-top:0}.notice{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.notice p{margin-top:6px;color:var(--muted)}.notice.warn{background:color-mix(in oklch,var(--warn) 10%,var(--surface));border-color:color-mix(in oklch,var(--warn) 32%,var(--border))}.notice.error{border-color:color-mix(in oklch,var(--danger) 40%,var(--border));background:color-mix(in oklch,var(--danger) 5%,var(--surface))}.notice.success{background:color-mix(in oklch,var(--success) 7%,var(--surface));border-color:color-mix(in oklch,var(--success) 25%,var(--border))}.section-heading{margin:26px 0 14px}.stage-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:clip}.stage-row{width:100%;padding:16px;display:flex;gap:12px;align-items:center;text-align:left;background:transparent;color:var(--fg);border:0;border-bottom:1px solid var(--border);min-height:78px}.stage-row:last-child{border-bottom:0}.stage-row:hover:not(:disabled){background:var(--bg)}.stage-number{font-family:var(--font-mono);width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-sm);flex-shrink:0}.stage-row.current .stage-number{background:var(--fg);color:var(--surface);border-color:var(--fg)}.stage-row.complete .stage-number{color:color-mix(in oklch,var(--success),var(--fg) 40%)}.stage-text{flex:1;min-width:0}.stage-text strong{font-weight:500;display:block}.stage-text small{display:block;color:var(--muted);margin-top:3px}.stage-row.current .stage-text strong{font-weight:600}.stage-row.future{color:var(--muted)}.actionbar{padding:12px 20px;background:var(--bg);border-top:1px solid var(--border);flex-shrink:0}.actionbar .hint{font-size:var(--text-sm);color:var(--muted);text-align:center;margin-bottom:8px}.btn{min-height:50px;padding:12px 16px;font-size:var(--text-base);border-radius:var(--radius-sm);justify-content:center;font-weight:600;line-height:1.4}.btn-primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-on);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-active);color:var(--accent-on)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--border)}.btn-secondary:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--bg);color:var(--fg);border-color:var(--muted)}.btn-ghost{color:var(--fg)}.btn-ghost:hover{color:var(--fg);background:var(--border)}.stage-kicker{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--text-sm);margin-bottom:14px}.segments{display:flex;gap:4px;margin-bottom:24px}.segments i{height:4px;background:var(--border);flex:1;border-radius:var(--radius-pill)}.segments i.done{background:var(--fg)}.stage-title{margin-bottom:10px;font-size:var(--text-2xl)}.stage-lead{color:var(--muted);margin-bottom:24px}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{flex:1;min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:var(--text-base)}.tab.active{color:var(--fg);border-color:var(--fg);font-weight:600}.field{margin-top:16px}.field label{font-size:var(--text-sm);color:var(--fg);font-weight:500}.input,.textarea,select{min-height:50px;border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--fg);background:var(--surface);width:100%;max-width:100%;padding:12px;border:1px solid var(--border)}.textarea{min-height:88px}.input:focus,.textarea:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--accent)}.field-help{color:var(--muted);font-size:var(--text-sm)}.validation{color:var(--danger);font-size:var(--text-sm);margin:12px 0}.field.invalid .input{border-color:var(--danger)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two>*{min-width:0}.choice-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.choice{flex:1;min-height:48px;font-size:var(--text-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);padding:8px}.choice.selected{background:var(--fg);color:var(--surface);border-color:var(--fg)}.resource{padding:20px 0;border-bottom:1px solid var(--border)}.resource:first-child{padding-top:0}.resource:last-child{border:0;padding-bottom:0}.resource h3{font-size:var(--text-base)}details{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:12px}summary{min-height:52px;padding:14px 16px;cursor:pointer;font-weight:500;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-family:var(--font-mono)}details[open]>summary:after{content:"−"}details .details-content{padding:0 16px 16px;font-size:var(--text-sm);color:var(--muted)}.check-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:clip;background:var(--surface)}.check{display:flex;align-items:flex-start;gap:12px;padding:16px;min-height:60px;border-bottom:1px solid var(--border);cursor:pointer;font-size:var(--text-base)}.check:last-child{border:0}.check input{width:24px;height:24px;margin:0;accent-color:var(--fg);flex-shrink:0}.check span{flex:1;min-width:0}.check small{display:block;color:var(--muted);margin-top:4px}.check-list .check:hover{background:var(--bg)}.readiness{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border);font-size:var(--text-base)}.readiness>div{flex:1}.readiness:last-child{border:0}.readiness .ok{color:color-mix(in oklch,var(--success),var(--fg) 40%)}.readiness .not{color:var(--danger)}.text-btn{display:inline-flex;align-items:center;background:transparent;border:0;padding:8px 0;min-height:44px;font-size:var(--text-sm);color:var(--fg);font-weight:600;text-decoration:underline;text-underline-offset:4px}.upload{padding:20px;border:1px dashed var(--muted);border-radius:var(--radius-md);text-align:center;background:var(--surface);margin:16px 0}.upload .icon{margin:auto auto 10px;width:28px;height:28px}.upload p{font-size:var(--text-sm);color:var(--muted);margin:8px 0 16px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.photo-card{min-width:0;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.photo-card img{width:100%;height:auto;border-radius:4px}.photo-card small{display:block;margin:8px 0 0;color:var(--muted)}.photo-card button{min-height:44px}.photo-view{width:100%;border:0;padding:0;background:transparent;color:var(--fg)}.doc-sheet{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:18px 14px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;color:var(--fg);transition:transform var(--motion-base);font-size:var(--text-sm)}.doc-sheet strong{font-size:var(--text-sm)}.doc-lines{height:46px;background:repeating-linear-gradient(to bottom,var(--border),var(--border) 1px,transparent 1px,transparent 11px);margin:14px 0}.doc-frame{aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg)}.doc-frame .doc-sheet{width:84%;min-height:150px;max-height:95%}.page-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:6px}.page-tools .icon-btn{width:100%;min-width:0}.money{font-family:var(--font-mono);font-size:var(--text-2xl);line-height:1.3;margin:6px 0}.receipt-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.receipt-line:last-child{border:0}.receipt-line strong{text-align:right}.empty{text-align:center;padding:40px 16px}.empty .icon{margin:auto auto 16px;width:40px;height:40px}.empty p{color:var(--muted);margin:12px 0}.success-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-pill);margin-bottom:20px;background:color-mix(in oklch,var(--success) 10%,var(--surface));color:color-mix(in oklch,var(--success),var(--fg) 35%)}.success-mark .icon{width:30px;height:30px}.activity{padding:12px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.activity time{color:var(--muted);margin-right:8px}.prototype-note{font-size:var(--text-sm);color:var(--muted);padding:24px 0 8px}.sheet{position:fixed;inset:auto 0 0;max-width:480px;width:100%;max-height:88dvh;border:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:0;margin:0 auto;background:var(--bg);color:var(--fg);box-shadow:var(--elev-raised);overscroll-behavior:contain}.sheet::backdrop{background:color-mix(in oklch,var(--fg) 45%,transparent)}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 10px;position:sticky;top:0;background:var(--bg);z-index:1}.sheet-header h2{padding-top:8px;flex:1;font-size:var(--text-lg)}.sheet-content{padding:8px 20px 28px}.sheet-content>.btn{margin-top:20px}.sheet-content p+p{margin-top:12px}.sheet-content .notice{margin-top:16px}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions>*{flex:1}.sheet[open]~.toast{z-index:50}.toast{position:fixed;bottom:170px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:440px;padding:14px 16px;background:var(--fg);color:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--elev-raised);font-size:var(--text-sm);z-index:20;pointer-events:none}.toast:empty{display:none}.busy-progress{margin-top:20px;height:6px;background:var(--border);border-radius:var(--radius-pill);overflow:hidden}.busy-progress>i{display:block;height:100%;width:0;background:var(--fg);transition:width .18s}.app.large-controls .btn,.app.large-controls .check,.app.large-controls .stage-row{min-height:60px}.app.large-controls .icon-btn{height:50px;width:50px}@media(min-width:700px){.app{box-shadow:var(--elev-raised)}.sheet{bottom:12px;border-radius:var(--radius-lg)}}@media(max-width:380px){.container,.app-header{padding-inline:16px}.object-card{padding:16px}.nav-item{font-size:var(--text-xs)}.filter{padding-inline:10px}.brand-logo{width:140px}.actionbar{padding-inline:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}#technical-sheet .technical-context{margin-bottom:20px}#technical-sheet .technical-context p+p{margin-top:6px}#technical-sheet .tabs{margin-bottom:20px}#technical-sheet .technical-fields{margin:0;display:grid;gap:16px}#technical-sheet .technical-fields dt{font-size:var(--text-sm);color:var(--muted);margin-bottom:4px}#technical-sheet .technical-fields dd{margin:0;overflow-wrap:anywhere}#technical-sheet .technical-fields .technical-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#technical-sheet .technical-material+.technical-material{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}#technical-sheet .technical-material p{overflow-wrap:anywhere}#technical-sheet .technical-material .row-between{align-items:flex-start}#technical-sheet .technical-material .row-between>div{min-width:0;flex:1}#technical-sheet .technical-material strong.num{flex-shrink:0}#technical-sheet .technical-preview{display:block;width:auto;height:auto;max-width:100%;max-height:320px;margin:0 auto;border-radius:var(--radius-sm)}#technical-sheet .technical-tabs-note{font-size:var(--text-sm);color:var(--muted);margin-top:16px}#technical-photo-viewport{max-height:65dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}#technical-photo-image{display:block;width:100%;height:auto;max-width:none;max-height:none}#launch-page .launch-progress{margin-bottom:24px}#launch-page .launch-progress .row-between{align-items:flex-start}#launch-page .launch-progress .progress-track{margin:14px 0 10px}#launch-page .launch-block{margin-top:24px}#launch-page .launch-block-label{margin-bottom:12px}#launch-page .launch-block>h2{margin-bottom:16px;font-size:var(--text-base)}#launch-page .launch-checks{display:grid;gap:16px}#launch-page .launch-check-card>.row-between{align-items:flex-start}#launch-page .launch-check-card h3{font-size:var(--text-base);line-height:1.4}#launch-page .launch-check-state{flex-shrink:0;color:var(--fg)}#launch-page .launch-item-hint{margin:10px 0 16px}#launch-page .launch-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}#launch-page .launch-photo{margin:0;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;background:var(--surface)}#launch-page .launch-photo:only-child{grid-column:1 / -1;max-width:260px;width:100%}#launch-page .launch-photo img{width:auto;height:auto;max-width:100%;max-height:220px;margin:auto;border-radius:4px}#launch-page .launch-photo figcaption{display:flex;justify-content:space-between;align-items:center;gap:4px;min-height:44px}#launch-page .launch-photo p{overflow-wrap:anywhere}#launch-page .launch-error{color:var(--danger)}#launch-page [hidden]{display:none!important}#launch-page .details-content>[id^=launch-photos]{margin-top:16px}#launch-page #launch-storage-message:not(:empty){margin-bottom:16px}#launch-camera,#launch-viewer{inset:0;width:100%;max-width:480px;height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0;overflow-y:auto}#launch-camera .sheet-content,#launch-viewer .sheet-content{padding-bottom:max(24px,env(safe-area-inset-bottom))}#launch-camera-stage{background:var(--fg);border-radius:var(--radius-md);min-height:180px;margin-top:16px;display:grid;place-items:center}#launch-camera-video{display:block;width:100%;max-height:56dvh;object-fit:contain;border-radius:var(--radius-md)}#launch-camera-review{display:block;max-width:100%;width:auto;height:auto;max-height:56dvh;margin:auto;object-fit:contain;border-radius:var(--radius-md)}#launch-camera [hidden]{display:none!important}#launch-camera-controls{position:sticky;bottom:0;display:flex;gap:12px;align-items:stretch;padding:16px 0;background:var(--bg)}#launch-camera-controls .btn{flex:1;min-width:0}#launch-camera-error{color:var(--danger);font-size:var(--text-sm);margin-top:12px}#launch-viewer-image{display:block;max-width:100%;width:auto;height:auto;max-height:76dvh;object-fit:contain;margin:auto}#launch-viewer-caption{margin-top:16px;font-size:var(--text-sm);color:var(--muted)}#finish-page{min-width:0}#finish-page .finish-progress{margin:0 0 20px}#finish-page .finish-progress p{margin-bottom:10px}#finish-page .finish-photo-block{margin-top:16px;min-width:0}#finish-page h2{font-size:var(--text-lg);overflow-wrap:break-word;text-wrap:pretty}#finish-page .finish-help{margin-top:10px;text-wrap:pretty}#finish-page .finish-state{display:flex;align-items:center;gap:6px;margin:12px 0;color:var(--fg)}#finish-page .finish-state .icon{width:18px;height:18px}#finish-page .finish-missing{border-color:color-mix(in oklch,var(--muted) 55%,var(--border))}#finish-page .finish-thumbnails{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;padding:4px 3px 8px;margin:0 -3px 8px;scrollbar-width:thin}#finish-page .finish-thumb{flex:0 0 112px;width:112px;margin:0;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}#finish-page .finish-thumb .photo-view{display:flex;align-items:center;justify-content:center;min-height:70px}#finish-page .finish-thumb img{display:block;width:100%;height:auto;border-radius:4px}#finish-page .finish-thumb figcaption{display:flex;align-items:center;justify-content:space-between;gap:2px}#finish-page .finish-thumb .icon-btn{width:44px;height:44px}#finish-page .finish-thumbnails+.small{margin-bottom:12px}#finish-page .finish-video-block{margin-top:16px;padding:0 0 16px;min-width:0}#finish-page .finish-video-block .section-heading{margin-top:24px}#finish-page .finish-video-block .finish-state{margin-top:8px}#finish-photo-viewer{inset:0;width:100%;max-width:480px;height:100dvh;max-height:100dvh;border-radius:0;margin:auto}#finish-photo-viewer[open]{display:flex;flex-direction:column}#finish-photo-viewer .sheet-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}#finish-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:65dvh;object-fit:contain;margin:auto}#finish-viewer-actions{margin-top:20px;flex-shrink:0}#payment-page h2{font-size:var(--text-lg);text-wrap:pretty;overflow-wrap:break-word}#payment-page .payment-help{margin-top:12px;text-wrap:pretty}#payment-page .payment-method-note{margin-bottom:10px}#payment-page .payment-difference{margin-top:8px;min-height:21px}#payment-page .payment-secondary{margin-top:20px}#payment-page .payment-secondary-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:20px}#payment-page .choice{min-width:0}[data-od-id=payment-promise-form] .payment-secondary{margin-top:16px}#payment-method-dialog .payment-method-options{display:grid;gap:10px}#payment-method-dialog .payment-selected{background:var(--fg);color:var(--surface);border-color:var(--fg)}#payment-method-dialog .payment-selected:hover{background:var(--fg);color:var(--surface);border-color:var(--muted)}[data-od-id=payment-confirmation] .receipt-line strong{max-width:58%;overflow-wrap:break-word}[data-od-id=object-summary] .exterior-button{width:52px;height:52px;margin:0;background:transparent;color:var(--surface);border-color:color-mix(in oklch,var(--surface) 55%,var(--fg))}[data-od-id=object-summary] .exterior-button .icon{width:32px;height:32px}[data-od-id=object-summary] .exterior-button:hover:not(:disabled),[data-od-id=object-summary] .exterior-button:active{background:transparent;color:var(--surface);border-color:var(--surface)}#object-exterior-dialog{inset:0;width:100%;max-width:480px;height:100dvh;max-height:100dvh;margin:auto;border-radius:0}#object-exterior-dialog[open]{display:flex;flex-direction:column}#object-exterior-dialog .sheet-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}#object-exterior-photo{display:block;width:100%;height:auto;max-height:65dvh;margin:auto 0;flex-shrink:0}#object-exterior-dialog .prototype-note{padding-top:16px}.contract-file-card{margin-top:16px}.contract-file-head{display:flex;align-items:center;gap:12px;min-width:0}.contract-file-head>div{min-width:0;flex:1}.contract-file-head h3{font-size:var(--text-base)}.contract-file-head p{margin-top:4px}.contract-file-format{display:grid;place-items:center;width:44px;height:52px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font-size:var(--text-xs);font-weight:600}.contract-file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.contract-file-card .contract-share-label{margin-top:16px;margin-bottom:8px}.contract-file-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.contract-file-card .btn{justify-content:center;min-width:0;min-height:48px;padding-inline:8px}.contract-share-panel .contract-file-head{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-bottom:20px}.contract-share-panel .contract-filename{font-size:var(--text-sm);overflow-wrap:anywhere}.contract-share-panel .contract-share-help{margin-top:8px}.contract-share-panel .contract-recipient{padding-block:12px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-wrap:anywhere}.contract-share-panel .contract-draft-text{margin-bottom:16px}.contract-share-panel .contract-attachment{display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg)}.contract-share-panel .contract-attachment>span:last-child{min-width:0}.contract-share-panel .contract-attachment:hover{border-color:var(--fg);background:var(--surface);color:var(--fg)}.contract-share-panel .contract-attachment strong,.contract-share-panel .contract-attachment small{display:block;overflow-wrap:anywhere}.contract-share-panel .contract-attachment small{margin-top:4px}.contract-share-panel .dialog-actions{margin-top:20px}.contract-share-panel .dialog-actions>.btn{min-width:0;justify-content:center;padding-inline:12px}.contract-share-panel .contract-demo-note{margin-top:16px}.contract-exception-banner{margin:16px 0}.contract-exception-banner .text-btn{margin-top:6px}.contract-exception-request{margin:16px 0}.contract-exception-request p{margin-top:8px}.contract-approval-form .field{margin-top:16px}.contract-approval-form .two{gap:12px}.contract-approval-form .two .field{min-width:0}.contract-approval-form input{min-width:0;max-width:100%}.contract-approval-form .dialog-actions>.btn{min-width:0;padding-inline:12px;justify-content:center}.contract-manager-message{margin-top:16px}.contract-manager-message h2{margin:12px 0 8px}.contract-manager-message .receipt-line{align-items:flex-start;flex-wrap:wrap}.contract-manager-message .receipt-line strong{max-width:100%;overflow-wrap:anywhere;text-align:left}.contract-manager-group{padding-top:16px;margin-top:12px;border-top:1px solid var(--border)}.contract-manager-group p,.contract-manager-group strong{overflow-wrap:anywhere}.contract-manager-group>.small{margin-bottom:6px}.contract-manager-screen .notice{margin-top:16px}.contract-manager-approve{margin-top:20px}.contract-manager-decline{margin-top:12px}#contract-file-viewer{inset:0;width:100%;max-width:480px;height:100dvh;max-height:100dvh;margin:auto;border-radius:0}#contract-file-viewer[open]{display:flex;flex-direction:column}#contract-file-viewer .sheet-header{flex-shrink:0}#contract-file-viewer .sheet-content{flex:1;min-height:0;overflow-y:auto;background:var(--bg)}#contract-file-viewer .contract-preview-page{padding:20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg)}#contract-file-viewer .contract-preview-page h3{margin:20px 0}#contract-file-viewer .contract-preview-page .receipt-line{align-items:flex-start;flex-wrap:wrap}#contract-file-viewer .contract-preview-page .receipt-line strong{overflow-wrap:anywhere}#contract-file-viewer .contract-preview-page .contract-preview-note{margin-top:28px;padding-top:16px;border-top:1px solid var(--border)}#contract-file-viewer .contract-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}#contract-file-viewer .contract-preview-tools .row{gap:4px}#contract-file-viewer .contract-preview-footer{flex-shrink:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}#root{height:100%}.app-shell{max-width:480px;height:100dvh;margin:auto;background:var(--bg);display:flex;flex-direction:column;position:relative;border-inline:1px solid var(--border);overflow:hidden}.topbar{flex-shrink:0;background:var(--bg);padding:max(18px,env(safe-area-inset-top)) 20px 12px;border-bottom:1px solid var(--border);z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px}.context-bar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg)}.context-bar .context{min-width:0;flex:1}.context-bar p{color:var(--muted);font-size:var(--text-sm)}.context-bar strong{display:block;overflow:hidden;font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap}.brand{display:block;width:152px;height:24px;flex:0 1 152px;overflow:hidden;color:transparent;font-size:0;white-space:nowrap;background:url(../delai-rovno-logo.svg) left center/contain no-repeat}.brand-mark{display:none}.sync-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 8px;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--success) 9%,var(--surface));color:color-mix(in oklch,var(--success),var(--fg) 48%);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.sync-pill:before{content:"";display:block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--success)}.sync-pill.held{background:color-mix(in oklch,var(--warn) 14%,var(--surface));color:var(--fg)}.sync-pill.held:before{background:var(--warn)}.content{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:24px 20px calc(112px + env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:var(--border) transparent}.global-error,.global-message{flex-shrink:0;margin:12px 20px 0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.global-error{color:var(--danger);border-color:color-mix(in oklch,var(--danger) 40%,var(--border));background:color-mix(in oklch,var(--danger) 5%,var(--surface))}.pwa-update{flex:0 0 auto;display:flex;align-items:center;gap:12px;margin:10px 20px 0;padding:12px 14px;border:1px solid color-mix(in oklch,var(--accent) 35%,var(--border));border-radius:var(--radius-sm);background:color-mix(in oklch,var(--accent) 6%,var(--surface));font-size:var(--text-sm)}.pwa-update>div{min-width:0;flex:1}.pwa-update p{margin:3px 0 0;color:var(--muted)}.pwa-update .btn{min-height:44px;flex:0 0 auto}.global-message{color:var(--fg);border-color:color-mix(in oklch,var(--warn) 32%,var(--border));background:color-mix(in oklch,var(--warn) 10%,var(--surface))}.loading{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--muted);text-align:center}.loading.error{color:var(--danger)}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.page-title p,.lead{margin-top:6px;color:var(--muted)}.page-title>strong{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:400;color:var(--muted);line-height:1.2}.summary-card,.media-card,.progress-card{width:100%;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--fg)}.summary-card{padding:24px 20px;border:0;background:var(--fg);color:var(--surface);margin-bottom:18px}.summary-card h1{font-size:var(--text-2xl);margin:18px 0 8px}.summary-card>p,.summary-card dt{color:color-mix(in oklch,var(--surface) 72%,var(--fg))}.object-card dl,.summary-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;font-size:var(--text-sm)}.summary-card dl{margin:20px 0 0;padding-top:18px;border-top:1px solid color-mix(in oklch,var(--surface) 22%,var(--fg));gap:16px}dt{display:block;color:var(--muted);font-size:var(--text-sm);margin-bottom:3px}dd{margin:0;font-size:var(--text-sm)}.status.inverse,.summary-card .status{background:color-mix(in oklch,var(--surface) 12%,var(--fg));color:var(--surface)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;line-height:1.4}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-on)}.primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.secondary{background:var(--surface);border-color:var(--border);color:var(--fg)}.secondary:hover:not(:disabled){background:var(--bg);border-color:var(--muted)}.back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px;padding:8px 0;border:0;background:transparent;color:var(--fg);font-size:var(--text-sm);font-weight:600}.progress-card{margin:22px 0 16px}.progress{height:4px;margin-top:12px;background:var(--border);border-radius:var(--radius-pill);overflow:hidden}.progress i{height:100%;background:var(--fg);display:block;border-radius:inherit;transition:width var(--motion-base) var(--ease-standard)}.media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.media-heading h2{font-size:var(--text-base);line-height:1.4}.media-heading>span{flex-shrink:0;color:color-mix(in oklch,var(--success),var(--fg) 40%);font-size:22px}.media-heading>span.optional{color:var(--muted);font-size:var(--text-sm);font-weight:500}.media-card>p{margin:10px 0 16px;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.media-item{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.media-item img,.media-item video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--fg)}.media-item button{width:100%;min-height:44px;border:0;border-top:1px solid var(--border);background:var(--surface);color:var(--danger)}.field{display:flex;flex-direction:column;gap:7px;margin-top:16px}.field>span{color:var(--fg);font-size:var(--text-sm);font-weight:500}.field input,.field textarea{width:100%;max-width:100%;min-height:50px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-size:var(--text-base)}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--accent)}.field small{color:var(--muted);font-size:var(--text-sm)}.field.invalid input,.field.invalid textarea{border-color:var(--danger)}.field.invalid small{color:var(--danger)}.file-button{position:relative;display:grid;place-items:center}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.sticky-action{position:sticky;bottom:0;z-index:3;margin:20px -20px calc(-112px - env(safe-area-inset-bottom));padding:12px 20px max(12px,env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}.sticky-action p{margin-bottom:8px;color:var(--muted);font-size:var(--text-sm);text-align:center}.camera-modal{position:fixed;inset:0;z-index:60;display:grid;align-items:end;overflow-y:auto;background:color-mix(in oklch,black 68%,transparent)}.dialog{position:fixed;inset:auto 0 0;width:100%;max-width:480px;max-height:88dvh;margin:0 auto;padding:0;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg);box-shadow:var(--elev-raised);color:var(--fg)}.dialog:not([open]){display:none}.dialog::backdrop{background:color-mix(in oklch,var(--fg) 45%,transparent)}.dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 10px;background:var(--bg)}.dialog-content{padding:8px 20px max(28px,env(safe-area-inset-bottom))}.camera-panel{width:min(100%,480px);max-height:100dvh;margin:auto;padding:20px 20px max(20px,env(safe-area-inset-bottom));overflow-y:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--fg);color:var(--surface)}.camera-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.camera-title button{display:grid;width:44px;height:44px;flex-shrink:0;place-items:center;border:1px solid color-mix(in oklch,var(--surface) 22%,transparent);border-radius:var(--radius-sm);background:color-mix(in oklch,var(--surface) 12%,transparent);color:var(--surface);font-size:28px}.camera-panel video{display:block;width:100%;max-height:56dvh;margin-bottom:14px;border-radius:var(--radius-md);background:#000;object-fit:contain}.camera-panel video:not([controls]){aspect-ratio:3/4;object-fit:cover}.camera-hint{min-height:42px;margin:0 0 14px;color:color-mix(in oklch,var(--surface) 76%,var(--fg));font-size:var(--text-sm);line-height:1.45}.camera-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px}.camera-actions .secondary{background:transparent;color:var(--surface);border-color:color-mix(in oklch,var(--surface) 30%,transparent)}.primary.recording{background:var(--danger);border-color:var(--danger)}.full{width:100%}@media(max-width:359px){.content,.topbar{padding-inline:14px}.sticky-action{margin-inline:-14px;padding-inline:14px}.brand{width:132px;flex-basis:132px}.sync-pill{max-width:132px;overflow:hidden;text-overflow:ellipsis}}@media(min-width:360px)and (max-width:390px){.content,.topbar{padding-inline:16px}.sticky-action{margin-inline:-16px;padding-inline:16px}.brand{width:140px;flex-basis:140px}}@media(min-width:391px)and (max-width:480px){.app-shell{border-inline:0}}@media(min-width:700px){.app-shell{box-shadow:var(--elev-raised)}.dialog{bottom:12px;border-radius:var(--radius-lg)}.camera-panel{margin-bottom:12px;border-radius:var(--radius-lg)}}@media(prefers-reduced-motion:reduce){.app-shell *,.app-shell *:before,.app-shell *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-width:320px;height:100dvh;overflow:hidden}button:disabled{cursor:not-allowed;opacity:.5}.app{overflow:hidden}.context-copy{min-width:0;flex:1}.context-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-copy p{margin:2px 0 0;color:var(--muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-shortcut{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-weight:600}.primary-actionbar{flex:0 0 auto;padding:12px 20px;background:var(--bg);border-top:1px solid var(--border);z-index:3}.primary-actionbar .action-hint{margin:0 0 8px;color:var(--muted);font-size:var(--text-sm);text-align:center}.actionbar-space{height:8px}.status.attention{background:color-mix(in oklch,var(--accent) 9%,var(--surface));color:color-mix(in oklch,var(--accent),var(--fg) 34%)}.status.alert{background:color-mix(in oklch,var(--danger) 8%,var(--surface));color:var(--danger)}.notice.warning{background:color-mix(in oklch,var(--warn) 10%,var(--surface));border-color:color-mix(in oklch,var(--warn) 32%,var(--border))}.notice.danger{background:color-mix(in oklch,var(--danger) 5%,var(--surface));border-color:color-mix(in oklch,var(--danger) 40%,var(--border));color:var(--danger)}.notice-body{margin-top:6px}.notice-body p{margin:0;color:inherit}.summary-name{display:flex;align-items:center;gap:12px}.summary-name p{flex:1;min-width:0}.technical-button{margin-top:12px;justify-content:space-between;text-align:left}.technical-button>span{min-width:0}.technical-button strong,.technical-button small{display:block}.technical-button small{margin-top:4px;color:var(--muted);font-weight:400}.details-card{margin-top:12px}.details-card .details-content{color:var(--fg)}.activity-list .activity{display:grid;gap:3px}.activity-list time{display:block}.stage-screen .notice{margin-bottom:16px}.segments i.active{background:var(--accent)}.block-label{margin:22px 0 10px;color:var(--muted);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.resource-list{display:grid;gap:16px}.resource-card{margin:0}.resource-card h2{font-size:var(--text-lg)}.resource-meta{margin:18px 0 0;color:var(--muted);font-size:var(--text-sm)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.choice-wide{grid-column:1/-1}.choice-list{display:grid;gap:8px}.choice-list .choice{width:100%;text-align:left}.button-row{display:flex;gap:10px;align-items:stretch}.button-row>*{flex:1}.field select{width:100%;min-height:50px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-size:var(--text-base)}.field select:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--accent)}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.two-columns .field{min-width:0}.check-row{display:flex;align-items:flex-start;gap:12px;min-height:60px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.check-row input{width:24px;height:24px;margin:0;flex:0 0 24px;accent-color:var(--accent)}.check-row>span{flex:1;min-width:0}.check-row small{display:block;margin-top:4px;color:var(--muted)}.validation-hint{margin:14px 0 0;color:var(--muted);font-size:var(--text-sm)}.media-card{margin-top:16px}.media-card.media-missing{border-color:color-mix(in oklch,var(--warn) 45%,var(--border))}.media-heading h3{font-size:var(--text-base);line-height:1.4}.media-state{display:inline-flex;align-items:center;justify-content:center;min-width:28px;color:var(--muted);font-size:var(--text-xs)}.media-state.done{color:var(--success)}.media-heading .media-state{color:var(--muted)}.media-heading .media-state.done{color:var(--success)}.media-help{margin:9px 0 14px}.media-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.media-gallery.single{grid-template-columns:1fr}.media-thumb{min-width:0;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.media-thumb .photo-view{display:block;overflow:hidden}.media-thumb img,.media-thumb video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#000}.media-thumb figcaption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 5px 4px 10px}.media-thumb figcaption .icon-btn{width:40px;height:40px;color:var(--danger)}.video-ready-tile{width:100%;aspect-ratio:4/3;background:#111;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:var(--text-sm)}.video-ready-tile .icon{width:36px;height:36px}.video-download-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.video-download-state .icon{width:36px;height:36px}.launch-progress,.finish-progress{margin-bottom:16px}.launch-progress .progress-track,.finish-progress .progress-track{margin:12px 0}.launch-progress p{margin:0}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.document-page{min-width:0;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.document-preview{display:grid;width:100%;aspect-ratio:3/4;place-items:center;overflow:hidden;border:0;border-radius:4px;background:var(--bg)}.document-preview img{width:84%;height:84%;object-fit:contain;transition:transform var(--motion-base)}.document-page>p{margin:8px 0 4px}.document-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.document-tools .icon-btn{width:100%;height:40px}.upload-panel{display:grid;justify-items:center;padding:20px;border:1px dashed var(--muted);border-radius:var(--radius-md);text-align:center;background:var(--surface);margin:16px 0}.upload-panel>.icon{width:28px;height:28px;margin-bottom:10px}.upload-panel p{margin:8px 0 16px;color:var(--muted);font-size:var(--text-sm)}.material-card .field{margin-top:12px}.payment-difference{padding:12px 14px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.payment-difference.success{background:color-mix(in oklch,var(--success) 8%,var(--surface))}.payment-difference.warning{background:color-mix(in oklch,var(--warn) 12%,var(--surface))}.payment-difference.danger{background:color-mix(in oklch,var(--danger) 7%,var(--surface));color:var(--danger)}.summary-checklist{margin-top:12px}.summary-check{display:flex;width:100%;min-height:66px;align-items:center;gap:12px;padding:10px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--fg);text-align:left}.summary-check:last-child{border:0}.summary-check>span:nth-child(2){flex:1}.summary-check strong,.summary-check small{display:block}.summary-check small{margin-top:2px;color:var(--muted)}.check-good{color:var(--success)}.check-missing{color:var(--danger)}.app-grid{display:grid;gap:10px}.app-link{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);text-align:left}.app-link>span{flex:1}.app-link strong,.app-link small{display:block}.app-link small{margin-top:3px;color:var(--muted)}.app-link.active{border-color:var(--accent)}.technical-context{margin-bottom:16px}.technical-context p{margin-top:4px}.sheet.fullscreen{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}.sheet.fullscreen[open]{display:flex;flex-direction:column}.sheet.fullscreen .sheet-panel{display:flex;min-height:0;flex:1;flex-direction:column}.sheet.fullscreen .sheet-content{flex:1;min-height:0;overflow-y:auto}.fullscreen-media{display:grid;min-height:calc(100dvh - 120px);place-items:center;align-content:center;gap:16px}.fullscreen-media img,.fullscreen-media video{display:block;max-width:100%;max-height:72dvh;object-fit:contain;background:#000;border-radius:var(--radius-sm)}.camera-stage{display:flex;min-height:calc(100dvh - 120px);flex-direction:column;justify-content:center}.camera-stage>video,.camera-stage>img{display:block;width:100%;max-height:68dvh;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-md);background:#000}.camera-stage>img{object-fit:contain}.camera-stage>p{margin:14px 0}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-text{min-height:44px;padding-inline:0;border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:4px}@media(max-width:380px){.primary-actionbar{padding-inline:16px}.button-row{flex-direction:column}.two-columns{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.app *,.app *:before,.app *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{padding-top:max(18px,calc(env(safe-area-inset-top) + 8px))}.sheet.fullscreen .sheet-header{padding-top:max(20px,calc(env(safe-area-inset-top) + 8px))}.remote-media-state{display:flex;align-items:flex-start;gap:12px;min-height:60px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.remote-media-state>.icon{flex:0 0 auto;color:var(--success)}.remote-media-state>span{min-width:0;flex:1}.remote-media-state strong,.remote-media-state small{display:block}.remote-media-state small{margin-top:4px;color:var(--muted)}.camera-loading{display:grid;min-height:280px;place-items:center;border-radius:var(--radius-md);background:#000;color:#fff}.sheet[data-od-id=launch-camera-dialog],.sheet[data-od-id=video-camera-dialog]{background:#000;color:#fff}.sheet[data-od-id=launch-camera-dialog]::backdrop,.sheet[data-od-id=video-camera-dialog]::backdrop{background:#000}.sheet[data-od-id=launch-camera-dialog] .sheet-panel,.sheet[data-od-id=video-camera-dialog] .sheet-panel,.sheet[data-od-id=launch-camera-dialog] .sheet-header,.sheet[data-od-id=video-camera-dialog] .sheet-header,.sheet[data-od-id=launch-camera-dialog] .sheet-content,.sheet[data-od-id=video-camera-dialog] .sheet-content{background:#000;color:#fff}.sheet[data-od-id=launch-camera-dialog] .sheet-header,.sheet[data-od-id=video-camera-dialog] .sheet-header{border-bottom-color:#1c1c1e}.sheet[data-od-id=launch-camera-dialog] .icon-btn,.sheet[data-od-id=video-camera-dialog] .icon-btn{border-color:#3a3a3c;background:#1c1c1e;color:#fff}.camera-stage.iphone-camera{min-height:calc(100dvh - 114px);justify-content:flex-start;gap:12px;background:#000;color:#fff}.camera-stage.iphone-camera>img,.camera-stage.iphone-camera>video{width:100%;max-height:65dvh;margin:auto 0 0;border-radius:0;background:#000;object-fit:contain}.camera-viewport{position:relative;width:100%;min-height:0;margin:auto 0 0;overflow:hidden;background:#000}.camera-viewport>video{display:block;width:100%;height:min(65dvh,720px);min-height:320px;object-fit:cover;background:#000;touch-action:manipulation}.camera-controls{position:absolute;inset:0;pointer-events:none}.camera-controls button,.camera-controls input{pointer-events:auto}.camera-flash{position:absolute;top:14px;left:14px;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:#1e1e1eb8;color:#fff;font-size:22px;box-shadow:0 1px 8px #00000047}.camera-flash.active{background:#ffd60a;color:#000}.camera-zoom-presets{position:absolute;left:50%;bottom:76px;display:flex;gap:8px;padding:5px;border-radius:24px;background:#1212129e;transform:translate(-50%);backdrop-filter:blur(12px)}.camera-zoom-presets button{min-width:42px;height:42px;padding:0 8px;border:0;border-radius:21px;background:transparent;color:#fff;font-weight:800}.camera-zoom-presets button.active{background:#ffd60a;color:#000}.camera-zoom-slider{position:absolute;right:16px;bottom:14px;left:16px;display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:12px;padding:8px 12px;border-radius:16px;background:#1212129e;color:#fff;font-size:12px;backdrop-filter:blur(12px)}.camera-zoom-slider input{width:100%;accent-color:#ffd60a}.camera-focus-hint{position:absolute;top:18px;right:18px;max-width:180px;margin:0;padding:7px 10px;border-radius:12px;background:#12121294;color:#fff;font-size:12px;text-align:right;backdrop-filter:blur(10px)}.camera-control-error{position:absolute;right:16px;bottom:130px;left:16px;margin:0;padding:9px 12px;border-radius:12px;background:#b42323e0;color:#fff;font-size:12px;text-align:center}.camera-focus-ring{position:absolute;width:68px;height:68px;border:2px solid #ffd60a;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 1px #00000040;animation:camera-focus-pulse .5s ease-out}.camera-stage-hint{min-height:20px!important;margin:0!important;color:#b8b8bd!important;font-size:13px;text-align:center}.iphone-shutter{position:relative;display:grid;width:76px;height:76px;flex:0 0 76px;place-items:center;margin:0 auto max(6px,env(safe-area-inset-bottom));padding:0;border:4px solid #fff;border-radius:50%;background:transparent}.iphone-shutter span{display:block;width:62px;height:62px;border-radius:50%;background:#fff;transition:width .18s,height .18s,border-radius .18s}.iphone-shutter.video span{width:58px;height:58px;background:#ff453a}.iphone-shutter.video.recording span{width:30px;height:30px;border-radius:7px}.iphone-shutter:disabled{opacity:.45}.camera-review-actions{margin-bottom:max(6px,env(safe-area-inset-bottom))}@keyframes camera-focus-pulse{0%{width:92px;height:92px;opacity:.45}to{width:68px;height:68px;opacity:1}}.technical-sections h3,.technical-materials h3{margin-bottom:12px;font-size:var(--text-base)}.app.large-controls .check-row,.app.large-controls .choice{min-height:60px}.view:focus{outline:none}@media(max-height:500px){.app-header{padding:4px 12px}.brand-logo{width:112px}.header-sub{display:none}.context-bar{padding-block:4px}.brief-shortcut{height:40px}.primary-actionbar{padding-block:6px}.primary-actionbar .action-hint{display:none}.bottomnav{padding-block:3px}.nav-item{min-height:42px;flex-direction:row;gap:4px}.nav-item .icon{width:18px;height:18px}.section{padding-block:16px}.sheet.fullscreen .sheet-header{padding-top:max(8px,calc(env(safe-area-inset-top) + 4px))}}.media-card.media-retake{border-color:var(--danger)}.media-state.retake{padding:4px 7px;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--danger) 8%,var(--surface));color:var(--danger)}.media-thumb.retake{border-color:var(--danger)}.media-thumb.retake img{filter:saturate(.55);opacity:.8}.media-thumb.unavailable{border-color:color-mix(in oklch,var(--danger) 55%,var(--border))}.media-unavailable{min-height:120px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:color-mix(in oklch,var(--danger) 5%,var(--surface));color:var(--danger);font-size:var(--text-sm)}.media-unavailable .icon{width:28px;height:28px}.media-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.media-item-actions .btn{min-height:38px;padding:7px 9px;font-size:var(--text-xs)}.media-thumb figcaption:has(.media-item-actions){align-items:flex-start;flex-direction:column}.media-thumb figcaption:has(.media-item-actions) .media-item-actions{width:100%}.document-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.document-tools .btn{min-width:0;min-height:40px;padding:6px;font-size:var(--text-xs)}.technical-photo-fullscreen{display:flex;min-height:calc(100dvh - 120px);flex-direction:column;gap:12px}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:12px;position:sticky;top:0;z-index:1;padding:8px;background:var(--bg)}.zoom-controls .btn{min-width:52px}.technical-photo-viewport{flex:1;min-height:0;max-height:72dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.technical-photo-viewport img,.technical-photo-viewport svg{display:block;max-width:none;height:auto;margin:auto}.technical-photo-viewport svg{min-width:100%;aspect-ratio:161/112}.role-badge{display:inline-flex;margin-bottom:16px;padding:5px 9px;border-radius:var(--radius-pill);background:color-mix(in oklch,var(--accent) 11%,var(--surface));color:var(--fg);font-size:var(--text-sm);font-weight:600}.manager-screen .manager-actions{margin:16px 0}.manager-screen>.container>.btn{margin-top:16px}.pdf-preview{display:grid;gap:16px;min-height:calc(100dvh - 120px);align-content:center}.pdf-page{min-height:62dvh;padding:28px 24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--elev-raised)}.pdf-page h2{margin:18px 0 8px}.source-document-frame{width:100%;height:calc(100dvh - 220px);min-height:520px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.pdf-lines{display:grid;gap:12px;margin:34px 0}.pdf-lines i{height:1px;background:var(--border)}html,body,#root,.app,.app-shell{max-width:100%;overflow-x:hidden}.view,.content,.sheet,.dialog,.sheet-panel,.sheet-header,.sheet-content,.dialog-header,.dialog-content{min-width:0;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}.section,.container,.object-list,.object-card,.dark-card,.summary-card,.notice,.activity-list,.activity,details,summary,.dialog-actions{min-width:0;max-width:100%}.sheet-content>*,.dialog-content>*,.activity>*,details>*,.dialog-actions>*{min-width:0;max-width:100%}.object-card h2,.dark-card h1,.summary-card h1,.receipt-line strong,.activity p,.activity strong,.notice p,.notice strong,summary,pre{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.dialog-actions .btn{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.activity pre{width:100%;margin-inline:0;overflow-x:hidden;white-space:pre-wrap}.contact-row{min-width:0}.contact-row>.contact-copy{min-width:0;flex:1}.contact-copy p{overflow-wrap:anywhere}.contact-row>.contact-actions{flex:0 0 auto}
