:root{--bg:#f7f1e8;--panel:#fff;--text:#071b3a;--muted:#66738a;--border:rgba(7,27,58,.14)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 60px}.hero{margin-bottom:22px}.kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin:0 0 6px}.layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,380px);gap:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:20px;margin-bottom:20px}.ok{color:#275c35;font-weight:600}.actions{display:grid;gap:10px;margin-top:18px}.actions a,button{display:block;text-align:center;text-decoration:none;background:var(--text);color:#fff;border:0;border-radius:12px;padding:11px 14px;cursor:pointer}select{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff;font:inherit}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid var(--border);padding:8px 6px;text-align:left}svg{width:100%;height:auto;display:block}@media(max-width:780px){.layout{grid-template-columns:1fr}}

.studio-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(300px,1fr);gap:20px;align-items:start}.preview-card{min-height:420px;display:flex;align-items:center;justify-content:center}input{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff;font:inherit;margin-bottom:10px}.error{padding:12px;border-radius:12px;background:#fff0f0;color:#8a2525}.meta-list{margin:20px 0 0}.meta-list div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--border)}.meta-list dt{color:var(--muted)}.meta-list dd{margin:0;font-weight:600}.actions a.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.glyph-card{border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:6px}.glyph-card strong{font-size:24px}.glyph-card span,.edge-list{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow-wrap:anywhere}@media(max-width:780px){.studio-grid{grid-template-columns:1fr}.preview-card{min-height:0}}

/* RC0.5 – CCS Studio */
:root{
    --ccs-navy:#071b3a;
    --ccs-navy-soft:#102b55;
    --ccs-bronze:#9a6a32;
    --ccs-bronze-soft:#c79a62;
    --ccs-sand:#f4eee5;
    --ccs-cream:#fbf8f3;
    --ccs-white:#fff;
    --ccs-success:#2f6a43;
    --ccs-danger:#9b3030;
}
.studio-body{background:radial-gradient(circle at top right,rgba(154,106,50,.10),transparent 32%),var(--ccs-sand)}
.studio-shell{width:min(1240px,calc(100% - 32px));padding-top:28px}
.studio-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.studio-header h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;margin:0}
.studio-header h1 span{font-size:.38em;vertical-align:top;letter-spacing:.08em;color:var(--ccs-bronze);font-weight:700}
.studio-intro{max-width:650px;margin:8px 0 0}
.status-pill{border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.72);padding:8px 13px;font-size:13px;color:var(--muted);white-space:nowrap}
.status-pill[data-state="loading"]{color:var(--ccs-bronze)}
.status-pill[data-state="ok"]{color:var(--ccs-success)}
.status-pill[data-state="error"]{color:var(--ccs-danger)}
.studio-app{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}
.studio-controls{position:sticky;top:18px}
.studio-controls input[type="text"],.studio-controls>input{font-size:18px;padding:14px 16px;border-color:rgba(7,27,58,.22);box-shadow:0 1px 0 rgba(7,27,58,.03)}
.field-help{font-size:13px;margin:0 0 20px}
.theme-picker{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.theme-picker legend{font-weight:700;margin-bottom:9px}
.theme-picker label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--ccs-cream);font-weight:500;cursor:pointer}
.theme-picker input{width:auto;margin:0;accent-color:var(--ccs-bronze)}
.zoom-control{display:grid;grid-template-columns:1fr 38px 58px 38px;align-items:center;gap:6px;margin:12px 0 16px;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--ccs-cream)}
.zoom-control button{margin:0;padding:6px;background:var(--ccs-white);color:var(--ccs-navy);border:1px solid var(--border);font-size:19px}
.zoom-control output{text-align:center;font-size:13px;font-weight:700}
.studio-meta dd{max-width:58%;text-align:right;overflow-wrap:anywhere}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}
.studio-actions{grid-template-columns:1fr}
.secondary-button,.text-button{background:transparent;color:var(--ccs-navy);border:1px solid var(--border)}
.is-disabled{opacity:.45;pointer-events:none}
.studio-preview-card{min-height:650px;padding:24px;overflow:hidden}
.preview-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.preview-heading h2{font-size:clamp(22px,3vw,34px)}
.theme-badge,.count-badge{border-radius:999px;background:rgba(154,106,50,.12);color:var(--ccs-bronze);padding:7px 11px;font-size:12px;font-weight:800}
.symbol-stage{min-height:530px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:radial-gradient(circle,rgba(154,106,50,.08),transparent 58%),linear-gradient(145deg,#fff,#faf6ef);border:1px solid rgba(154,106,50,.13);overflow:hidden}
.symbol-wrap{width:min(100%,610px);transform:scale(var(--preview-scale));transition:transform .22s ease;transform-origin:center;animation:symbolIn .35s ease}
.symbol-wrap svg{filter:drop-shadow(0 12px 18px rgba(7,27,58,.08))}
.symbol-wrap .ccs-edge.is-active{stroke-dasharray:500;stroke-dashoffset:500;animation:drawEdge .72s ease forwards}
.empty-state,.error-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:8px;padding:20px}
.error-state strong{color:var(--ccs-danger)}
.preview-note{text-align:center;font-size:13px;margin:15px 0 0}
.details-panel{margin-top:22px}
.details-panel[hidden]{display:none}
.history-card{margin-top:22px}
.history-card .section-heading p{margin:3px 0 0;font-size:13px}
.text-button{width:auto;margin:0;padding:8px 12px}
.history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:16px}
.history-item{margin:0;background:var(--ccs-cream);color:var(--ccs-navy);border:1px solid var(--border);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}
.history-item span{display:grid;gap:3px}
.history-item small{color:var(--muted)}
.history-item code{font-size:11px;color:var(--ccs-bronze)}
.history-empty{margin:14px 0 0}
@keyframes drawEdge{to{stroke-dashoffset:0}}
@keyframes symbolIn{from{opacity:.25;transform:scale(calc(var(--preview-scale) * .97))}to{opacity:1;transform:scale(var(--preview-scale))}}
@media(max-width:900px){.studio-app{grid-template-columns:1fr}.studio-controls{position:static}.studio-preview-card{min-height:auto}.symbol-stage{min-height:440px}}
@media(max-width:560px){.studio-shell{width:min(100% - 20px,1240px);padding-top:18px}.studio-header{display:block}.status-pill{display:inline-block;margin-top:12px}.studio-preview-card{padding:14px}.symbol-stage{min-height:350px}.theme-picker{grid-template-columns:1fr}.history-list{grid-template-columns:1fr}}

/* RC0.6 – Fingerprint Scanner */
.scanner-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 64px}.scanner-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;align-items:start}.drop-zone{display:grid;gap:8px;place-items:center;text-align:center;border:1.5px dashed rgba(2,24,74,.3);border-radius:18px;padding:42px 20px;background:rgba(225,218,204,.24);cursor:pointer}.drop-zone input{margin-top:14px;max-width:100%}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 16px;text-decoration:none;font:inherit;cursor:pointer}.primary-button{width:100%;margin-top:16px;background:#02184a;color:#fff}.secondary-button{background:#fff;color:#02184a;border:1px solid rgba(2,24,74,.18)}.scanner-info .notice,.notice{padding:12px 14px;border-radius:12px;background:#f5efe5;color:#5f513e}.scanner-preview{display:grid;place-items:center;min-height:390px;border-radius:16px;background:#fbf8f2;overflow:hidden}.scanner-preview svg{width:min(100%,520px);height:auto}.result-status{padding:13px 15px;border-radius:12px;font-weight:700}.result-status.is-valid{background:#e8f6ec;color:#1e6535}.result-status.is-invalid{background:#fae8e8;color:#8a2424}.edge-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.edge-chips code{padding:7px 9px;border-radius:8px;background:#f1ece3;color:#02184a}.warning-card{border-color:#d89b3f}.result-error{border-color:#c85b5b}.scanner-link{margin-left:auto}@media(max-width:820px){.scanner-grid{grid-template-columns:1fr}.scanner-preview{min-height:300px}.scanner-link{margin-left:0}}


/* RC0.7 – Vision Scanner */
.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vision-page{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:30px 0 64px}
.vision-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;align-items:start}
.vision-camera-card,.vision-result-card{margin:0}
.vision-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.camera-stage{position:relative;min-height:520px;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#071b3a;display:grid;place-items:center}
.camera-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.camera-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.camera-placeholder{position:relative;z-index:2;display:grid;gap:7px;place-items:center;text-align:center;color:#fff;padding:24px}
.camera-placeholder span{color:rgba(255,255,255,.68)}
.camera-placeholder[hidden]{display:none}
.camera-actions{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:10px;margin-top:14px}
.camera-actions button{margin:0}
.camera-actions button:disabled{opacity:.42;cursor:not-allowed}
.file-fallback{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--ccs-cream);font-weight:600}
.file-fallback input{width:auto;max-width:60%;margin:0;padding:0;border:0;background:transparent}
.sensitivity-control{display:grid;grid-template-columns:auto 1fr 42px;align-items:center;gap:12px;margin-top:14px}
.sensitivity-control label{margin:0;font-weight:700}
.sensitivity-control input{margin:0;padding:0}
.sensitivity-control output{text-align:center;font-weight:800;color:var(--ccs-bronze)}
.vision-result-card{position:sticky;top:18px}
.result-status.is-waiting{background:#f1ece3;color:#625845}
.vision-meta dd{max-width:64%;text-align:right;overflow-wrap:anywhere}
.vision-debug{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}
.vision-debug summary{cursor:pointer;font-weight:700}
.vision-debug canvas{width:100%;height:auto;margin-top:12px;border-radius:14px;background:#fff;border:1px solid var(--border)}
.vision-explanation{margin-top:22px}
.vision-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}
.vision-feature-grid article{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--ccs-cream)}
.vision-feature-grid span{color:var(--muted);font-size:13px}
@media(max-width:940px){.vision-layout{grid-template-columns:1fr}.vision-result-card{position:static}.camera-stage{min-height:430px}.vision-feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.vision-page{width:min(100% - 20px,1240px);padding-top:18px}.camera-stage{min-height:360px;aspect-ratio:1/1}.camera-actions{grid-template-columns:1fr}.file-fallback{display:grid}.file-fallback input{max-width:100%}.sensitivity-control{grid-template-columns:1fr 50px}.sensitivity-control label{grid-column:1/-1}.vision-feature-grid{grid-template-columns:1fr}.header-actions{justify-content:flex-start;margin-top:12px}}

/* RC0.7.1 */
.vision-recommendation{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f7f1e8;color:#5f513f;font-size:13px;line-height:1.5}
.vision-edge-details{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.vision-edge-details summary{cursor:pointer;font-weight:700}
.vision-edge-table{display:grid;gap:7px;margin-top:12px;max-height:360px;overflow:auto;padding-right:4px}
.vision-edge-row{display:grid;grid-template-columns:64px 1fr 42px;align-items:center;gap:8px;font-size:12px}
.vision-edge-row code{color:#7d8490}
.vision-edge-row strong{text-align:right;color:#7d8490}
.vision-edge-row.is-active code,.vision-edge-row.is-active strong{color:#1b7b3b}
.vision-edge-bar{height:7px;border-radius:999px;background:#ece7df;overflow:hidden}
.vision-edge-bar i{display:block;height:100%;background:#b8b0a3}
.vision-edge-row.is-active .vision-edge-bar i{background:#26aa56}

/* RC0.7.2 */
#visionSimilarity{font-weight:800;color:var(--ccs-bronze)}
#visionStableFrames{font-weight:800}

/* RC0.7.3 */
#visionAlignment{font-size:12px;font-weight:700;color:var(--ccs-bronze)}

/* RC0.7.4 */
#visionServerMatch{font-weight:800;color:#1b7b3b}#visionServerSimilarity{font-weight:800;color:var(--ccs-bronze)}

/* RC0.7.5 – Smooth Scan UX */
.vision-status-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.scan-progress-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:8px 12px;border-radius:999px;background:#f1ece3;color:#6f624f;font-weight:800;font-size:12px}.scan-success-overlay{position:absolute;inset:0;z-index:6;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;background:rgba(247,241,232,.94);backdrop-filter:blur(8px);padding:24px}.scan-success-overlay[hidden]{display:none}.scan-success-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#dff4e6;color:#1d7d3e;font-size:42px;font-weight:900;box-shadow:0 12px 32px rgba(29,125,62,.18)}.scan-success-overlay strong{font-size:22px;color:#071b3a}.scan-success-overlay button{width:auto;min-width:180px}#visionScanMode{font-weight:800;color:var(--ccs-bronze)}.status-pill[data-state="loading"]{animation:scanPulse 1.1s ease-in-out infinite}@keyframes scanPulse{0%,100%{opacity:.6}50%{opacity:1}}@media(max-width:620px){.vision-status-group{justify-content:flex-start}}


/* RC0.8.0 – Personal Profiles */
.profile-editor{margin:18px 0;border:1px solid var(--border);border-radius:15px;background:#fbf8f2;padding:0 14px 14px}
.profile-editor summary{cursor:pointer;font-weight:800;padding:14px 0;color:var(--ccs-text)}
.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.profile-form-grid label{display:grid;gap:6px;margin:0}
.profile-form-grid label span{font-size:12px;font-weight:800;color:var(--muted)}
.profile-form-grid input,.profile-form-grid textarea{width:100%;margin:0}
.profile-full{grid-column:1/-1}
.scanned-profile{margin:18px 0;padding:18px;border-radius:16px;background:linear-gradient(145deg,#f7f1e8,#fff);border:1px solid rgba(154,106,50,.22)}
.scanned-profile h3{margin:2px 0 4px;font-size:25px;color:var(--ccs-text)}
.scanned-profile-years{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--ccs-bronze)}
.scanned-profile-subtitle{margin:0 0 9px;font-size:17px;font-style:italic;color:#3c4658}
.scanned-profile-description{margin:0;white-space:pre-wrap;line-height:1.55;color:var(--muted)}
@media(max-width:620px){.profile-form-grid{grid-template-columns:1fr}.profile-full{grid-column:auto}}

/* RC0.8.1 – Freie Erinnerungsdaten */
#profileDatePeriod{font-variant-numeric:tabular-nums}


/* RC0.9.0 – Companion Key */
.key-editor{margin:18px 0;border:1px solid rgba(154,106,50,.24);border-radius:15px;background:#fffaf2;padding:0 14px 14px}
.key-editor summary{cursor:pointer;font-weight:800;padding:14px 0;color:var(--ccs-text)}
.key-editor summary span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ccs-bronze);margin-left:7px}
.key-toggle,.key-show{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px}
.key-toggle input,.key-show input{width:auto!important;margin:0!important}
.key-fields{display:grid;gap:12px;margin-top:12px}
.key-fields>label:first-child{display:grid;gap:6px}
.key-fields>label:first-child span,.key-unlock-panel label>span{font-size:12px;font-weight:800;color:var(--muted)}
.key-unlock-panel{margin:18px 0;padding:18px;border-radius:16px;background:#fff8ed;border:1px solid rgba(154,106,50,.32)}
.key-unlock-panel h3{margin:3px 0 6px;font-size:22px}
.key-unlock-panel>p{color:var(--muted)}
.key-unlock-panel form{display:grid;gap:12px}
.key-unlock-panel form>label:first-child{display:grid;gap:6px}
.key-unlock-status{min-height:22px;margin-top:10px;font-size:13px;font-weight:700}
.key-unlock-status[data-state="ok"]{color:#1b7b3b}
.key-unlock-status[data-state="error"]{color:#a22b2b}
.key-unlock-status[data-state="loading"]{color:var(--ccs-bronze)}
#metaProtected{font-weight:800}


/* RC0.9.1 – Einheitliche Scan-Bestätigung */
.scan-success-note{
    max-width:420px;
    margin:0;
    color:#5f6877;
    line-height:1.5;
}
.overlay-key-form{
    width:min(390px,100%);
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid rgba(154,106,50,.28);
    border-radius:15px;
    background:rgba(255,255,255,.82);
    text-align:left;
}
.overlay-key-form[hidden]{display:none}
.overlay-key-form>label:first-child{
    display:grid;
    gap:6px;
}
.overlay-key-form>label:first-child span{
    font-size:12px;
    font-weight:800;
    color:var(--muted);
}
.overlay-key-form input[type="password"],
.overlay-key-form input[type="text"]{
    width:100%;
    margin:0;
}
.overlay-key-form .primary-button{
    width:100%;
    margin:0;
}
.scan-success-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
}
.scan-success-actions button{
    width:auto;
    min-width:160px;
}
@media(max-width:620px){
    .scan-success-overlay{
        overflow:auto;
        align-content:start;
        padding-top:max(34px,env(safe-area-inset-top));
    }
    .scan-success-actions{
        display:grid;
        width:100%;
    }
    .scan-success-actions button{
        width:100%;
    }
}


/* RC0.9.1.1 – Frozen protected scan */
.overlay-key-form .key-unlock-status[data-state="loading"]::before,
.key-unlock-panel .key-unlock-status[data-state="loading"]::before{
    content:"";
    display:inline-block;
    width:10px;
    height:10px;
    margin-right:7px;
    border:2px solid rgba(154,106,50,.25);
    border-top-color:#9a6a32;
    border-radius:50%;
    animation:ccsKeySpin .75s linear infinite;
}
@keyframes ccsKeySpin{to{transform:rotate(360deg)}}

/* RC0.9.1.2 – Recognition finalization bugfix */
.scan-success-overlay{z-index:20!important}

/* RC0.9.1.3 – Safari protected overlay bugfix */
.scan-success-overlay:not([hidden]){
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
}
.overlay-key-form:not([hidden]){
    display:grid!important;
}

/* RC0.9.1.4 – Unified public/protected stop */
.camera-stage.is-finished video{display:none}


/* RC0.9.2 – Minimalistischer Endkunden-Scanner */
.customer-scan-body{
    min-height:100vh;
    margin:0;
    background:
        radial-gradient(circle at 50% -10%,rgba(154,106,50,.16),transparent 34%),
        linear-gradient(180deg,#071b3a 0,#102748 42%,#f3eee6 42%,#f3eee6 100%);
}
.customer-scan-page{
    width:min(760px,calc(100% - 24px));
    margin:0 auto;
    padding:max(24px,env(safe-area-inset-top)) 0 max(40px,env(safe-area-inset-bottom));
}
.customer-scan-header{
    color:#fff;
    text-align:center;
    padding:8px 16px 22px;
}
.customer-scan-header .kicker{color:#d8b47f}
.customer-scan-header h1{
    margin:4px 0 8px;
    color:#fff;
    font-size:clamp(30px,7vw,48px);
}
.customer-scan-header p:last-child{
    max-width:520px;
    margin:0 auto;
    color:rgba(255,255,255,.74);
    line-height:1.55;
}
.customer-scan-card{
    padding:14px;
    border-radius:24px;
    background:rgba(255,255,255,.96);
    box-shadow:0 24px 70px rgba(0,0,0,.23);
}
.customer-scan-status{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin:0 2px 12px;
}
.customer-camera-stage{
    min-height:0;
    aspect-ratio:1/1;
    border-radius:20px;
}
.customer-camera-placeholder{
    padding:32px;
}
.customer-scan-actions{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    margin-top:13px;
}
.customer-scan-actions .primary-button{margin:0}
.customer-photo-button{
    display:grid;
    place-items:center;
    padding:12px 16px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    color:var(--ccs-text);
    font-weight:800;
    cursor:pointer;
}
.customer-photo-button input{display:none}
.customer-scan-hint{
    margin:13px 5px 2px;
    color:var(--muted);
    text-align:center;
    font-size:13px;
    line-height:1.5;
}
.customer-profile{
    margin:18px 0 0;
    padding:24px;
    border-radius:22px;
    box-shadow:0 18px 45px rgba(7,27,58,.12);
}
.customer-profile h2{
    margin:2px 0 6px;
    font-size:clamp(28px,7vw,42px);
}
.customer-new-scan{
    width:100%;
    margin-top:18px;
}
.customer-technical-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
}
.customer-scan-page .scan-success-overlay{
    padding:24px 18px;
}
@media(max-width:620px){
    .customer-scan-page{width:min(100% - 16px,760px)}
    .customer-scan-card{padding:10px;border-radius:20px}
    .customer-scan-actions{grid-template-columns:1fr}
    .customer-photo-button{min-height:46px}
    .customer-camera-stage{border-radius:16px}
}


/* RC1.0.0 – Companion Memory Card */
.companion-memory-card{position:relative;overflow:hidden;margin:20px 0 0;padding:34px 28px 22px;border-radius:28px;background:radial-gradient(circle at 18% 12%,rgba(177,123,59,.18),transparent 28%),radial-gradient(circle at 82% 88%,rgba(7,27,58,.08),transparent 34%),linear-gradient(145deg,#fffdf8 0%,#f4ede2 100%);border:1px solid rgba(154,106,50,.20);box-shadow:0 24px 70px rgba(7,27,58,.15);color:#071b3a;animation:memoryCardIn .45s ease both}
.companion-memory-card[hidden]{display:none!important}
.memory-card-symbol-wrap{display:grid;place-items:center;margin-bottom:20px}
.memory-card-symbol{position:relative;width:122px;height:122px;border-radius:50%;border:1px solid rgba(154,106,50,.28);background:rgba(255,255,255,.46);box-shadow:inset 0 0 0 9px rgba(255,255,255,.34)}
.memory-card-symbol span{position:absolute;left:50%;top:50%;width:1px;height:44px;margin-left:-.5px;transform-origin:50% 44px;background:rgba(154,106,50,.20)}
.memory-card-symbol span.is-active{width:3px;margin-left:-1.5px;background:#9a6a32;border-radius:999px}
.memory-card-symbol i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#071b3a;box-shadow:0 0 0 5px rgba(7,27,58,.08)}
.memory-card-content{text-align:center}
.memory-card-kicker{margin:0 0 8px;color:#9a6a32;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.companion-memory-card h2{margin:0;font-size:clamp(34px,9vw,58px);line-height:1.02;letter-spacing:-.035em}
.memory-card-date{margin:10px 0 0;color:#9a6a32;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.memory-card-subtitle{margin:11px 0 0;color:#3f4858;font-size:20px;font-style:italic}
.memory-card-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#b17b3b}
.memory-card-divider::before,.memory-card-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(154,106,50,.35))}
.memory-card-divider::after{background:linear-gradient(90deg,rgba(154,106,50,.35),transparent)}
.memory-card-description{max-width:560px;margin:0 auto;color:#5d6674;font-size:17px;line-height:1.7;white-space:pre-wrap}
.memory-card-description:empty::before{content:"Eine persönliche Erinnerung, bewahrt im Companion Code.";font-style:italic;color:#8a8f97}
.memory-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(7,27,58,.10)}
.memory-card-footer>span{color:#8b806e;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.memory-card-footer .customer-new-scan{width:auto;margin:0}
@keyframes memoryCardIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:620px){.companion-memory-card{padding:28px 18px 18px;border-radius:22px}.memory-card-footer{display:grid;text-align:center}.memory-card-footer .customer-new-scan{width:100%}}
@media (prefers-reduced-motion:reduce){.companion-memory-card{animation:none!important}}


/* RC1.0.1 – echtes Companion-Symbol in der Memory Card */
.memory-card-symbol.has-real-symbol{
    width:min(260px,68vw);
    height:min(260px,68vw);
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.memory-card-symbol.has-real-symbol svg{
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
}
.memory-card-symbol.has-real-symbol svg text{display:none}
.memory-card-symbol.has-real-symbol svg [stroke="#111827"],
.memory-card-symbol.has-real-symbol svg [stroke="#0f172a"],
.memory-card-symbol.has-real-symbol svg [stroke="#000"]{stroke:#071b3a}
.memory-symbol-missing{display:grid;place-items:center;width:100%;height:100%;font-size:12px;color:#8a8f97;text-align:center}

/* RC1.0.3 – Memory Card Preview & clearly distinct backgrounds */
.card-background-picker{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:18px 0;
    padding:12px;
    border:1px solid var(--border);
    border-radius:14px;
}
.card-background-picker legend{font-weight:800;padding:0 6px}
.card-background-picker label{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px;
    border:1px solid transparent;
    border-radius:11px;
    background:#faf7f1;
    cursor:pointer;
}
.card-background-picker label:has(input:checked){
    border-color:rgba(154,106,50,.45);
    box-shadow:0 0 0 3px rgba(154,106,50,.08);
}
.bg-swatch{
    width:28px;
    height:28px;
    border-radius:8px;
    border:1px solid rgba(7,27,58,.16);
    flex:0 0 auto;
}
.bg-sand{background:linear-gradient(145deg,#fff8e9,#ead8b8)}
.bg-light{background:linear-gradient(145deg,#ffffff,#edf3fb)}
.bg-stone{background:linear-gradient(145deg,#d8d5cf,#9e9a92)}
.bg-night{background:linear-gradient(145deg,#061630,#1e4777)}

.memory-preview-panel{margin-top:22px}
.memory-preview-panel iframe{
    width:100%;
    height:760px;
    border:1px solid var(--border);
    border-radius:18px;
    background:#f4f1eb;
}
.memory-preview-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}

/* Sand */
.companion-memory-card.memory-bg-sand{
    background:
        radial-gradient(circle at 15% 10%,rgba(184,130,58,.24),transparent 29%),
        radial-gradient(circle at 88% 90%,rgba(108,73,31,.10),transparent 35%),
        linear-gradient(145deg,#fff8e9 0%,#ead8b8 100%);
    color:#071b3a;
}

/* Light */
.companion-memory-card.memory-bg-light{
    background:
        radial-gradient(circle at 80% 5%,rgba(49,111,181,.10),transparent 32%),
        linear-gradient(145deg,#ffffff 0%,#edf3fb 100%);
    color:#071b3a;
}

/* Stone */
.companion-memory-card.memory-bg-stone{
    background:
        radial-gradient(circle at 18% 12%,rgba(255,255,255,.48),transparent 30%),
        linear-gradient(145deg,#d8d5cf 0%,#aaa69d 100%);
    color:#071b3a;
    border-color:rgba(7,27,58,.16);
}

/* Night */
.companion-memory-card.memory-bg-night{
    background:
        radial-gradient(circle at 18% 8%,rgba(204,157,86,.24),transparent 30%),
        radial-gradient(circle at 88% 92%,rgba(65,132,204,.18),transparent 34%),
        linear-gradient(145deg,#061630 0%,#1e4777 100%);
    color:#fff;
    border-color:rgba(255,255,255,.18);
    box-shadow:0 24px 70px rgba(1,10,27,.35);
}
.memory-bg-night h2,
.memory-bg-night .memory-card-subtitle{color:#fff}
.memory-bg-night .memory-card-date,
.memory-bg-night .memory-card-kicker,
.memory-bg-night .memory-card-divider{color:#e2ba77}
.memory-bg-night .memory-card-description{color:rgba(255,255,255,.82)}
.memory-bg-night .memory-card-footer>span{color:rgba(255,255,255,.64)}
.memory-bg-night .memory-card-footer{border-top-color:rgba(255,255,255,.16)}
.memory-bg-night .secondary-button{
    background:rgba(255,255,255,.10);
    color:#fff;
    border-color:rgba(255,255,255,.28);
}
.memory-bg-night .memory-card-symbol{
    background:rgba(255,255,255,.08);
    border-color:rgba(226,186,119,.58);
}

/* Real generated SVG inherits readable colours per background */
.memory-card-symbol.has-real-symbol svg{width:100%;height:100%;display:block}
.memory-card-symbol.has-real-symbol .ccs-edge,
.memory-card-symbol.has-real-symbol .ccs-poly{stroke:#9a6a32}
.memory-card-symbol.has-real-symbol .ccs-node,
.memory-card-symbol.has-real-symbol .ccs-center{fill:#071b3a}
.memory-bg-night .memory-card-symbol.has-real-symbol .ccs-edge,
.memory-bg-night .memory-card-symbol.has-real-symbol .ccs-poly{stroke:#e2ba77}
.memory-bg-night .memory-card-symbol.has-real-symbol .ccs-node,
.memory-bg-night .memory-card-symbol.has-real-symbol .ccs-center{fill:#fff}

@media(max-width:620px){
    .memory-preview-panel iframe{height:680px}
    .card-background-picker{grid-template-columns:1fr}
}


/* RC1.0.4 – Night Symbol Background Consistency
   The generic night placeholder added a translucent square behind real SVG symbols.
   Real symbols must remain fully transparent so the card gradient continues seamlessly. */
.memory-bg-night .memory-card-symbol.has-real-symbol,
.memory-bg-sand .memory-card-symbol.has-real-symbol,
.memory-bg-light .memory-card-symbol.has-real-symbol,
.memory-bg-stone .memory-card-symbol.has-real-symbol{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
}
.memory-card-symbol.has-real-symbol svg,
.memory-card-symbol.has-real-symbol .ccs-generated-svg{
    background:transparent!important;
}

/* RC1.0.5 */
.memory-card-footer{display:none!important}
.memory-card-outside-actions{margin:16px 0 0;padding:0 6px}
.memory-card-outside-actions[hidden]{display:none!important}
.memory-card-outside-actions .secondary-button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#fff;color:#071b3a;border:1px solid rgba(7,27,58,.15);box-shadow:0 10px 28px rgba(7,27,58,.08);font-weight:800}
.memory-card-outside-actions.is-preview{max-width:760px;margin:18px auto 0}

/* RC2.10.1 – Scanner Excellence */
.customer-camera-stage::after{
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(180deg,rgba(7,27,58,.08),transparent 22%,transparent 78%,rgba(7,27,58,.18));
}
.scanner-focus-frame{position:absolute;z-index:4;inset:10%;pointer-events:none}
.scanner-focus-frame span{position:absolute;width:42px;height:42px;border-color:rgba(255,255,255,.96);border-style:solid;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.scanner-focus-frame span:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:14px 0 0 0}
.scanner-focus-frame span:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 14px 0 0}
.scanner-focus-frame span:nth-child(3){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 14px 0}
.scanner-focus-frame span:nth-child(4){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 14px}
.scanner-focus-frame i{position:absolute;left:6%;right:6%;top:12%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,#67c7ff 18%,#fff 50%,#67c7ff 82%,transparent);box-shadow:0 0 14px rgba(103,199,255,.8);opacity:0}
.customer-camera-stage[data-scanner-state="ok"] .scanner-focus-frame i,
.customer-camera-stage[data-scanner-state="loading"] .scanner-focus-frame i{opacity:1;animation:ccsScanLine 2.2s ease-in-out infinite}
.customer-camera-stage[data-scanner-state="success"] .scanner-focus-frame span{border-color:#64d98b}
@keyframes ccsScanLine{0%{top:12%;opacity:.25}50%{opacity:1}100%{top:88%;opacity:.25}}
.scanner-runtime-note{margin:12px 4px 0;padding:10px 12px;border-radius:12px;background:#f3f6fa;color:#43526a;font-size:13px;line-height:1.4;text-align:center}
.scanner-runtime-note[data-state="ok"]{background:#e9f7ee;color:#216b3a}
.scanner-runtime-note[data-state="error"]{background:#fff0ef;color:#9a2f28}
.scanner-runtime-note[data-state="success"]{background:#e4f8eb;color:#176b37;font-weight:800}
.scanner-torch-button[hidden]{display:none!important}
.status-pill[data-state="success"]{background:#dff4e6;color:#1d7d3e}
@media(max-width:620px){.customer-scan-actions{grid-template-columns:1fr}.scanner-torch-button{min-height:46px}.scanner-focus-frame{inset:8%}}

/* RC2.10.4 – Memory Focus: Scanner verschwindet nach erfolgreichem Öffnen */
.customer-scan-card[hidden]{display:none!important}
.memory-open-success{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:0 0 16px;
    padding:16px 18px;
    border-radius:18px;
    background:linear-gradient(135deg,#e7f8ec,#d9f2e2);
    border:1px solid rgba(29,125,62,.18);
    color:#176d36;
    box-shadow:0 14px 36px rgba(7,27,58,.10);
    text-align:center;
}
.memory-open-success[hidden]{display:none!important}
.memory-open-success span{
    width:34px;height:34px;flex:0 0 34px;border-radius:50%;
    display:grid;place-items:center;background:#1d8a45;color:#fff;font-weight:900;font-size:21px;
}
.memory-open-success strong{font-size:16px;line-height:1.35}
.memory-is-open .companion-memory-card{margin-top:0}
@media(max-width:620px){
    .memory-open-success{margin-top:0;border-radius:16px;padding:14px 12px}
    .memory-open-success strong{font-size:15px}
}

/* CCS Scanner Analyzer RC3.1.7 */
.analyzer-console{margin-top:24px}.analyzer-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.analyzer-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.analyzer-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0}.analyzer-stage{border:1px solid rgba(2,24,74,.12);border-radius:16px;padding:16px;background:#fff;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}.analyzer-stage>span{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1f5;font-weight:800}.analyzer-stage strong{font-size:.92rem}.analyzer-stage small{color:#687083;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analyzer-stage[data-state="ok"]{border-color:rgba(37,150,90,.45);background:rgba(37,150,90,.06)}.analyzer-stage[data-state="ok"]>span{background:#25965a;color:#fff}.analyzer-stage[data-state="warn"]{border-color:rgba(203,135,20,.48);background:rgba(203,135,20,.07)}.analyzer-stage[data-state="warn"]>span{background:#cb8714;color:#fff}.analyzer-stage[data-state="error"]{border-color:rgba(190,50,50,.45);background:rgba(190,50,50,.06)}.analyzer-stage[data-state="error"]>span{background:#be3232;color:#fff}.analyzer-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.analyzer-meta{margin:0;padding:14px;border:1px solid rgba(2,24,74,.1);border-radius:14px;background:#fafbfc}.analyzer-meta dd{overflow-wrap:anywhere}.analyzer-log-wrap{margin-top:18px;border-radius:14px;overflow:hidden;background:#08132d;color:#dce8ff}.analyzer-log-head{padding:12px 15px;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12)}#analyzerLog{margin:0;padding:15px;max-height:380px;overflow:auto;white-space:pre-wrap;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.scanner-analyzer-body .scan-success-overlay{display:none!important}@media(max-width:900px){.analyzer-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analyzer-data-grid{grid-template-columns:1fr}.analyzer-head{display:block}.analyzer-actions{justify-content:flex-start;margin-top:16px}}@media(max-width:520px){.analyzer-stage-grid{grid-template-columns:1fr}.analyzer-actions>*{flex:1 1 100%}}

/* RC4.1.004 – Protected scan polish */
.customer-scan-page .scan-success-overlay{
    gap:10px;
    padding:18px;
}
.customer-scan-page .scan-success-icon{
    width:58px;
    height:58px;
    font-size:32px;
    box-shadow:0 9px 24px rgba(29,125,62,.15);
}
.customer-scan-page .scan-success-overlay>strong{
    max-width:420px;
    font-size:clamp(18px,4.8vw,21px);
    line-height:1.18;
}
.customer-scan-page .scan-success-note{
    max-width:390px;
    font-size:14px;
    line-height:1.38;
}
.customer-scan-page .overlay-key-form{
    width:min(360px,100%);
    gap:10px;
    padding:13px;
    border-radius:14px;
    background:rgba(255,255,255,.9);
    box-shadow:0 10px 28px rgba(7,27,58,.08);
}
.customer-scan-page .overlay-key-form input[type="password"],
.customer-scan-page .overlay-key-form input[type="text"]{
    min-height:46px;
}
.customer-scan-page .overlay-key-form .key-show{
    font-size:13px;
}
.customer-scan-page .overlay-key-form .primary-button{
    min-height:44px;
}
.customer-scan-page .scan-success-overlay.is-protected{
    place-content:start center;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-top:16px;
    padding-bottom:16px;
}
.customer-scan-page .scan-success-overlay.is-protected .scan-success-actions{
    margin-top:0;
}
@media(max-width:620px){
    .customer-scan-page .scan-success-overlay.is-protected{
        gap:8px;
        padding:12px;
    }
    .customer-scan-page .scan-success-overlay.is-protected .scan-success-icon{
        width:52px;
        height:52px;
        font-size:29px;
    }
    .customer-scan-page .scan-success-overlay.is-protected .scan-success-note{
        font-size:13px;
    }
    .customer-scan-page .scan-success-overlay.is-protected .overlay-key-form{
        padding:11px;
    }
}

/* RC4.1.006 – Public identity before protected memory */
.protected-identity-card[hidden]{display:none!important}
.protected-identity-card{
    width:min(390px,100%);
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:16px;
    align-items:center;
    padding:14px;
    border-radius:18px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(2,24,74,.1);
    box-shadow:0 12px 34px rgba(7,27,58,.11);
    text-align:left;
}
.protected-identity-symbol{
    width:96px;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:15px;
    background:linear-gradient(145deg,#f7f1e8,#fff);
    border:1px solid rgba(154,106,50,.2);
}
.protected-identity-symbol svg{width:88%;height:88%;display:block}
.protected-symbol-fallback{font-weight:900;color:#9a6a32;letter-spacing:.08em}
.protected-identity-copy{display:grid;gap:5px;min-width:0}
.protected-identity-copy strong{font-size:clamp(22px,6vw,29px)!important;line-height:1.05;color:#071b3a;overflow-wrap:anywhere}
.protected-identity-copy small{font-size:12px;line-height:1.35;color:#687083}
.protected-identity-badge{width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:#e4f6ea;color:#1d7d3e;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.scan-success-overlay.is-protected>.scan-success-icon{display:none}
.scan-success-overlay.is-protected>#scanSuccessText{font-size:14px;color:#687083}
.scan-success-overlay.is-protected>#scanSuccessNote{margin-top:-4px}
.customer-scan-card.is-result-overlay .customer-scan-status,
.customer-scan-card.is-result-overlay .customer-scan-actions,
.customer-scan-card.is-result-overlay .scanner-runtime-note,
.customer-scan-card.is-result-overlay .customer-scan-hint{display:none!important}
.customer-scan-card.is-result-overlay .customer-camera-stage{
    aspect-ratio:auto;
    min-height:clamp(500px,74vh,680px);
    overflow:hidden;
}
.customer-scan-card.is-result-overlay .scan-success-overlay.is-protected{
    inset:0;
    z-index:30!important;
    align-content:start;
    background:linear-gradient(160deg,rgba(247,241,232,.985),rgba(255,255,255,.98));
    backdrop-filter:none;
}
.customer-scan-card.is-result-overlay .scan-success-actions{
    width:min(360px,100%);
    margin-top:10px!important;
    padding-top:14px;
    border-top:1px solid rgba(7,27,58,.11);
}
.customer-scan-card.is-result-overlay .scan-success-actions button{width:100%}
.scanner-support-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px}
.customer-scan-help{text-align:center;margin:18px 0 4px;font-size:.88rem}.customer-scan-help a{color:#526177;text-underline-offset:3px}
@media(max-width:520px){
    .customer-scan-card.is-result-overlay .customer-camera-stage{min-height:590px}
    .protected-identity-card{grid-template-columns:78px minmax(0,1fr);gap:12px;padding:11px}
    .protected-identity-symbol{width:78px;border-radius:13px}
    .protected-identity-copy strong{font-size:23px!important}
    .scanner-support-actions{display:grid;margin:16px 10px}
}

/* RC4.1.006 – Symbol Inspector */
.inspector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.inspector-grid>.inspector-recommendation-card{grid-column:1/-1}
.inspector-preview{min-height:320px;display:grid;place-items:center;border-radius:18px;overflow:hidden;background:#f7f4ef;border:1px solid rgba(2,24,74,.1)}
.inspector-preview.checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#ececec 25%,transparent 25%),linear-gradient(-45deg,#ececec 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ececec 75%),linear-gradient(-45deg,transparent 75%,#ececec 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.inspector-preview img,.inspector-preview canvas{display:block;max-width:100%;max-height:520px;object-fit:contain}
.inspector-meta{margin-top:16px}
.inspector-recommendation-card ul{margin:14px 0 0;padding-left:22px;line-height:1.65}
@media(max-width:760px){.inspector-grid{grid-template-columns:1fr}.inspector-grid>.inspector-recommendation-card{grid-column:auto}.inspector-preview{min-height:250px}}

/* RC5.1.1: compact iPhone analyzer summary */
.analyzer-mobile-summary{display:none}
@media(max-width:700px){
  .scanner-analyzer-body{padding-bottom:112px}
  .analyzer-mobile-summary{position:fixed;z-index:90;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:9px;border:1px solid rgba(2,24,74,.18);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(2,24,74,.18);backdrop-filter:blur(12px)}
  .analyzer-mobile-summary div{min-width:0;padding:5px 7px;border-right:1px solid rgba(2,24,74,.1)}
  .analyzer-mobile-summary div:nth-child(3){border-right:0}
  .analyzer-mobile-summary span{display:block;color:#687083;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}
  .analyzer-mobile-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
  .analyzer-mobile-summary .analyzer-mobile-reason{grid-column:1/-1;border-right:0;border-top:1px solid rgba(2,24,74,.1);padding-top:7px}
  .analyzer-mobile-summary .analyzer-mobile-reason strong{font-size:.8rem}
}

/* RC6.2.0 – CCS Companion Reader status states */
.reader-result-card[hidden]{display:none!important}
.reader-result-card{
    width:min(410px,100%);
    display:grid;
    gap:8px;
    padding:16px;
    border-radius:18px;
    text-align:left;
    color:#071b3a;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(2,24,74,.12);
    box-shadow:0 12px 34px rgba(7,27,58,.12);
}
.reader-result-label{
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#687083;
}
.reader-result-status{font-size:clamp(21px,5vw,28px);line-height:1.08}
.reader-result-card>p{margin:0;color:#4f586b;line-height:1.5}
.reader-result-meta{display:grid;grid-template-columns:1fr 72px 92px;gap:8px;margin:6px 0 0}
.reader-result-meta div{min-width:0;padding:9px;border-radius:12px;background:#f4f6f9}
.reader-result-meta dt{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#727b8c}
.reader-result-meta dd{margin:4px 0 0;font-size:12px;font-weight:900;overflow-wrap:anywhere}
.reader-result-card[data-state="unregistered"]{border-color:rgba(196,145,35,.35);background:#fffaf0}
.reader-result-card[data-state="unregistered"] .reader-result-status{color:#916512}
.reader-result-card[data-state="expired"]{border-color:rgba(211,111,42,.38);background:#fff6ef}
.reader-result-card[data-state="expired"] .reader-result-status{color:#a34f17}
.reader-result-card[data-state="unavailable"]{border-color:rgba(111,119,137,.35);background:#f7f8fa}
.reader-result-card[data-state="unavailable"] .reader-result-status{color:#4f586b}
@media(max-width:520px){
    .reader-result-card{padding:13px;border-radius:15px}
    .reader-result-meta{grid-template-columns:1fr 68px}
    .reader-result-meta div:first-child{grid-column:1/-1}
}

/* RC9.4.0 – klare Produktinformation */
.ccs-transparency{margin:28px auto;padding:28px;border:1px solid #d9e0e9;border-radius:22px;background:#f7f3eb;color:#071a38}.ccs-transparency-head small{font-weight:850;letter-spacing:.12em;color:#9a672d}.ccs-transparency-head h2{margin:5px 0 20px}.ccs-transparency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ccs-transparency-grid article{padding:16px;border-radius:15px;background:#fff}.ccs-transparency-grid strong,.ccs-transparency-grid span{display:block}.ccs-transparency-grid span{margin-top:6px;color:#58677b;line-height:1.45}.ccs-transparency-compact{margin:18px 0;padding:16px 18px;border:1px solid #ddb66f;border-radius:15px;background:#fff8e5;color:#5e4923}.ccs-transparency-compact strong{display:block;color:#805300}.ccs-transparency-compact p{margin:6px 0 0;line-height:1.5}.ccs-transparency-consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:14px 0;font-weight:750;line-height:1.45}.ccs-transparency-consent input{margin-top:4px;width:18px;height:18px}@media(max-width:680px){.ccs-transparency-grid{grid-template-columns:1fr}.ccs-transparency{padding:20px}}
