:root { --ink:#071b31; --mint:#53d4bd; --paper:#f7f7f2; --line:#d9dfdf; --muted:#65717c; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --serif:Georgia,"Times New Roman",serif; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at 75% 10%,#dff8f2 0,transparent 34%),var(--paper); font-family:var(--sans); }
a { color:inherit; }
.auth-header { max-width:1080px; margin:auto; padding:26px 28px; display:flex; align-items:center; justify-content:space-between; }
.auth-brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-weight:800; text-decoration:none; }
.auth-brand > span { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:var(--mint); background:var(--ink); font-family:var(--serif); }
.auth-main { min-height:calc(100vh - 88px); padding:54px 20px; display:grid; place-items:start center; }
.auth-card { width:min(100%,460px); padding:42px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.94); box-shadow:0 22px 70px rgba(7,27,49,.11); }
.auth-kicker,.profile-card p { margin:0 0 12px; color:#188f80; font-size:11px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
.auth-card h1,.profile-card h1 { margin:0; font:400 46px/1 var(--serif); letter-spacing:-1.7px; }
.auth-lead { margin:18px 0 28px; color:var(--muted); line-height:1.65; }
.google-button { min-height:54px; padding:0 20px; display:flex; align-items:center; justify-content:center; gap:13px; border:1px solid #b9c2c9; border-radius:4px; background:#fff; font-weight:700; text-decoration:none; box-shadow:0 2px 4px rgba(7,27,49,.05); }
.google-button:hover { border-color:#168f80; background:#fbfffe; }
.google-button svg { width:21px; height:21px; flex:none; }
.auth-error { margin:0 0 18px; padding:12px 14px; border:1px solid #e9b4b4; border-radius:4px; color:#8a2525; background:#fff1f1; font-size:14px; }
.auth-success { margin:0 0 18px; padding:12px 14px; border:1px solid #a8d9cf; border-radius:4px; color:#14685f; background:#edf9f6; font-size:14px; }
.local-auth-form { display:grid; gap:8px; }
.local-auth-form label { margin-top:7px; color:#344759; font-size:12px; font-weight:750; }
.local-auth-form input,.resend-form input { width:100%; height:46px; padding:0 13px; border:1px solid #b9c4c8; border-radius:4px; background:#fff; color:var(--ink); font:inherit; }
.local-auth-form input:focus,.resend-form input:focus { border-color:#168f80; outline:2px solid #d9f5ef; }
.local-auth-form button,.resend-form button { min-height:47px; margin-top:10px; border:0; border-radius:4px; color:#fff; background:var(--ink); font-weight:750; cursor:pointer; }
.local-auth-form small { color:var(--muted); font-size:11px; }
.auth-divider { margin:21px 0; display:flex; align-items:center; gap:13px; color:#899399; font-size:11px; text-transform:uppercase; }
.auth-divider::before,.auth-divider::after { height:1px; flex:1; content:""; background:#dde2e3; }
.register-panel,.resend-panel { margin-top:20px; border-top:1px solid #e2e6e6; }
.register-panel summary,.resend-panel summary { padding-top:17px; color:#197d72; font-size:13px; font-weight:750; cursor:pointer; }
.register-panel form,.resend-panel form { margin-top:14px; }
.privacy-check { display:flex!important; align-items:flex-start; gap:9px; line-height:1.45; }
.privacy-check input { width:17px; height:17px; margin-top:2px; flex:none; }
.resend-form { display:grid; grid-template-columns:1fr auto; gap:8px; }
.resend-form button { min-width:90px; margin:0; }
.auth-privacy { margin:20px 0; color:var(--muted); font-size:12px; line-height:1.6; }
.back-link { color:#28786f; font-size:13px; font-weight:700; text-decoration:none; }
.account-action { padding:9px 14px; border:1px solid #aebfbc; border-radius:3px; font-size:13px; font-weight:700; text-decoration:none; }
.account-main { width:min(calc(100% - 40px),960px); margin:36px auto 80px; display:grid; gap:22px; }
.profile-card,.reports-card { padding:30px; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 12px 44px rgba(7,27,49,.06); }
.profile-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; }
.profile-card img,.profile-placeholder { width:66px; height:66px; border-radius:50%; object-fit:cover; }
.profile-placeholder { display:grid; place-items:center; color:var(--mint); background:var(--ink); font:400 30px var(--serif); }
.profile-card h1 { font-size:32px; }
.profile-card div > span { color:var(--muted); font-size:14px; }
.profile-card form button { padding:9px 13px; border:1px solid #bcc6ca; border-radius:3px; background:#fff; color:var(--ink); cursor:pointer; }
.reports-card h2 { margin:0 0 20px; font:400 30px var(--serif); }
.empty-reports { margin:0; color:var(--muted); }
.report-model-filters { margin:-4px 0 20px; display:flex; gap:7px; overflow-x:auto; scrollbar-width:thin; }
.report-model-filters[hidden] { display:none; }
.report-model-filters button { min-height:38px; padding:7px 12px; display:inline-flex; align-items:center; gap:8px; flex:none; border:1px solid #c7d1d0; border-radius:999px; color:#405363; background:#fff; font:750 12px var(--sans); cursor:pointer; }
.report-model-filters button:hover { border-color:#168f80; }
.report-model-filters button.active { border-color:var(--ink); color:#fff; background:var(--ink); }
.report-model-filters strong { min-width:20px; height:20px; padding:0 6px; display:grid; place-items:center; border-radius:999px; color:#25534e; background:#e5f3f0; font-size:10px; }
.report-model-filters button.active strong { color:var(--ink); background:var(--mint); }
.account-reports { display:grid; gap:14px; }
.account-reports[hidden] { display:none; }
.report-list-item { padding:22px; border:1px solid #dde4e3; border-radius:6px; background:#fcfefd; }
.report-list-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.report-list-head > div { min-width:0; }
.report-list-date { display:block; margin-bottom:5px; color:var(--muted); font-size:11px; }
.report-list-head h3 { margin:0 0 7px; font:400 25px/1.15 var(--serif); }
.report-list-head h3 a { text-decoration:none; }
.report-list-head h3 a:hover { color:#147f72; text-decoration:underline; text-underline-offset:3px; }
.report-list-head code { color:#405363; font:600 12px/1.3 var(--sans); letter-spacing:.7px; }
.report-state { padding:6px 9px; flex:none; border-radius:999px; color:#6b5a25; background:#fff2bf; font-size:11px; font-weight:800; }
.report-state.complete { color:#12695f; background:#dff5ef; }
.account-progress { margin:17px 0 0; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.account-progress span { height:5px; border-radius:999px; background:#dce3e2; }
.account-progress span.done { background:#53d4bd; }
.account-progress span.active { background:#168f80; animation:progress-pulse 1.4s ease-in-out infinite; }
.account-progress span.failed { background:#c44d4d; animation:none; }
@keyframes progress-pulse { 50% { opacity:.42; } }
.report-list-stats { margin:18px 0; padding:12px 0; display:flex; flex-wrap:wrap; gap:12px 22px; border-top:1px solid #e6ebea; border-bottom:1px solid #e6ebea; color:var(--muted); font-size:12px; }
.report-list-stats strong { color:var(--ink); }
.report-list-actions { display:flex; flex-wrap:wrap; gap:9px; }
.report-list-actions a { padding:9px 12px; border:1px solid #b8c7c4; border-radius:3px; color:#126f65; font-size:12px; font-weight:750; text-decoration:none; }
.report-list-actions a:hover { border-color:#168f80; background:#f1fbf8; }
.report-list-actions .report-open { border-color:var(--ink); color:#fff; background:var(--ink); }
.report-list-actions .report-open:hover { color:var(--ink); background:var(--mint); }
.report-list-actions .report-archive { margin-left:auto; padding:9px 12px; border:1px solid #c5cecc; border-radius:3px; color:#59666f; background:#fff; font:750 12px var(--sans); cursor:pointer; }
.report-list-actions .report-archive:hover { border-color:#7f918e; color:var(--ink); background:#f3f6f5; }
.report-list-actions .report-archive:disabled { opacity:.55; cursor:wait; }
.report-list-actions[hidden] { display:none; }
.package-email-form { width:100%; margin-top:7px; padding-top:15px; display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,.65fr) auto; align-items:end; gap:9px; border-top:1px solid #e1e7e6; }
.package-email-form label { display:grid; gap:5px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.package-email-form input,.package-email-form select { width:100%; height:40px; padding:0 10px; border:1px solid #b8c7c4; border-radius:3px; background:#fff; color:var(--ink); font:500 12px var(--sans); }
.package-email-form button { min-height:40px; padding:0 13px; border:0; border-radius:3px; color:#fff; background:#126f65; font-weight:750; cursor:pointer; }
.package-email-form output { grid-column:1/-1; color:#126f65; font-size:12px; }
.package-email-form output.error { color:#9b3030; }
.account-toast { position:fixed; z-index:20; right:22px; bottom:22px; max-width:390px; padding:16px 19px; border-radius:4px; color:#fff; background:#0b766a; box-shadow:0 14px 45px rgba(7,27,49,.25); font-size:13px; font-weight:750; }
.account-toast[hidden] { display:none; }
@media (max-width:620px) { .auth-card{padding:30px 22px}.auth-card h1{font-size:40px}.profile-card{grid-template-columns:auto 1fr}.profile-card form{grid-column:1/-1}.account-main{width:calc(100% - 24px)}.reports-card{padding:20px 16px}.report-list-item{padding:17px}.report-list-head{display:grid}.report-state{justify-self:start}.report-list-actions{display:grid}.report-list-actions a{text-align:center}.report-list-actions .report-archive{width:100%;margin-left:0}.package-email-form{grid-template-columns:1fr}.package-email-form output{grid-column:1}.account-toast{right:12px;bottom:12px;left:12px;max-width:none} }
