:root{color:#172026;background:#eef3f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}.page{display:grid;min-height:100vh;place-items:center;padding:32px 16px;background:linear-gradient(135deg,rgba(69,123,157,.16),transparent 40%),linear-gradient(315deg,rgba(226,135,67,.14),transparent 42%),#eef3f7}.auth-panel{width:min(100%,440px);padding:32px;border:1px solid #d7e0e7;border-radius:8px;background:#fff;box-shadow:0 24px 80px #17202624}.auth-page{position:relative;overflow:hidden;padding:48px 20px;color:#f2fbff;isolation:isolate;background:radial-gradient(circle at 22% 18%,rgba(30,203,244,.26),transparent 28%),radial-gradient(circle at 82% 72%,rgba(76,245,23,.2),transparent 30%),linear-gradient(145deg,#123655,#0b2a45 47%,#061b2f)}.auth-page:before,.auth-page:after{position:absolute;content:"";pointer-events:none}.auth-page:before{top:-26%;right:-26%;bottom:-26%;left:-26%;z-index:-2;background:radial-gradient(closest-side at 36% 42%,rgba(28,188,242,.2),transparent 64%),radial-gradient(closest-side at 60% 52%,rgba(76,245,23,.16),transparent 62%),conic-gradient(from 145deg at 50% 50%,transparent 0deg,rgba(28,188,242,.14) 74deg,rgba(76,245,23,.1) 132deg,transparent 220deg);filter:blur(34px) saturate(1.35);opacity:.95;transform:rotate(-8deg)}.auth-page:after{top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 50% 50%,transparent 0 28%,rgba(255,255,255,.045) 29%,transparent 30%);background-size:52px 52px,52px 52px,680px 680px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.88),transparent 90%);mask-image:linear-gradient(180deg,rgba(0,0,0,.88),transparent 90%)}.auth-shell{position:relative;z-index:1;display:grid;width:min(100%,456px)}.auth-shell:before{position:absolute;top:-64px;right:-52px;bottom:-64px;left:-52px;z-index:-1;border-radius:44px;background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.22),transparent 14%),radial-gradient(circle at 78% 88%,rgba(76,245,23,.2),transparent 24%),linear-gradient(135deg,#1cbcf224,#4cf51714);content:"";filter:blur(34px);opacity:.86;pointer-events:none}.auth-page .auth-panel{position:relative;width:100%;overflow:hidden;padding:38px;border:1px solid rgba(209,246,255,.34);border-radius:32px;background:linear-gradient(145deg,#ffffff30,#ffffff0e 42%,#ffffff14),#071b2e94;box-shadow:0 38px 96px #00000070,0 1px #ffffff61 inset,0 -1px #4cf5171f inset,0 0 58px #1cbcf224;backdrop-filter:blur(28px) saturate(1.45);-webkit-backdrop-filter:blur(28px) saturate(1.45)}.auth-page .auth-panel:before,.auth-page .auth-panel:after{position:absolute;content:"";pointer-events:none}.auth-page .auth-panel:before{top:1px;right:1px;bottom:1px;left:1px;border-radius:30px;background:linear-gradient(130deg,rgba(255,255,255,.24),transparent 30%),radial-gradient(circle at 24% 0%,rgba(28,188,242,.22),transparent 31%),radial-gradient(circle at 88% 100%,rgba(76,245,23,.18),transparent 28%);opacity:.9}.auth-page .auth-panel:after{width:160px;height:360px;top:-112px;left:-72px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);filter:blur(8px);opacity:.28;transform:rotate(28deg)}.auth-page .panel-header,.auth-page .form,.auth-page .notice,.auth-page .error,.auth-page .success-box{position:relative;z-index:1}.auth-page .panel-header{margin-bottom:26px;text-align:center}.auth-logo-frame{display:grid;width:104px;height:104px;place-items:center;margin:0 auto 22px;border:1px solid rgba(213,249,255,.26);border-radius:28px;background:linear-gradient(145deg,#ffffff29,#ffffff0a),#0d304c80;box-shadow:0 18px 42px #00000040,0 0 26px #1cbcf229,0 1px #ffffff38 inset;backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35)}.auth-logo{display:block;width:86px;height:86px;object-fit:contain}.auth-page h1{margin-bottom:12px;color:#fff;font-size:clamp(2rem,7vw,2.65rem);line-height:1.04;text-shadow:0 1px 18px rgba(28,188,242,.18)}.auth-page .lead{max-width:340px;margin-right:auto;margin-left:auto;color:#dbf6ffc7;font-size:1rem}.auth-page .form{gap:16px}.auth-page label{color:#ebfcffeb}.auth-page input{min-height:52px;padding:13px 18px;border-radius:999px;border-color:#d3f8ff38;color:#fff;background:linear-gradient(145deg,#ffffff1a,#ffffff09),#05162670;box-shadow:0 1px #ffffff26 inset}.auth-page input::placeholder{color:#ddf3fa8f}.auth-page input:hover{border-color:#20c5f48f}.auth-page input:focus{border-color:#52dcffdb;box-shadow:0 0 0 4px #20c5f429,0 0 28px #4cf51714,0 1px #fff3 inset}.auth-page button:not(.link-button):not(.secondary-button){min-height:52px;border-radius:999px;color:#061a2c;background:linear-gradient(135deg,rgba(255,255,255,.42),transparent 36%),linear-gradient(135deg,#1cbcf2,#43ff15);box-shadow:0 18px 42px #12bcf23d,0 1px #ffffff73 inset}.auth-page button:hover:not(:disabled):not(.link-button):not(.secondary-button){background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 36%),linear-gradient(135deg,#49d7ff,#63ff3a);box-shadow:0 22px 48px #12bcf24d,0 0 32px #4cf51729;transform:translateY(-1px)}.auth-page button:focus-visible{outline:3px solid rgba(80,248,43,.42);outline-offset:3px}.auth-page .secondary-button{border-color:#d3f8ff33;border-radius:999px;color:#d5f8ff;background:#ffffff13;box-shadow:0 1px #ffffff24 inset}.auth-page .secondary-button:hover:not(:disabled){color:#fff;background:#1cbcf226}.auth-page .link-button{color:#72ff55}.auth-page .link-button:hover:not(:disabled){color:#b6ffa6}.auth-page .email-row{border:1px solid rgba(211,248,255,.14);border-radius:26px;background:#ffffff12;color:#d9f5ff}.auth-page .notice{border-radius:22px;color:#d9fff1;background:#24b8832e}.auth-page .error{border-radius:22px;color:#ffe0e0;background:#be373738}.auth-page .success-box p{color:#c9e7f2}.auth-legal{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;width:min(100%,520px);margin-top:18px;text-align:center}.auth-page .legal-link{color:#dbf6ffc7;font-size:.88rem;text-decoration:underline;text-decoration-color:#4cf51761;text-underline-offset:5px}.auth-page .legal-link:hover:not(:disabled){color:#fff;text-decoration-color:#43ff15}.legal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#04101cad;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.legal-dialog{position:relative;width:min(100%,660px);max-height:min(86vh,760px);overflow:auto;padding:26px;border:1px solid rgba(209,246,255,.3);border-radius:30px;color:#f3fbff;background:linear-gradient(145deg,#ffffff2e,#ffffff0e 42%,#ffffff14),#071b2ec7;box-shadow:0 34px 88px #0000007a,0 1px #ffffff57 inset,0 0 46px #1cbcf221;backdrop-filter:blur(28px) saturate(1.45);-webkit-backdrop-filter:blur(28px) saturate(1.45)}.legal-dialog:before{position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:28px;background:linear-gradient(130deg,rgba(255,255,255,.2),transparent 32%),radial-gradient(circle at 94% 0%,rgba(76,245,23,.15),transparent 30%);content:"";pointer-events:none}.legal-dialog-header,.legal-intro,.legal-body{position:relative;z-index:1}.legal-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.legal-eyebrow{margin-bottom:8px;color:#72ff55;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.legal-dialog h2{margin:0;color:#fff;font-size:clamp(1.55rem,6vw,2.15rem);line-height:1.08}.legal-close{flex:0 0 auto;width:40px;min-height:40px;padding:0;border-radius:999px;font-size:1.35rem;line-height:1}.auth-page .legal-close:hover:not(:disabled){background:#1cbcf226}.legal-intro{margin-bottom:18px;color:#dbf6ffd1;line-height:1.6}.legal-body{display:grid;gap:16px}.legal-section{padding:16px;border:1px solid rgba(211,248,255,.14);border-radius:22px;background:#ffffff0f}.legal-section h3{margin:0 0 10px;color:#fff;font-size:1rem}.legal-section ul{display:grid;gap:8px;margin:0;padding-left:20px;color:#ebfcffd1;line-height:1.5}.legal-section li::marker{color:#43ff15}.panel-header{margin-bottom:28px}.eyebrow{margin:0 0 10px;color:#3e7c78;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,8vw,2.65rem);line-height:1}h2{margin-bottom:8px;font-size:1.5rem}.lead{margin-bottom:0;color:#5a6872;line-height:1.55}.form{display:grid;gap:14px}label{color:#293841;font-size:.95rem;font-weight:700}input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #b8c8d4;border-radius:8px;color:#172026;background:#fbfdff;outline:none}textarea{width:100%;min-height:104px;resize:vertical;padding:12px 14px;border:1px solid #b8c8d4;border-radius:8px;color:#172026;background:#fbfdff;outline:none}input:focus,textarea:focus{border-color:#3e7c78;box-shadow:0 0 0 4px #3e7c7829}button{min-height:48px;border:0;border-radius:8px;color:#fff;background:#1f6f78;cursor:pointer;font-weight:800}button:hover:not(:disabled){background:#175c64}button:disabled{cursor:not-allowed;opacity:.58}.secondary-button{border:1px solid #c4d2dc;color:#1f6f78;background:#fff}.secondary-button:hover:not(:disabled){background:#edf7f6}.link-button{min-height:auto;padding:0;color:#1f6f78;background:transparent;font-weight:800}.link-button:hover:not(:disabled){background:transparent;color:#175c64}.email-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:8px;background:#f4f8fa;color:#44545f;overflow-wrap:anywhere}.notice,.error{margin:18px 0 0;padding:12px 14px;border-radius:8px;line-height:1.45}.notice{color:#255653;background:#e6f4f1}.error{color:#8a1f1f;background:#ffecec}.success-box{display:grid;gap:16px}.success-box p{margin-bottom:0;color:#3f4e58}.app-page{align-items:stretch;place-items:stretch}.chat-panel,.admin-panel{display:grid;width:min(100%,980px);min-height:calc(100vh - 64px);margin:0 auto;padding:24px;border:1px solid #d7e0e7;border-radius:8px;background:#fff;box-shadow:0 24px 80px #1720261f;gap:18px}.chat-panel{grid-template-rows:auto auto 1fr auto}.chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chat-header h1{margin:0;font-size:1.55rem;line-height:1.2;overflow-wrap:anywhere}.compact-button{width:auto;min-height:40px;padding:0 14px;white-space:nowrap}.messages-list{display:flex;min-height:280px;max-height:58vh;flex-direction:column;gap:12px;overflow-y:auto;padding:4px}.message{width:min(78%,620px);padding:12px 14px;border:1px solid #d7e0e7;border-radius:8px;background:#f8fbfc}.message-user{align-self:flex-start}.message-admin{align-self:flex-end;border-color:#cfe1d8;background:#eef8f3}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#5a6872;font-size:.82rem}.message-meta strong{color:#26343d;overflow-wrap:anywhere}.message-text{margin:0;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.chat-composer{display:grid;gap:12px;padding-top:12px;border-top:1px solid #e1e9ef}.composer-row{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:12px}.selected-file{grid-column:1 / -1;color:#52636f;font-size:.9rem;overflow-wrap:anywhere}.image-attachment{display:block;width:min(100%,280px);min-height:auto;margin-top:10px;padding:0;border:1px solid #cddae3;background:#fff;overflow:hidden}.image-attachment img{display:block;width:100%;max-height:220px;object-fit:cover}.file-attachment{display:flex;width:min(100%,360px);align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:12px;border:1px solid #cddae3;border-radius:8px;color:#1f6f78;background:#fff;text-decoration:none}.file-name{font-weight:800;overflow-wrap:anywhere}.file-size{color:#63727d;white-space:nowrap}.empty-state{display:grid;min-height:180px;place-items:center;border:1px dashed #c9d6df;border-radius:8px;color:#60717d;background:#f8fbfc}.users-list{display:grid;gap:10px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:0 14px;border:1px solid #d4e0e7;color:#26343d;background:#f8fbfc;text-align:left;overflow-wrap:anywhere}.user-row:hover:not(:disabled){color:#fff;background:#1f6f78}.unread-badge{display:inline-block;padding:2px 6px;border-radius:999px;color:#fff;background:#b3261e;font-size:.75rem;font-weight:800}.inline-badge{margin-left:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#172026b8;z-index:10}.image-modal{display:grid;width:min(100%,920px);max-height:92vh;gap:12px}.image-modal img{max-width:100%;max-height:82vh;border-radius:8px;object-fit:contain;background:#fff}.modal-close{justify-self:end;width:auto;min-height:40px;padding:0 14px}.compact{margin-top:0}@media(max-width:520px){.auth-page{padding:24px 14px}.auth-panel{padding:24px}.auth-page .auth-panel{padding:24px;border-radius:28px}.auth-logo-frame{width:96px;height:96px;margin-bottom:20px}.auth-logo{width:78px;height:78px}.email-row{align-items:flex-start;flex-direction:column}.chat-panel,.admin-panel{min-height:calc(100vh - 32px);padding:18px}.chat-header{flex-direction:column}.message{width:100%}.composer-row{grid-template-columns:1fr}}
