:root{--ink:#24302b;--indigo:#214f43;--indigo-d:#173a32;--paper:#f5f3ed;--paper-d:#ebe7dc;--card:#fffefa;--line:#dcd7ca;--accent:#b6673d;--muted:#747a73;--green:#2f745f;--green-soft:#e8f1ed;--gold:#c99952;--shadow-sm:0 2px 8px rgba(30,48,41,.08);--shadow-md:0 14px 38px rgba(30,48,41,.14);--hdr-h:72px}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:var(--indigo)}button{font:inherit;cursor:pointer}button,input,textarea{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,116,95,.24);outline-offset:2px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 18% 12%,rgba(201,153,82,.16),transparent 32%),radial-gradient(circle at 88% 84%,rgba(47,116,95,.16),transparent 34%),#f4f2eb;padding:24px}.auth-card{width:100%;max-width:400px;background:rgba(255,254,250,.92);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 28px 80px rgba(30,48,41,.16);padding:38px 34px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card h1{font-family:Cormorant Garamond,serif;font-size:36px;margin:0 0 5px;text-align:center;color:var(--indigo-d);letter-spacing:-.5px}.auth-card .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:26px}.auth-card label{display:block;font-size:12px;font-weight:650;color:var(--ink);margin:15px 0 6px;letter-spacing:.02em}.auth-card input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;font-size:14px;background:#fff;color:var(--ink)}.auth-card input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(58,60,120,.15)}.auth-card button.primary{width:100%;margin-top:24px;padding:12px;border:0;border-radius:12px;background:var(--indigo);color:#fff;font-weight:650;font-size:15px;box-shadow:0 8px 18px rgba(33,79,67,.2)}.auth-card button.primary:hover{background:var(--indigo-d);transform:translateY(-1px)}.auth-card button.primary:disabled{opacity:.6;cursor:default}.auth-err{margin-top:14px;color:#b23a3a;font-size:13px;text-align:center}.auth-foot{margin-top:16px;text-align:center;font-size:12.5px;color:var(--muted)}.report-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;background:var(--indigo);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 15px 10px 10px;font-size:12px;font-weight:650;box-shadow:0 8px 24px rgba(33,79,67,.24)}.report-fab span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.16)}.report-fab:hover{background:var(--indigo-d);transform:translateY(-2px)}.report-backdrop{position:fixed;inset:0;background:rgba(20,30,26,.48);z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.report-dialog{background:var(--card);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:26px;width:min(460px,100%);box-shadow:var(--shadow-md)}.report-dialog h3{margin:0 0 5px;font:700 28px/1.05 Cormorant Garamond,serif;color:var(--indigo-d)}.report-message{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:14px;resize:vertical;font-family:inherit;color:var(--ink)}.report-message:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(47,116,95,.1)}.report-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.report-actions button{padding:9px 14px;background:var(--paper-d);color:var(--ink);border:0;border-radius:9px}.report-actions button.primary{background:var(--indigo);color:#fff;padding-inline:17px}.report-actions button:disabled{opacity:.5;cursor:default}@media (max-width:640px){.report-fab{right:12px;bottom:12px;width:42px;height:42px;padding:0;justify-content:center;overflow:hidden;font-size:0}.report-fab span{background:transparent;font-size:15px}}