:root{--bg:#f7f7f4;--paper:#fff;--ink:#111;--muted:#777;--line:#d7d7d1;--danger:#8b1e1e;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}[hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button{cursor:pointer}.admin-shell{max-width:1180px;margin:auto;padding:0 28px 48px}
.admin-header{height:64px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.admin-brand{display:flex;gap:10px;align-items:baseline}.admin-brand strong{font-size:12px;letter-spacing:.14em}.admin-brand span,.header-actions button,.header-actions a,.session-state{font-size:10px;color:var(--muted);letter-spacing:.1em;text-decoration:none}
.header-actions{display:flex;align-items:center;gap:16px}.header-actions button{border:0;background:none;padding:0}
.login-view{width:min(340px,100%);margin:14vh auto 0}.login-view h1{font-size:30px;font-weight:600;letter-spacing:-.04em;margin:0 0 42px}
.login-view label,.editor label{font-size:9px;letter-spacing:.09em;color:var(--muted);display:grid;gap:7px}.login-view label{margin-bottom:20px}
.login-view input,.editor input,.editor select{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:10px 0;border-radius:0;outline:none}.login-view input:focus,.editor input:focus,.editor select:focus{border-color:#111}
.primary-line,.toolbar button,.actions button{border:0;border-bottom:1px solid #111;background:transparent;padding:10px 0;text-align:left}.primary-line{width:100%;margin-top:16px;font-weight:600}.primary-line:disabled{opacity:.4}.form-status{min-height:16px;margin:8px 0 0;font-size:11px;color:var(--muted);line-height:1.45}
.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:34px 0 30px;overflow:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border:0;background:none;padding:0 0 12px;color:#888;white-space:nowrap;font-size:12px}.tabs button.active{color:#111;border-bottom:1px solid #111}.tab{display:none}.tab.active{display:block}
.toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.toolbar h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.03em}.toolbar button{font-size:11px}.toolbar-note{font-size:9px;letter-spacing:.1em;color:var(--muted)}
.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:42px;margin-top:24px}.list{border-top:1px solid var(--line)}.list-item{min-height:48px;padding:13px 2px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px}.list-item:hover{padding-left:6px}.list-item small{color:#888;font-size:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48%}
.editor{padding:0;display:grid;gap:20px;max-width:620px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.check{display:flex!important;align-items:center;gap:8px!important}.check input{width:auto}.actions{display:flex;gap:24px;margin-top:8px;border-top:1px solid var(--line);padding-top:12px}.actions button{min-width:90px}.actions .danger{color:var(--danger);border-color:var(--danger)}
.preview-frame{width:min(100%,380px);aspect-ratio:.8;background:#fff;padding:18px;display:flex;flex-direction:column;border:1px solid var(--line);overflow:hidden}.preview-photo{background:#d1d1cc;flex:1;min-height:0}.preview-meta{padding-top:16px;display:flex;justify-content:space-between;align-items:end;gap:10px}.preview-meta b{font-size:17px}.preview-meta span{font-size:9px;color:#666;text-align:right}
.upload-block{display:grid;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.logo-preview{min-height:110px;display:flex;align-items:center;justify-content:flex-start}.logo-preview img{display:block;max-width:240px;max-height:80px;object-fit:contain}.logo-preview span,.upload-block small{font-size:10px;color:var(--muted);line-height:1.5}
.intro-editor{max-width:520px}.intro-preview{width:min(220px,55vw);aspect-ratio:9/16;background:#efefec;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:4px 0 18px}.intro-preview img{width:100%;height:100%;object-fit:cover;display:block}.intro-preview span{font-size:12px;color:#777}
.stats-grid{border-top:1px solid var(--line)}.stat{min-height:58px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 2px}.stat b{font-size:22px;font-weight:500;order:2}.stat span{font-size:11px;color:#666;order:1}.admin-error{margin:18px 0 0;padding:12px 0;border-bottom:1px solid var(--danger);font-size:12px;color:var(--danger);line-height:1.5}
@media(max-width:760px){.admin-shell{padding:0 16px 36px}.admin-header{height:56px}.session-state{display:none!important}.tabs{margin:24px -16px 20px;padding:0 16px;gap:20px}.toolbar{height:52px}.toolbar h2{font-size:19px}.split{grid-template-columns:1fr;gap:26px;margin-top:16px}.editor{max-width:none}.grid2{grid-template-columns:1fr}.list-item{min-height:52px}.preview-frame{width:min(82vw,340px);margin:auto}.actions{position:sticky;bottom:0;background:var(--bg);padding:12px 0 calc(12px + var(--safe-bottom));z-index:5}.login-view{margin-top:12vh}}

/* Frame style preview cues */
.preview-frame[data-layout="dark"] .preview-photo{background:#2b2b2b}
.preview-frame[data-layout="dark"] .preview-meta span{color:#aaa}
.preview-frame[data-layout="tech"] .preview-meta{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
.preview-frame[data-layout="minimal"] .preview-meta b{font-size:14px;font-weight:500}
.preview-frame[data-layout="gallery"] .preview-meta{border-top:1px solid currentColor;padding-top:12px;margin-top:4px}
.preview-frame[data-layout="contact"] .preview-meta b{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:.04em}


/* RC17 admin clarity + iOS form zoom guard */
html{-webkit-text-size-adjust:100%}
button,input,select,textarea{font-family:inherit}
.login-view input,.editor input,.editor select,.editor textarea{font-size:16px;line-height:1.35;min-height:46px}
.editor textarea{width:100%;border:0;border-bottom:1px solid #aaa;background:transparent;padding:10px 0;border-radius:0;outline:none;resize:vertical;color:inherit}
.login-view label,.editor label{font-size:12px;line-height:1.3;letter-spacing:.055em;gap:8px}
.tabs{gap:28px}.tabs button{font-size:14px;min-height:42px;padding:0 0 10px}
.admin-brand strong{font-size:14px}.admin-brand span,.header-actions button,.header-actions a{font-size:12px}
.toolbar{height:auto;min-height:68px;padding:12px 0}.toolbar h2{font-size:24px}.toolbar button{font-size:14px}
.section-help{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.4}
.form-status{font-size:13px;min-height:20px}.list-item{font-size:15px;min-height:54px}.list-item small{font-size:12px}
.actions button,.primary-line{font-size:15px;min-height:44px}.check{font-size:14px!important}.check input{min-height:0;width:18px;height:18px}
.content-editor,.intro-editor{max-width:620px}
.phone-preview{position:relative;width:min(280px,72vw);aspect-ratio:9/16;background:#e9e9e5;overflow:hidden;margin:2px 0 10px}
.phone-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.preview-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#777;font-size:14px}
.main-preview-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;display:grid;gap:8px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.main-preview-copy strong{font-size:25px;line-height:1.02;letter-spacing:-.04em}.main-preview-copy span{font-size:13px;line-height:1.4}.main-preview-copy b{display:flex;align-items:center;justify-content:center;height:42px;background:#fff;color:#111;text-shadow:none;font-size:13px;font-weight:600}
.intro-preview{width:min(280px,72vw)}
@media(max-width:760px){.tabs{gap:24px}.tabs button{font-size:14px}.toolbar h2{font-size:22px}.section-help{font-size:13px}.admin-shell{padding-left:18px;padding-right:18px}.editor{gap:24px}}

/* RC34 bulk camera/lens model import */
.bulk-import{max-width:860px;margin-top:24px}.bulk-import textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.55;white-space:pre}.bulk-actions{margin-top:0}.bulk-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;letter-spacing:.035em}.bulk-preview{border-top:1px solid var(--line)}.bulk-row{display:grid;grid-template-columns:70px minmax(120px,.8fr) minmax(160px,1.5fr) 72px;gap:16px;align-items:start;padding:12px 2px;border-bottom:1px solid var(--line)}.bulk-row strong{font-size:11px;letter-spacing:.06em}.bulk-row span{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.bulk-row small{font-size:11px;color:var(--muted);text-align:right}.bulk-row[data-state="ERROR"] small{color:var(--danger)}.bulk-row-error{grid-column:2/-1;color:var(--danger)!important;text-align:left!important}.bulk-empty{padding:16px 2px;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}
@media(max-width:760px){.bulk-row{grid-template-columns:58px 1fr 64px;gap:10px}.bulk-row span:nth-of-type(2){grid-column:2/4}.bulk-row-error{grid-column:2/4}.bulk-import textarea{min-height:260px}}
