.sn-portal{--sn-accent:#176a70;--sn-ink:#192b38;--sn-muted:#61717b;color:var(--sn-ink);font-family:inherit;max-width:1080px;margin:28px auto 80px;padding:0 18px;box-sizing:border-box}
.sn-portal *{box-sizing:border-box}
.sn-portal-head{padding:32px 34px;border-radius:20px;background:linear-gradient(115deg,#e2f3f0,#f1f7fa 72%,#f6fbfa);margin-bottom:22px}
.sn-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sn-accent);margin-bottom:12px}
.sn-portal h1{font-size:clamp(27px,4vw,43px);line-height:1.15;margin:0 0 12px;color:#122e36}
.sn-portal-head p{max-width:670px;color:#526973;margin:0;font-size:16px}
.sn-portal h2{font-size:21px;color:#203a44;margin:0 0 12px}
.sn-portal h3{font-size:16px;color:#203a44;margin:0 0 5px}
.sn-card{padding:27px 30px;background:#fff;border:1px solid #e2e9ee;box-shadow:0 8px 30px rgba(15,48,60,.04);border-radius:18px;margin:20px 0}
.sn-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:3px 6px 10px}
.sn-toolbar small{color:#61717b}
.sn-outline{padding:8px 15px;border:1px solid #cad7da;border-radius:10px;text-decoration:none!important;color:var(--sn-accent)!important;font-weight:600}
.sn-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 22px}
.sn-stats>div{border:1px solid #e3ebed;background:#fff;padding:23px;border-radius:15px}
.sn-stats strong{display:block;font-size:31px;line-height:1.1;color:var(--sn-accent)}
.sn-stats span{display:block;color:#566b77;font-size:13px;margin-top:6px}
.sn-case,.sn-document{border-top:1px solid #e7ebed;padding:19px 0}
.sn-case:last-child,.sn-document:last-child{padding-bottom:0}
.sn-case-row,.sn-doc-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.sn-case-row strong{font-size:18px;color:var(--sn-accent)}
.sn-progress{height:10px;border-radius:10px;background:#e7eeee;overflow:hidden;margin-top:15px}
.sn-progress span{display:block;height:100%;background:var(--sn-accent);border-radius:10px}
.sn-muted{color:var(--sn-muted);font-size:13px}
.sn-status{font-size:12px;font-weight:750;padding:6px 10px;color:#17616b;border-radius:100px;background:#e8f4f3;white-space:nowrap}
.sn-document p{margin:11px 0}
.sn-upload{padding:17px;background:#f7fafb;border-radius:12px;border:1px solid #e3edf0;margin:15px 0 0}
.sn-upload label{display:block;font-weight:700;margin-bottom:10px;font-size:14px}
.sn-upload input[type=file]{display:block;width:100%;font-size:14px;margin-bottom:13px}
.sn-upload button,.sn-login input[type=submit]{background:var(--sn-accent)!important;color:#fff!important;border:none!important;border-radius:9px!important;padding:11px 18px!important;font-weight:700;cursor:pointer;line-height:1.3}
.sn-notice{border-left:4px solid var(--sn-accent);padding:13px 17px;background:#edf9f6;border-radius:8px;margin:16px 0}
.sn-alert{color:#8c4913!important;font-size:14px}
.sn-payment{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:15px 0;border-top:1px solid #e7ebed}
.sn-payment strong{font-size:16px}
.sn-payment .sn-muted{display:block;margin-top:5px}
.sn-login{max-width:520px;margin:18px auto}
.sn-login form p{margin:12px 0}
.sn-login form label{display:block;margin-bottom:4px}
.sn-login form input.input{width:100%;padding:12px;border:1px solid #c8d4db;border-radius:9px;min-height:45px}
.sn-login .login-remember label{display:flex;align-items:center;gap:5px}
.sn-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:18px 0 0}
.sn-field dt{font-size:12px;color:#61717b;font-weight:700}
.sn-field dd{margin:4px 0;font-size:14px}
.sn-disclaimer{font-size:12px;color:#657982;max-width:780px;margin-top:26px}
@media(max-width:650px){.sn-portal{padding:0 10px;margin-top:16px}.sn-portal-head{padding:24px 20px}.sn-card{padding:21px 18px}.sn-stats{grid-template-columns:1fr 1fr;gap:9px}.sn-stats>div{padding:16px}.sn-stats>div:last-child{grid-column:1/-1}.sn-extra{grid-template-columns:1fr}}
