.at-wrap{--at-navy:#1B2F45;--at-navy-2:#24405e;--at-orange:#F28C28;--at-ink:#1d2430;--at-muted:#5f6b7a;--at-line:#e3e7ec;--at-bg:#f6f7f9;--at-ok:#1f8f4e;--at-bad:#c2362d;--at-warn:#b7791f;--at-gap:#d08a1f;--at-tip:#2f6fb5;font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--at-ink);max-width:1120px;margin:0 auto;padding:48px 20px;line-height:1.55;font-size:16px}
.at-wrap *{box-sizing:border-box}
.at-wrap h2,.at-wrap h3,.at-wrap h4{font-family:'roc-grotesk','Manrope',sans-serif;color:var(--at-navy);line-height:1.15;margin:0 0 10px;letter-spacing:-.01em}
.at-wrap h2{font-size:clamp(26px,3.2vw,36px)}
.at-wrap h2 small{font-family:'Manrope',sans-serif;font-weight:500;color:var(--at-muted);font-size:.5em;letter-spacing:0}
.at-wrap h3{font-size:22px}
.at-wrap h4{font-size:16px;margin:0 0 8px}
.at-wrap p{margin:0 0 12px}
.at-eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--at-orange);font-weight:700;margin-bottom:10px}
.at-link{color:var(--at-navy);text-decoration:underline;text-underline-offset:3px;font-size:14px;background:none;border:0;cursor:pointer}
.at-note{color:var(--at-muted);font-size:14px}
.at-disclaimer{color:var(--at-muted);font-size:13px;border-top:1px solid var(--at-line);padding-top:12px;margin-top:20px}
.at-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* alerts */
.at-alert{padding:14px 16px;border-radius:8px;font-size:15px;margin:0 0 20px;border:1px solid transparent}
.at-alert--ok{background:#eaf7ef;border-color:#bfe3cd;color:#14603a}
.at-alert--bad{background:#fdeeec;border-color:#f3c4bf;color:#8a221b}
.at-alert--warn{background:#fff7e8;border-color:#f3dfb5;color:#6e4a0e}
.at-alert p{margin:6px 0 0}

/* auth */
.at-auth{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.at-auth__intro p{color:var(--at-muted);font-size:17px}
.at-list{list-style:none;padding:0;margin:20px 0 0}
.at-list li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid var(--at-line)}
.at-list li::before{content:'';position:absolute;left:0;top:15px;width:14px;height:14px;border-radius:50%;background:var(--at-orange)}
.at-auth__card{background:#fff;border:1px solid var(--at-line);border-radius:14px;padding:28px;box-shadow:0 10px 40px rgba(27,47,69,.06)}
.at-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.at-tabs--auth{border-bottom:1px solid var(--at-line);gap:0}
.at-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font:inherit;font-weight:600;color:var(--at-muted);cursor:pointer;border-radius:0}
.at-tab.is-active{color:var(--at-navy);border-bottom-color:var(--at-orange)}
.at-tabs--tools{border-bottom:1px solid var(--at-line);margin:28px 0 28px}
.at-tabs--tools .at-tab{padding:12px 16px}
.at-pane{display:none}.at-pane.is-active{display:block}

/* forms */
.at-form label{display:block;font-size:14px;font-weight:600;color:var(--at-navy);margin-bottom:14px}
.at-form label small{font-weight:400;color:var(--at-muted)}
.at-form input:not([type=checkbox]),.at-form select,.at-form textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd6de;border-radius:8px;font:inherit;font-size:15px;font-weight:400;color:var(--at-ink);background:#fff}
.at-form input[type=file]{padding:9px 10px;background:var(--at-bg)}
.at-form input:focus,.at-form select:focus,.at-form textarea:focus{outline:2px solid rgba(242,140,40,.45);outline-offset:1px;border-color:var(--at-orange)}
.at-check{display:flex!important;align-items:center;gap:8px;font-weight:500!important}
.at-check input{width:auto!important;margin:0!important}
.at-form--grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.at-span2{grid-column:1/-1}
.at-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 0}
.at-status{font-size:14px;color:var(--at-muted)}
.at-status.is-busy::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #cfd6de;border-top-color:var(--at-orange);border-radius:50%;margin-right:8px;vertical-align:-2px;animation:at-spin .8s linear infinite}
@keyframes at-spin{to{transform:rotate(360deg)}}

.at-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:8px;font:inherit;font-weight:700;font-size:15px;cursor:pointer;border:1px solid var(--at-navy);background:#fff;color:var(--at-navy);text-decoration:none;transition:background .15s,color .15s}
.at-btn:hover{background:var(--at-navy);color:#fff}
.at-btn--primary{background:var(--at-navy);color:#fff;border-color:var(--at-navy)}
.at-btn--primary:hover{background:var(--at-orange);border-color:var(--at-orange)}
.at-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.at-btn--ghost:hover{background:#fff;color:var(--at-navy)}
.at-btn--small{padding:8px 14px;font-size:13px}
.at-btn:disabled{opacity:.55;cursor:default}
.at-form .at-btn{width:100%;margin-top:6px}
.at-form--grid .at-btn{width:auto;margin:0}
.at-form .at-link{display:inline-block;margin-top:14px}

.at-card{background:#fff;border:1px solid var(--at-line);border-radius:14px;padding:32px}
.at-card--center{text-align:center;max-width:560px;margin:0 auto}

/* portal */
.at-portal__head{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--at-navy);color:#fff;border-radius:14px;padding:28px 32px}
.at-portal__head h2{color:#fff;margin:0}
.at-portal__head h2 small{color:rgba(255,255,255,.6)}
.at-portal__head .at-link{color:#fff}
.at-credits{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.at-credits__num{display:flex;align-items:baseline;gap:6px;font-family:'roc-grotesk','Manrope',sans-serif;font-size:34px;font-weight:600;line-height:1}
.at-credits__num small{font-size:13px;font-weight:500;color:rgba(255,255,255,.65);font-family:'Manrope',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.at-portal .at-alert--warn{margin-top:18px}
.at-tool{display:none}.at-tool.is-active{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px;align-items:start}
.at-tool__intro p{color:var(--at-muted);font-size:15px}
.at-cost{font-size:14px;color:var(--at-ink)!important;background:var(--at-bg);padding:10px 12px;border-radius:8px}
.at-tool form{background:#fff;border:1px solid var(--at-line);border-radius:14px;padding:24px}
.at-result{grid-column:1/-1}
.at-result:empty{display:none}
.at-result{background:#fff;border:1px solid var(--at-line);border-radius:14px;padding:28px;margin-top:4px}

/* result blocks */
.at-verdict{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:10px;margin-bottom:20px;border-left:5px solid var(--at-navy);background:var(--at-bg)}
.at-verdict__label{font-family:'roc-grotesk','Manrope',sans-serif;font-size:20px;font-weight:600;color:var(--at-navy)}
.at-verdict__counts{color:var(--at-muted);font-size:14px}
.at-verdict--invalid{border-left-color:var(--at-bad)}
.at-verdict--incomplete{border-left-color:var(--at-gap)}
.at-verdict--complete_with_tips{border-left-color:var(--at-tip)}
.at-verdict--complete{border-left-color:var(--at-ok)}
.at-kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 24px;margin-bottom:18px}
.at-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--at-line);font-size:14px}
.at-kv__k{color:var(--at-muted);text-transform:capitalize}
.at-kv__v{font-weight:600;text-align:right}
.at-kv--total{grid-column:1/-1;font-size:17px;border-bottom:0;border-top:2px solid var(--at-navy);margin-top:6px}
.at-kv--total .at-kv__k{color:var(--at-navy);font-weight:700}
.at-landed,.at-block,.at-findings,.at-correction{margin-top:22px}
.at-finding{padding:12px 14px;border:1px solid var(--at-line);border-radius:8px;margin-bottom:8px;border-left-width:4px}
.at-findings--error .at-finding{border-left-color:var(--at-bad)}
.at-findings--gap .at-finding{border-left-color:var(--at-gap)}
.at-findings--tip .at-finding{border-left-color:var(--at-tip)}
.at-findings h4{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;color:#fff;background:var(--at-navy)}
.at-findings--error h4{background:var(--at-bad)}.at-findings--gap h4{background:var(--at-gap)}.at-findings--tip h4{background:var(--at-tip)}
.at-finding__msg{font-weight:600}
.at-finding__fix{font-size:14px;color:var(--at-ink);margin-top:4px}
.at-finding__meta{font-size:13px;color:var(--at-muted);margin-top:4px}
.at-correction pre{white-space:pre-wrap;font:inherit;font-size:14px;background:var(--at-bg);padding:14px;border-radius:8px;margin:0 0 10px}
.at-summary{font-size:17px;color:var(--at-ink)}
.at-tree{margin:0;padding-left:20px;font-size:14px}
.at-tree li{margin-bottom:4px}
.at-flags{font-weight:600;color:var(--at-warn)}
.at-doc{padding:14px 0;border-bottom:1px solid var(--at-line)}
.at-doc__top{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.at-doc__regime,.at-doc__cond{font-size:13px;color:var(--at-muted);margin-top:4px}
.at-doc blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--at-line);font-size:13px;color:var(--at-muted);font-style:italic}
.at-doc__meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--at-muted);margin-top:6px}
.at-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:#e9edf2;color:var(--at-navy);white-space:nowrap;margin-top:2px}
.at-badge--verplicht-EU,.at-badge--verplicht-NL{background:#fdeeec;color:#8a221b}
.at-badge--indien-van-toepassing{background:#fff7e8;color:#6e4a0e}

/* modal */
.at-modal{position:fixed;inset:0;background:rgba(27,47,69,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.at-modal[hidden]{display:none}
.at-modal__box{background:#fff;border-radius:14px;padding:32px;max-width:480px;width:100%;position:relative}
.at-modal__close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:var(--at-muted)}

@media (max-width:860px){
	.at-auth{grid-template-columns:1fr;gap:28px}
	.at-tool.is-active{grid-template-columns:1fr;gap:20px}
	.at-form--grid{grid-template-columns:1fr}
	.at-portal__head{padding:22px}
	.at-wrap{padding:28px 16px}
	.at-tabs--tools .at-tab{padding:10px 10px;font-size:14px}
}
