:root{--bg: #f7f9fb;--surface: #ffffff;--border: #d8dee5;--text: #1b2733;--muted: #5a6b7b;--primary: #0d6e6e;--primary-h: #095454;--accent: #c2410c;--danger: #b91c1c;--ok: #15803d;--radius: 8px;--radius-lg: 12px;--spacing: .25rem;--fs-xs: .7rem;--fs-sm: .8rem;--fs-md: .85rem;--fs-base: .9rem;--fs-lg: 1rem;--fs-xl: 1.1rem;--fs-2xl: 1.5rem;--fs-3xl: 2rem;--lh-tight: 1.2;--lh-base: 1.5;--min-touch: 44px;--min-touch-sm: 32px;--color-on-primary: #fff;--color-on-danger: #fff;--color-hover-bg: #eef2f5;--color-active-bg: #ecfdfd}*{box-sizing:border-box}html,body{overflow-x:hidden}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:var(--lh-base);margin:0;font-size:16px}h1,h2,h3{line-height:var(--lh-tight);margin:0 0 calc(var(--spacing) * 2)}h1{font-size:clamp(1.5rem,4vw,var(--fs-3xl))}h2{font-size:clamp(1.2rem,3vw,var(--fs-2xl))}h3{font-size:var(--fs-xl)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1080px;margin:0 auto;padding:calc(var(--spacing) * 4);display:flex;flex-direction:column;gap:calc(var(--spacing) * 4)}.stack{display:flex;flex-direction:column;gap:calc(var(--spacing) * 3)}.row{display:flex;gap:calc(var(--spacing) * 3);flex-wrap:wrap;align-items:end}.row>*{flex:1 1 180px}.center{text-align:center}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 4);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);font:inherit;cursor:pointer;min-height:var(--min-touch);text-decoration:none}.btn:hover{border-color:var(--muted)}.btn--primary{background:var(--primary);color:var(--color-on-primary);border-color:var(--primary)}.btn--primary:hover{background:var(--primary-h);border-color:var(--primary-h)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--color-hover-bg)}.btn--danger{background:var(--danger);color:var(--color-on-danger);border-color:var(--danger)}.btn--danger:hover{filter:brightness(.9)}.btn--sm{padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);min-height:var(--min-touch-sm);font-size:var(--fs-md)}.btn--icon{padding:0;flex:0 0 var(--min-touch);width:var(--min-touch);height:var(--min-touch)}.btn--sm.btn--icon{flex-basis:var(--min-touch-sm);width:var(--min-touch-sm);height:var(--min-touch-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select,.textarea{width:100%;padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--text);min-height:var(--min-touch)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.textarea{min-height:8rem;resize:vertical}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6b7b' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(var(--spacing) * 3) center;padding-right:calc(var(--spacing) * 8)}.field{margin-bottom:calc(var(--spacing) * 4)}.field>label{display:block;font-weight:600;margin-bottom:calc(var(--spacing) * 1);font-size:var(--fs-base)}.field>.hint{color:var(--muted);font-size:var(--fs-sm);margin-top:calc(var(--spacing) * 1)}.field--req>label:after{content:" *";color:var(--danger)}.field--error>label{color:var(--danger)}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--danger)}.field--error .input:focus,.field--error .select:focus,.field--error .textarea:focus{outline-color:var(--danger);border-color:var(--danger)}.field__error{color:var(--danger);font-size:var(--fs-sm);margin-top:calc(var(--spacing) * 1);display:flex;align-items:center;gap:calc(var(--spacing) * 1)}.card{padding:0}.card>h2{border-bottom:1px solid var(--border);padding-bottom:calc(var(--spacing) * 2)}.card--list{padding:calc(var(--spacing) * 4) 0;border-bottom:1px solid var(--border)}.card--clickable{padding:calc(var(--spacing) * 4) 0;border-bottom:1px solid var(--border);cursor:pointer}.card--clickable:hover{background:var(--bg)}.card--danger{border-left:3px solid var(--danger);padding-left:calc(var(--spacing) * 4)}.badge{display:inline-block;padding:calc(var(--spacing) * .5) calc(var(--spacing) * 2);border-radius:999px;font-size:var(--fs-sm);font-weight:600;background:var(--color-hover-bg);color:var(--muted);white-space:nowrap}.badge--rising{background:#dcfce7;color:var(--ok)}.badge--falling{background:#dbeafe;color:#1d4ed8}.badge--accent{background:#ffedd5;color:var(--accent)}.alert{padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin-bottom:calc(var(--spacing) * 4)}.alert--error{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.alert--ok{background:#f0fdf4;border-color:#bbf7b0;color:var(--ok)}.alert--info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table th,.table td{text-align:left;padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 3);border-bottom:1px solid var(--border)}.table th{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table tr:hover{background:var(--bg)}.table .input,.table .select{width:100%;min-width:0}.table td:has(>.btn--icon){width:var(--min-touch-sm)}.nav{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:100;flex-wrap:wrap}.nav__brand{font-weight:700;font-size:var(--fs-xl);color:var(--primary)}.nav__links{display:flex;align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap}.nav a:not(.btn){color:var(--text);text-decoration:none;padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);border-radius:var(--radius);min-height:var(--min-touch);display:inline-flex;align-items:center}.nav a:not(.btn):hover{background:var(--color-hover-bg);color:var(--primary);text-decoration:none}.nav a:not(.btn).is-active{color:var(--primary);font-weight:600;background:var(--color-active-bg)}.nav .btn--sm{min-height:var(--min-touch)}.nav__burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:calc(var(--spacing) * 2);min-height:var(--min-touch);justify-content:center}.nav__burger span{display:block;width:24px;height:3px;background:var(--text);border-radius:2px;transition:transform .2s,opacity .2s}.nav__toggle:checked~.nav__burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav__toggle:checked~.nav__burger span:nth-child(2){opacity:0}.nav__toggle:checked~.nav__burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{text-align:center;padding:calc(var(--spacing) * 12) calc(var(--spacing) * 4)}.hero h1{margin-bottom:calc(var(--spacing) * 3)}.hero p{color:var(--muted);max-width:32rem;margin:0 auto calc(var(--spacing) * 6)}.pagination{display:flex;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2)}.pagination .btn{min-height:36px;padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 3)}.catch-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:calc(var(--spacing) * 2);align-items:end}.catch-row .btn{min-height:var(--min-touch)}.empty{text-align:center;padding:calc(var(--spacing) * 10) calc(var(--spacing) * 4);color:var(--muted)}.empty__title{font-size:var(--fs-xl);margin-bottom:calc(var(--spacing) * 2);color:var(--text)}.footer{text-align:center;color:var(--muted);font-size:var(--fs-md);padding:calc(var(--spacing) * 8) calc(var(--spacing) * 4);border-top:1px solid var(--border);margin-top:calc(var(--spacing) * 8)}.footer a{color:var(--muted)}.footer a:hover{color:var(--primary)}.radio-group{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 3)}.radio-group label{display:inline-flex;align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--fs-base);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:var(--min-touch);background:var(--surface)}.radio-group input[type=radio]{margin:0}.radio-group label:has(input:checked){border-color:var(--primary);background:var(--color-active-bg)}.tag-input{position:relative}.tag-input__list{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:calc(var(--spacing) * 1);max-height:200px;overflow-y:auto;z-index:20;box-shadow:0 4px 12px #00000014;display:none}.tag-input__list--open{display:block}.tag-input__option{padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);cursor:pointer;border-bottom:1px solid var(--border)}.tag-input__option:last-child{border-bottom:none}.tag-input__option:hover{background:var(--color-hover-bg)}@media(max-width:640px){.row>*{flex:1 1 100%}.catch-row{grid-template-columns:1fr}.card--list{padding:calc(var(--spacing) * 3) 0}.card--list .card__title{font-size:var(--fs-lg)}.card--list .card__subtitle{font-size:var(--fs-md)}.card--list .badge{font-size:var(--fs-xs)}.card--list .small{font-size:var(--fs-sm)}.table{font-size:var(--fs-md)}.table th{font-size:var(--fs-xs)}.table th,.table td{padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2)}.nav{padding-left:0;padding-right:0}.nav__brand{padding-left:calc(var(--spacing) * 4);padding-right:calc(var(--spacing) * 4)}.nav__burger{margin-right:calc(var(--spacing) * 4)}.nav__burger{display:flex}.nav__backdrop{display:none;position:fixed;inset:0;z-index:90;background:#0000004d}.nav__backdrop.is-open{display:block}.nav__links{display:none;flex-direction:column;align-items:stretch;width:100%;gap:calc(var(--spacing) * 1);padding:calc(var(--spacing) * 2) calc(var(--spacing) * 4);background:var(--surface);position:absolute;top:100%;left:0;right:0;z-index:100;box-shadow:0 4px 12px #0000001a}.nav__links>*{width:100%}.nav__links .form--inline{display:block}.nav__links .btn{justify-content:center;width:100%}.nav__toggle:checked~.nav__links{display:flex}}.success-screen,.verify-screen{text-align:center;padding:calc(var(--spacing) * 6) calc(var(--spacing) * 2)}.success-screen h1,.verify-screen h1{margin-bottom:calc(var(--spacing) * 2)}.success-icon{width:64px;height:64px;border-radius:50%;background:var(--ok);color:var(--color-on-primary);font-size:var(--fs-3xl);display:inline-flex;align-items:center;justify-content:center;margin-bottom:calc(var(--spacing) * 4)}.success-icon--error{background:var(--danger)}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin:0 auto calc(var(--spacing) * 4);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.consent-field{margin:calc(var(--spacing) * 4) 0}.consent-label{display:flex;gap:calc(var(--spacing) * 2.5);align-items:flex-start;font-size:var(--fs-base);line-height:1.4;cursor:pointer}.consent-label input[type=checkbox]{width:18px;height:18px;margin-top:calc(var(--spacing) * .5);flex-shrink:0;accent-color:var(--primary)}.m-0{margin:0}.mt-0{margin-top:0}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.flex{display:flex}.inline{display:inline}.hidden{display:none}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.text-left{text-align:left}.text-danger{color:var(--danger)}.small{font-size:var(--fs-base)}.container--narrow{max-width:28rem}.row--between{justify-content:space-between;align-items:center}.row--between>*{flex:0 0 auto}.row--between-top{justify-content:space-between;align-items:flex-start}.row--end{justify-content:flex-end}.row--actions{flex:0 0 auto;gap:calc(var(--spacing) * 1.5)}.row--actions>*{flex:0 0 auto}.row--actions--end{align-items:flex-end}.flex-grow{flex:1 1 auto}.row--narrow{max-width:28rem;margin:0 auto}.btn--block{width:100%}.field--flush{margin:0}.form--inline{display:inline}.card-link{text-decoration:none;color:inherit}.card-link:hover{color:var(--primary);text-decoration:underline}.card__title{margin:0 0 calc(var(--spacing) * 1)}.card__subtitle{margin:0}.page-title{margin:0 0 calc(var(--spacing) * 4)}.page-subtitle,.heading--flush{margin:0}.sub-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:calc(var(--spacing) * 3)}.report-row{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing) * 2);flex-wrap:wrap}.report-row__main{min-width:0;flex:1 1 200px}.report-row__main .card__title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.report-row__badges{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 1);flex:0 0 auto}.report-row__tide{display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 1);align-items:center;margin-top:calc(var(--spacing) * 2)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:calc(var(--spacing) * 4)}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:calc(var(--spacing) * 6);max-width:480px;width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 4px 24px #00000026}.modal--wide{max-width:640px}
