:root{--ink:#203840;--muted:#6b7c82;--line:#dde5e6;--accent:#176c70;--light:#eef6f5}*{box-sizing:border-box}body{margin:0;background:#f5f7f8;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1220px;margin:0 auto;padding:32px 24px}header{display:flex;align-items:center;gap:18px;margin-bottom:26px}header>div{flex:1}h1{font-size:29px;letter-spacing:-.8px;margin:0 0 7px}h2{font-size:18px;margin:0 0 5px}h3{font-size:16px;margin:0 0 4px}p{margin:0 0 12px;color:var(--muted)}.pill{padding:6px 12px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:11px;background:#fff}.panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:24px;margin:20px 0}.section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.section-title>div{flex:1}.section-title p{font-size:12px;margin:0}.step{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:var(--light);border-radius:8px;color:var(--accent);font-weight:700}.grid{display:grid;gap:16px}.two{grid-template-columns:1fr 1fr}.four{grid-template-columns:1fr 1.2fr 1fr 1fr}.controls{grid-template-columns:1fr 1fr 1fr 1.7fr}.folders{grid-template-columns:1fr 1fr 1fr;margin-top:12px}.align-end{display:flex;align-items:end;padding-bottom:12px}label{display:block;font-size:12px;font-weight:550;margin:0 0 12px}input,select,textarea{display:block;width:100%;background:white;border:1px solid #cad6d8;border-radius:6px;padding:10px;font:inherit;color:var(--ink);margin-top:7px;min-width:0}button,a{font:inherit}button{border:1px solid transparent;background:var(--accent);color:#fff;border-radius:6px;padding:10px 15px;font-size:12px;font-weight:600;cursor:pointer}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#fff;border-color:#cad6d8;color:var(--ink)}.quiet{background:none;color:var(--accent);border:0;text-decoration:none;font-size:12px;white-space:nowrap;padding:6px 0}.hint{font-size:11px;color:var(--muted);margin:12px 0 0}.upload{background:#fafcfc;border:1px solid var(--line);border-radius:8px;padding:19px}.upload p{font-size:12px}.upload input{font-size:12px;margin:16px 0 12px}.upload small{display:block;font-size:11px;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.tabs{display:flex;border-bottom:1px solid var(--line);gap:24px}.tab{background:none;border:0;border-radius:0;color:var(--muted);font-size:14px;padding:12px 0;border-bottom:3px solid transparent}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab span{margin-left:8px;font-size:11px;background:#eff4f4;border-radius:5px;padding:2px 7px}.notice{background:#fff8e9;border:1px solid #eee1c2;padding:12px 15px;font-size:12px;margin:20px 0;border-radius:7px;color:#806130}.notice.good{background:#f0f8f4;border-color:#d4e7dd;color:#3b7057}.totals{display:flex;gap:28px;margin:20px 0;font-size:12px;color:var(--muted)}.totals strong{font-size:22px;display:block;color:var(--ink);font-weight:600}.table-tools{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:16px}.switch{display:flex;background:#f0f4f5;border-radius:6px;padding:3px}.switch button{background:none;color:var(--muted);padding:7px 10px;font-size:11px}.switch button.active{background:white;color:var(--ink);box-shadow:0 1px 3px #20384020}.table-tools select{width:auto;margin:0;font-size:11px;padding:7px 9px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);background:#f7fafb;padding:11px 12px;white-space:nowrap;font-size:11px;font-weight:500}td{padding:14px 12px;border-bottom:1px solid #edf1f2;max-width:260px;overflow-wrap:anywhere}td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.badge{padding:3px 7px;border-radius:4px;background:#fff0d8;color:#866129;display:inline-block;font-size:10px}.badge.ok{background:#e6f4eb;color:#39764d}.badge.excluded{background:#edf0f1;color:#728089}.empty{text-align:center;padding:35px;color:var(--muted);font-size:13px}.results>.hint{margin-top:20px}footer{color:#93a1a5;font-size:11px;text-align:center;margin:22px 0}#message{position:sticky;top:10px;z-index:5;background:#e5f4ed;border:1px solid #c5e1d1;color:#305a43;padding:14px 20px;border-radius:8px;white-space:pre-wrap}#message.error{background:#fff0ed;color:#984a3a;border-color:#f2d3cc}#mail-settings{background:#f8fafb;border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:20px}.error{color:#a74736}dialog{width:calc(100% - 30px);max-width:680px;max-height:90vh;overflow:auto;padding:25px;border:1px solid var(--line);border-radius:12px;color:var(--ink)}dialog::backdrop{background:#17333d66}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.close{color:var(--muted);background:none;font-size:25px;padding:0 6px}.actions{display:flex;gap:12px;margin-top:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:250px;overflow:auto;background:#f6f8f8;padding:12px}details{margin-top:18px}summary{cursor:pointer;color:var(--muted);font-size:12px}.login{max-width:430px;margin:10vh auto}.login label{margin-top:18px}[hidden]{display:none!important}:focus-visible{outline:2px solid #44a5a5;outline-offset:3px}@media(max-width:850px){.four,.controls{grid-template-columns:1fr 1fr}.folders{grid-template-columns:1fr 1fr}.folders .align-end{grid-column:span 2}.section-title .quiet{white-space:normal}.table-tools{gap:10px}}@media(max-width:580px){main{padding:18px 12px}header{flex-wrap:wrap}h1{font-size:25px}.panel{padding:17px}.two,.four,.controls,.folders{grid-template-columns:1fr}.folders .align-end{grid-column:auto}.section-title{flex-wrap:wrap}.section-title>div{min-width:180px}.totals{gap:18px;flex-wrap:wrap}.switch{width:100%;justify-content:center}.align-end{padding:0}.table-tools select{width:100%}.actions{flex-wrap:wrap}.tabs{gap:20px}.pill{font-size:10px}}

/* Friendly, consistent navigation and visible workflow. */
:root{--ink:#24344b;--muted:#627187;--line:#e2e8f1;--accent:#3065d8;--light:#edf3ff;--incoming:#187659;--outgoing:#624ac2}
body{background:#f2f5fb;font-size:15px}main{max-width:1320px;padding:32px}header{padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 18px #23355205;flex-wrap:wrap}header p{margin-bottom:0}h1{font-size:30px;letter-spacing:-.6px}h2{font-size:20px;letter-spacing:-.3px}h3{font-size:17px}.panel{padding:28px;border-radius:18px;box-shadow:0 5px 18px #23355205;margin:22px 0}.panel>h2{margin-bottom:12px}.panel>p{line-height:1.65}.page-context{display:inline-flex;align-items:center;gap:8px;background:var(--light);color:var(--accent);padding:6px 12px;border-radius:8px;font-weight:650;font-size:13px;margin-top:8px}
body[data-page=incoming] header{border-left:6px solid var(--incoming)}body[data-page=outgoing] header{border-left:6px solid var(--outgoing)}body[data-page=incoming] .page-context{background:#e9f7ef;color:var(--incoming)}body[data-page=outgoing] .page-context{background:#f0ecff;color:var(--outgoing)}
a{color:#315daf;text-underline-offset:3px}button,.button-link,.nav-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:650;text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s}button{background:#3065d8;box-shadow:0 3px 8px #3065d819}button:hover:not(:disabled),.button-link:hover,.nav-button:hover{filter:none;box-shadow:0 4px 12px #24344b18;transform:translateY(-1px)}button:disabled{opacity:1;background:#e8edf5;color:#7a889c;box-shadow:none;cursor:not-allowed}.secondary,button[data-link]{color:#48576c;background:#f2f5fa;border:1px solid #dbe2ed;box-shadow:none}.quiet{padding:10px 14px;background:#f3f6fb;border:1px solid var(--line);border-radius:10px;color:#42536c;font-size:13px;min-height:40px}.button-link{background:#edf3ff;color:#2759bf;border:1px solid #d7e4ff}.nav-button{background:white;color:#53647c;border:1px solid var(--line);min-width:160px}.nav-incoming{color:#187659;background:#eff9f3;border-color:#d6eddf}.nav-outgoing{color:#624ac2;background:#f4f0ff;border-color:#e2daf9}.nav-mail{color:#a46413;background:#fff8e9;border-color:#f4e7c7}.nav-accounts{color:#3065a1;background:#eef5ff;border-color:#dce8fa}.nav-button[aria-current=page]{color:white;border-color:transparent;box-shadow:0 5px 12px #24344b16}.nav-incoming[aria-current=page]{background:#187659}.nav-outgoing[aria-current=page]{background:#624ac2}.nav-mail[aria-current=page]{background:#a46413}.nav-accounts[aria-current=page]{background:#3065a1}.nav-incoming::before{content:'↙';font-size:21px}.nav-outgoing::before{content:'↗';font-size:21px}.nav-mail::before{content:'✉';font-size:19px}.nav-accounts::before{content:'▦';font-size:19px}.table-tools{gap:12px}.workflow-nav{margin:24px 0;display:flex;gap:12px;flex-wrap:wrap}.workflow-nav .nav-button{flex:1}
#run{background:#624ac2;min-height:48px;padding:13px 22px}#run:disabled{background:#e8edf5;color:#7a889c}#save-cycles,#save-folders,#save{background:#187659;color:white;border:0}#load-mail{background:#a46413}#upload button{background:#3065d8}#download{display:inline-flex;background:#eaf7ef;color:#187659;border:1px solid #cee9da;padding:11px 18px;border-radius:10px;font-weight:650;margin:16px 0;min-height:44px;align-items:center;text-decoration:none}
label{font-size:13px;font-weight:650;color:#41516a}input,select,textarea{min-height:44px;border-radius:9px;border-color:#d8e1ed;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#7a9be3}input[type=checkbox]{display:inline-block;width:18px;height:18px;min-height:0;vertical-align:middle;margin:0 7px 0 0;accent-color:#3065d8}input[type=file]{background:#f7f9fd}input[type=file]::file-selector-button{background:#e9effb;border:0;border-radius:6px;padding:7px 12px;color:#315daf;font-weight:650;margin-right:10px}.hint{font-size:12px;line-height:1.65}.notice{background:#fff6e5;border-color:#f0dfb8;color:#855b15;font-size:13px;line-height:1.6}.notice:empty{display:none}#status{display:inline-block;padding:9px 13px;border-radius:9px;background:#edf3ff;color:#315daf;font-weight:600;font-size:13px}details{border:1px solid var(--line);border-radius:12px;padding:15px 18px;background:#fafcff}summary{font-size:14px;color:#405775;font-weight:650}details[open] summary{margin-bottom:14px}.step{width:36px;height:36px;border-radius:11px;font-size:16px}.step-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px!important}.step-heading .step{background:#edf3ff;color:#3065d8}.step-two .step{background:#f1ecff;color:#624ac2}.step-three .step{background:#eaf7ef;color:#187659}
.table-scroll{border:1px solid var(--line);border-radius:12px;margin-top:12px}table{font-size:13px}th{font-size:12px;font-weight:650;color:#52657d;background:#f2f5fb;padding:13px 14px}td{padding:14px;vertical-align:top}tbody tr:hover{background:#f9fbff}td button{font-size:12px;min-height:36px;padding:8px 11px;margin:3px 5px 3px 0}td p{font-size:12px}.badge{font-size:12px;border-radius:7px;padding:5px 9px}.badge.ok{background:#e6f6eb;color:#18704a}.badge.warn{background:#fff2da;color:#8b5b13}.badge.problem{background:#ffebe8;color:#ad4636}.badge.info{background:#edf1fd;color:#485bb3}#summary td:not(:first-child){font-size:24px;font-weight:700}#summary td:nth-child(4){color:#187659}#summary td:nth-child(5),#summary td:nth-child(6){color:#ad4636}.tabs{border-bottom:0;gap:12px;margin:12px 0}.tab{border:1px solid var(--line);border-radius:10px;background:#f5f8fc;padding:11px 18px;min-height:44px}.tab[data-direction=incoming]{color:#187659}.tab[data-direction=outgoing]{color:#624ac2}.tab.active[data-direction=incoming]{color:white;background:#187659;border-color:#187659}.tab.active[data-direction=outgoing]{color:white;background:#624ac2;border-color:#624ac2}.tab.active span{background:#ffffff25;color:white}.switch{padding:4px;border-radius:10px}.switch button{min-height:38px;font-size:13px;border-radius:8px}.switch button.active{color:#3065d8}#message{font-size:14px;box-shadow:0 5px 12px #23355209}dialog{border-radius:18px;padding:28px}.login{max-width:510px}.login .panel{padding:32px}.login form>button{width:100%;margin-top:10px}.login h1{font-size:27px}.login a{display:inline-block;padding:7px 0}.pill{font-size:12px;color:#187659;background:#eff9f3;border-color:#d6eddf}.totals{padding:16px 20px;background:#f6f9fe;border-radius:12px}.totals strong{font-size:26px}
@media(max-width:850px){main{padding:24px 18px}header{padding:20px}.workflow-nav .nav-button{flex-basis:40%}.four{grid-template-columns:1fr 1fr}}@media(max-width:580px){main{padding:16px 12px}header{padding:18px;gap:10px}header>div{flex-basis:100%}h1{font-size:26px}.panel{padding:20px 16px}.four,.controls{grid-template-columns:1fr}.workflow-nav{gap:8px}.workflow-nav .nav-button{min-width:0;flex-basis:44%;font-size:13px;padding:10px}.login .panel{padding:24px}.table-tools{align-items:flex-start}.tabs{gap:8px}.tab{font-size:13px;padding:10px 13px}button{max-width:100%}}
