:root{--soft:#f1f7f6;--focus:#0b766c;--success:#126b53}
.page h1:focus{outline:none}
.module-page{max-width:1180px}.module-page .page-heading{margin-bottom:28px}.module-shell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow)}
.module-step,.guided-intro{display:flex;align-items:flex-start;gap:16px;margin:8px 0 24px}.module-step>span,.guide-number{flex:0 0 36px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--teal2);color:var(--teal);font-weight:800}.module-step h2,.guided-intro h2{margin:0;color:var(--navy);font-size:22px}.module-step p,.guided-intro p{margin:3px 0;color:var(--muted)}
.file-pick{display:flex;align-items:center;gap:16px;min-height:92px;margin-bottom:10px;padding:20px;border:1.5px dashed #aebfc9;border-radius:14px;background:#fbfdfd;cursor:pointer;transition:.18s}.file-pick:hover,.file-pick:focus-within{border-color:var(--teal);background:var(--soft)}.file-pick input{position:absolute;opacity:0;width:1px;height:1px}.file-pick-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--teal2);color:var(--teal);font-size:24px}.file-pick b,.file-pick small{display:block}.file-pick small{color:var(--muted);margin-top:3px}
.rule-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.rule-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff;transition:.18s}.rule-card:hover{border-color:#9dcfc8;box-shadow:0 10px 28px #17324b0c}.rule-card-head{display:flex;gap:13px}.rule-card-head>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;background:var(--teal2);color:var(--teal);font-weight:800}.rule-card h3{margin:0;color:var(--navy);font-size:17px}.rule-card p{margin:3px 0;color:var(--muted);font-size:14px}.rule-options{display:grid;gap:8px;margin-top:16px}.rule-options label{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;background:#f8fafb;font-size:14px;cursor:pointer}.rule-options label:has(input:checked){background:var(--teal2);color:#075f57}.rule-options input,.confirm-row input{accent-color:var(--teal);width:17px;height:17px}.duplicate-config{margin-bottom:20px}.field-label{display:grid;gap:7px;margin-top:16px;font-size:13px;font-weight:700}.field-label input,.suggestion-grid input,.workflow-builder input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}
.module-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.action-explanation{margin-right:auto;color:var(--muted);font-size:14px}.preview-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.cleanup-report{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fix-list{grid-column:1/-1;padding:20px;border-radius:12px;background:#f8fbfb}.fix-list h3{margin-top:0}.fix-list ul{list-style:none;padding:0;margin:0}.fix-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.fix-list li:last-child{border:0}.confirm-row{display:flex;gap:10px;align-items:flex-start;margin:20px 0;padding:15px;border-radius:10px;background:#fff8e8}.success-panel{margin-top:18px;padding:18px;border:1px solid #a8d8c8;border-radius:12px;background:#eef9f5;color:var(--success)}.success-panel>div{display:flex;gap:8px;margin-top:12px}
.price-steps{margin-top:0}.guided-intro{padding:18px;border-radius:13px;background:#f8fbfb}.selection-state{display:flex;align-items:center;gap:10px;margin-top:12px}.selection-state b{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.suggestion-grid{padding:20px;border:1px solid var(--line);border-radius:13px;background:#fff}.suggestion-grid label{display:grid;gap:6px}.suggestion-grid input{margin:0}.export-actions{display:flex;gap:8px;flex-wrap:wrap}.button:disabled{opacity:.55}.button:disabled+*{color:var(--muted)}
.workflow-builder{border-radius:18px!important;padding:30px!important}.workflow-builder>label{display:grid;gap:7px}.workflow-builder fieldset{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:12px}.workflow-builder fieldset label{display:inline-flex;gap:8px;margin:8px 18px 8px 0}.workflow-builder #workflowStatus:not(:empty){margin-top:16px;padding:12px;border-radius:9px;background:var(--teal2);color:#075f57}.workspace-history:empty,#workflowHistory:empty{display:block;min-height:92px;border:1px dashed var(--line);border-radius:14px;background:linear-gradient(135deg,#fff,#f6fbfa)}
.sample-result{outline:3px solid #c5ebe5;outline-offset:5px}.sample-result:before{content:attr(data-sample-label);display:inline-block;margin-bottom:12px;padding:5px 9px;border-radius:99px;background:var(--teal2);color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.1em}
@media(max-width:760px){.rule-groups{grid-template-columns:1fr}.module-shell{padding:20px}.cleanup-report{grid-template-columns:repeat(2,1fr)}.module-actions{align-items:stretch;flex-direction:column}.module-actions .button{width:100%}.action-explanation{margin:0}.selection-state{align-items:flex-start;flex-direction:column}.success-panel>div{flex-direction:column}.price-steps{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:no-preference){.rule-card,.file-pick,.button{transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.button:not(:disabled):active{transform:translateY(1px)}}
