/* Direct CSS migration from AIPH_00070 confirmed Demo r2. */
.cp-root,.cp-dialog{
      color-scheme: light;
      --brand:#006b62; --brand-dark:#005149; --brand-soft:#d5efea;
      --canvas:#f7f9f7; --surface:#fff; --surface-soft:#f0f3f1;
      --ink:#1b1c1b; --muted:#5d625f; --outline:#747e78; --line:#d9e0dc;
      --error:#b3261e; --error-soft:#fff0ee;
      --review:#edf2ef; --space:16px;
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
      font-synthesis:none;
    }
.cp-root .topbar,.cp-dialog .topbar{display:flex;flex:0 0 64px;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--canvas)}
.cp-root .topbar h3,.cp-dialog .topbar h3{font-size:20px;line-height:28px;font-weight:650}
.cp-root .icon-button,.cp-dialog .icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:var(--ink)}
.cp-root .icon-button:hover,.cp-dialog .icon-button:hover{background:#006b6210}
.cp-root .icon-button:active,.cp-dialog .icon-button:active{background:#006b6220}
.cp-root .body,.cp-dialog .body{flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px var(--space) 28px;scrollbar-width:thin;scroll-padding-block:16px}
.cp-root .context-line,.cp-dialog .context-line{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.cp-root .context-line svg,.cp-dialog .context-line svg{width:16px;height:16px}
.cp-root .context-line strong,.cp-dialog .context-line strong{font-weight:600;color:#39463e;overflow-wrap:anywhere}
.cp-root .intro,.cp-dialog .intro{margin-top:6px;color:var(--muted);font-size:12px;line-height:19px}
.cp-root .groups,.cp-dialog .groups{display:grid;gap:24px;margin-top:24px}
.cp-root .group,.cp-dialog .group{min-width:0}
.cp-root .group-title,.cp-dialog .group-title{margin-bottom:16px;color:var(--ink);font-size:15px;font-weight:650;line-height:22px}
.cp-root .fields,.cp-dialog .fields{display:grid;gap:20px}
.cp-root .field,.cp-dialog .field{position:relative;min-width:0}
.cp-root .field label,.cp-dialog .field label{position:absolute;top:-8px;left:12px;z-index:1;padding:0 4px;color:var(--muted);background:var(--canvas);font-size:12px;line-height:16px;pointer-events:none}
.cp-root .field input,.cp-dialog .field input,.cp-root .field textarea,.cp-dialog .field textarea{display:block;min-width:0;width:100%;height:56px;padding:15px;color:var(--ink);background:transparent;border:1px solid var(--outline);border-radius:4px;outline:0;font-size:16px;line-height:24px}
.cp-root .field textarea,.cp-dialog .field textarea{height:88px;min-height:88px;resize:vertical;max-height:168px}
.cp-root .field input::placeholder,.cp-dialog .field input::placeholder,.cp-root .field textarea::placeholder,.cp-dialog .field textarea::placeholder{color:var(--muted);font-size:14px;opacity:1}
.cp-root .field:focus-within label,.cp-dialog .field:focus-within label{color:var(--brand)}
.cp-root .field input:focus,.cp-dialog .field input:focus,.cp-root .field textarea:focus,.cp-dialog .field textarea:focus{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.cp-root .field input:disabled,.cp-dialog .field input:disabled,.cp-root .field textarea:disabled,.cp-dialog .field textarea:disabled{color:var(--muted);border-color:var(--line);background:var(--surface-soft);cursor:wait}
.cp-root .field.invalid label,.cp-dialog .field.invalid label{color:var(--error)}
.cp-root .field.invalid input,.cp-dialog .field.invalid input,.cp-root .field.invalid textarea,.cp-dialog .field.invalid textarea{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}
.cp-root .support,.cp-dialog .support{display:block;margin:5px 12px 0;color:var(--muted);font-size:11px;line-height:17px}
.cp-root .support:empty,.cp-dialog .support:empty{display:none}
.cp-root .invalid .support,.cp-dialog .invalid .support{color:var(--error)}
.cp-root .check-row,.cp-dialog .check-row{display:flex;align-items:center;gap:10px;min-height:48px;margin-top:10px;cursor:pointer}
.cp-root .check-hit,.cp-dialog .check-hit{position:relative;display:grid;place-items:center;flex:0 0 40px;height:48px;margin-left:-8px}
.cp-root .check-hit input,.cp-dialog .check-hit input{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:40px;height:48px;margin:0;border:0;cursor:pointer}
.cp-root .check-visual,.cp-dialog .check-visual{display:grid;place-items:center;width:18px;height:18px;border:2px solid var(--outline);border-radius:2px;pointer-events:none}
.cp-root .check-visual svg,.cp-dialog .check-visual svg{width:14px;height:14px;stroke-width:2.4;visibility:hidden}
.cp-root .check-hit input:checked+.check-visual,.cp-dialog .check-hit input:checked+.check-visual{border-color:var(--brand);background:var(--brand);color:white}
.cp-root .check-hit input:checked+.check-visual svg,.cp-dialog .check-hit input:checked+.check-visual svg{visibility:visible}
.cp-root .check-hit input:hover+.check-visual,.cp-dialog .check-hit input:hover+.check-visual{box-shadow:0 0 0 9px #006b620a}
.cp-root .check-hit input:focus-visible,.cp-dialog .check-hit input:focus-visible{outline:0}
.cp-root .check-hit input:focus-visible+.check-visual,.cp-dialog .check-hit input:focus-visible+.check-visual{outline:3px solid var(--brand);outline-offset:4px}
.cp-root .check-hit input:disabled+.check-visual,.cp-dialog .check-hit input:disabled+.check-visual{opacity:.4}
.cp-root .check-copy,.cp-dialog .check-copy{font-size:13px;line-height:20px}
.cp-root .relation-help,.cp-dialog .relation-help{margin:0 0 0 42px;color:var(--muted);font-size:11px;line-height:17px}
.cp-root .footer,.cp-dialog .footer{flex:none;padding:12px var(--space) max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.cp-root .button,.cp-dialog .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:12px 20px;border:0;border-radius:24px;font-size:14px;font-weight:650;text-decoration:none;line-height:20px;transition:background .15s}
.cp-root .button svg,.cp-dialog .button svg{width:20px;height:20px}
.cp-root .filled,.cp-dialog .filled{background:var(--brand);color:#fff}
.cp-root .filled:hover,.cp-dialog .filled:hover{background:var(--brand-dark)}
.cp-root .filled:active,.cp-dialog .filled:active{background:#003e38}
.cp-root .tonal,.cp-dialog .tonal{background:var(--brand-soft);color:var(--brand-dark)}
.cp-root .tonal:hover,.cp-dialog .tonal:hover{background:#c5e6de}
.cp-root .text,.cp-dialog .text{background:transparent;color:var(--brand)}
.cp-root .text:hover,.cp-dialog .text:hover{background:#006b620a}
.cp-root .text:active,.cp-dialog .text:active,.cp-root .tonal:active,.cp-dialog .tonal:active{background:#c5ddd5}
.cp-root .danger,.cp-dialog .danger{color:var(--error)}
.cp-root .button:disabled,.cp-dialog .button:disabled{cursor:wait;color:#626a65;background:#e4e8e5}
.cp-root .wide,.cp-dialog .wide{width:100%}
.cp-root .spinner,.cp-dialog .spinner{animation:cp-spin .8s linear infinite}
.cp-root .notice,.cp-dialog .notice{display:flex;gap:10px;padding:12px;border:1px solid #e9b9b3;border-radius:8px;background:var(--error-soft);color:#74322a;margin-bottom:20px}
.cp-root .notice svg,.cp-dialog .notice svg{width:20px;height:20px}
.cp-root .notice strong,.cp-dialog .notice strong{display:block;font-size:13px;font-weight:650}
.cp-root .notice p,.cp-dialog .notice p{margin-top:4px;font-size:12px;line-height:18px}
.cp-root .state-body,.cp-dialog .state-body{display:flex;flex-direction:column;justify-content:center}
.cp-root .state-panel,.cp-dialog .state-panel{text-align:center;padding:16px 8px}
.cp-root .state-mark,.cp-dialog .state-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}
.cp-root .state-mark svg,.cp-dialog .state-mark svg{width:32px;height:32px}
.cp-root .state-panel h4,.cp-dialog .state-panel h4{font-size:22px;line-height:30px;font-weight:650}
.cp-root .state-panel p,.cp-dialog .state-panel p{margin:10px auto 24px;color:var(--muted);font-size:13px;line-height:21px;max-width:290px}
.cp-root .saved-list,.cp-dialog .saved-list{margin-top:24px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.cp-root .saved-row,.cp-dialog .saved-row{padding:12px 0;border-bottom:1px solid var(--line)}
.cp-root .saved-row:last-child,.cp-dialog .saved-row:last-child{border:0}
.cp-root .saved-row dt,.cp-dialog .saved-row dt{font-size:12px;color:var(--muted)}
.cp-root .saved-row dd,.cp-dialog .saved-row dd{margin:4px 0 0;font-size:14px;line-height:21px;overflow-wrap:anywhere;white-space:pre-wrap}
.cp-root .result-actions,.cp-dialog .result-actions{display:grid;gap:4px}
.cp-root .dialog-actions,.cp-dialog .dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-top:24px}
.cp-root .dialog-actions .button,.cp-dialog .dialog-actions .button{font-size:13px;padding-inline:16px}
.cp-root .compare,.cp-dialog .compare{margin-top:20px;padding:14px 0;border-block:1px solid #c8d4cc}
.cp-root .compare+.compare,.cp-dialog .compare+.compare{margin-top:0;border-top:0}
.cp-root .compare h5,.cp-dialog .compare h5{margin:0 0 12px;font-size:12px;color:var(--muted);font-weight:500}
.cp-root .compare-pair,.cp-dialog .compare-pair{display:grid;gap:12px}
.cp-root .compare-pair small,.cp-dialog .compare-pair small{display:block;color:var(--muted);font-size:11px}
.cp-root .compare-pair strong,.cp-dialog .compare-pair strong{display:block;font-size:14px;font-weight:500;line-height:22px;overflow-wrap:anywhere}
.cp-root .compare-pair .mine,.cp-dialog .compare-pair .mine{color:var(--brand-dark)}
.cp-root .snackbar,.cp-dialog .snackbar{position:absolute;z-index:10;left:16px;right:16px;bottom:92px;padding:14px 16px;color:#fff;background:#29352e;border-radius:4px;font-size:13px;line-height:20px;box-shadow:0 4px 14px #17281e26;pointer-events:none}

.cp-root,.cp-dialog{font-size:14px;line-height:1.5;color:var(--ink)}
.cp-root *,.cp-dialog *{box-sizing:border-box}
.cp-root h3,.cp-root h4,.cp-root p{margin:0}
.cp-root button,.cp-root input,.cp-root textarea,.cp-dialog button{font-family:inherit;-webkit-tap-highlight-color:transparent}
.cp-root svg,.cp-dialog svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.cp-root .state-mark svg{width:32px;height:32px}.cp-root .context-line svg{width:16px;height:16px}.cp-root .button svg{width:20px;height:20px}.cp-root .check-visual svg{width:14px;height:14px}
.cp-root button,.cp-dialog button{cursor:pointer;touch-action:manipulation}
.cp-root.app-shell{display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;height:var(--visible-height,100vh);max-width:480px;margin:0 auto;padding:0;border:0;border-radius:0;background:var(--canvas);overflow:hidden;box-shadow:none}
.cp-root .topbar{position:static;min-height:65px;box-shadow:none;z-index:auto}
.cp-root .topbar h3{margin:0;flex:none}
.cp-root .body{width:100%;display:block}.cp-root .state-body{display:flex}
.cp-root .field{display:block;margin:0;padding:0;border:0}
.cp-root .field input,.cp-root .field textarea{font-family:inherit;box-shadow:none}
.cp-root .field input:not([type=checkbox]):not([type=radio]){border-radius:4px}
.cp-root .field textarea{min-height:88px;max-height:168px;border-radius:4px}
.cp-root .field:focus-within input,.cp-root .field:focus-within textarea{box-shadow:inset 0 0 0 1px var(--brand)}
.cp-root .field.invalid input,.cp-root .field.invalid textarea{box-shadow:inset 0 0 0 1px var(--error)}
.cp-root .field label{margin:0;font-weight:400;display:block}
.cp-root .check-row{gap:0}.cp-root .check-copy{margin-left:10px}
.cp-root .button:focus-visible,.cp-root .icon-button:focus-visible,.cp-dialog .button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.modal-layer.cp-modal{max-width:480px;left:50%;transform:translateX(-50%);background:#15241db8;padding:24px}
.modal-layer .cp-dialog{color:var(--ink);background:var(--canvas);border-radius:28px;padding:24px;max-width:none;max-height:calc(100% - 32px);box-shadow:0 12px 36px #15271f24}
.modal-layer .cp-dialog h2{font-size:22px;line-height:30px;font-weight:600;margin:0}
.modal-layer .cp-dialog .dialog-body>p{margin-top:12px;color:var(--muted);font-size:14px;line-height:22px}
.modal-layer .cp-dialog .dialog-actions{margin:24px 0 0;gap:0;flex-shrink:0}
.modal-layer .cp-dialog .dialog-actions>button+button{margin-left:4px}
.cp-dialog .compare-pair strong{white-space:pre-wrap}
@keyframes cp-spin{to{transform:rotate(360deg)}}
@media(max-width:360px){.cp-root,.cp-dialog{--space:14px}.modal-layer.cp-modal{padding:16px}.modal-layer .cp-dialog{padding:20px}.modal-layer .cp-dialog .dialog-actions{flex-direction:column-reverse;gap:4px}.cp-dialog .dialog-actions .button{width:100%}.modal-layer .cp-dialog .dialog-actions>button+button{margin-left:0}.cp-root .topbar{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.cp-root .button{transition:none}.cp-root .spinner{animation:none}}
