@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/manrope-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/manrope-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  color-scheme:dark;
  --bg:#03191f;
  --surface:#0b252d;
  --surface-raised:#14323c;
  --input:#0a2028;
  --line:#29444e;
  --text:#f4f7f8;
  --muted:#adc0c7;
  --accent:#ff87aa;
  --brand:#f91453;
  --accent-soft:#342b39;
  --font:Manrope,'Segoe UI',sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.4,0,1,1);
  --duration-fast:160ms;
  --duration-enter:340ms;
  --duration-exit:180ms;
  --modal-gap:12px;
  --modal-padding:20px;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased;isolation:isolate}
body.modal-open{position:fixed;inset-inline:0;top:var(--scroll-lock-top,0);width:100%;padding-right:var(--scrollbar-width,0px);overflow:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#00121738,#00141870 60%,#000f14b3);pointer-events:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer;color:inherit;border:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,p{margin:0}
h1,h2{text-wrap:balance}
button:disabled{cursor:wait;opacity:.55}
:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--bg)}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);background:var(--accent);color:var(--bg);padding:12px 20px;border-radius:8px;z-index:10}
.skip-link:focus{transform:none}
.portal-backdrop{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none;opacity:.72}
.portal-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.portal-header{display:flex;flex-direction:column;align-items:center;gap:24px;margin-bottom:26px;width:100%}
.portal-brand{display:block;width:270px;max-width:75%}
.portal-brand img{width:100%;height:auto}
.entry-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;width:330px;max-width:100%;padding:12px 22px;border:1px solid #ff789f;border-radius:12px;background:#fb4075;color:#240711;font-size:14px;font-weight:800;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-out)}
.entry-button>i:first-child{font-size:18px}
.entry-arrow{font-size:12px;margin-left:8px}
.entry-button:active{transform:scale(.98)}
.contact-panel{width:min(800px,100%);border:1px solid #ffffff21;border-radius:24px;background:#061b22f5;padding:26px}
.panel-title{display:flex;align-items:center;gap:14px;padding:0 2px 22px}
.panel-title h1{font-size:22px;font-weight:800;line-height:1.35;letter-spacing:-.03em}
.panel-title p{margin-top:5px;color:var(--muted);font-size:13px}
.title-icon,.quick-icon{display:grid;place-items:center;flex-shrink:0;color:var(--accent);background:var(--accent-soft)}
.title-icon{width:42px;height:42px;border-radius:12px;font-size:19px}
.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quick-link{display:flex;align-items:center;gap:14px;min-width:0;min-height:82px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;transition:background var(--duration-fast),border-color var(--duration-fast)}
.quick-link:active{background:var(--surface-raised)}
.quick-icon{width:42px;height:42px;border-radius:12px;font-size:21px;transition:color var(--duration-fast),background var(--duration-fast)}
.quick-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.quick-title{color:var(--text);font-size:14px;font-weight:750;line-height:1.4}
.quick-description{color:var(--muted);font-size:12px;line-height:1.5}
.quick-arrow{color:var(--muted);font-size:13px;flex-shrink:0;transition:color var(--duration-fast),transform var(--duration-fast) var(--ease-out)}
.other-link{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;max-width:100%;min-height:44px;margin:12px auto -8px;color:var(--muted);font-size:12px;transition:color var(--duration-fast)}
.other-link>i:last-child{font-size:11px}
.portal-footer{margin-top:18px;color:var(--muted);font-size:11px;text-align:center}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 20px;font-size:14px;font-weight:800;line-height:1.5;border:1px solid transparent;border-radius:10px;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-out)}
.button:active:not(:disabled){transform:scale(.985)}
.button-primary{background:var(--accent);color:#260b17}
.button-primary i{font-size:13px}
.icon-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:10px;background:transparent;color:var(--muted);transition:background var(--duration-fast),color var(--duration-fast)}

/* A single scroll region keeps the dialog title and action in view. */
.modal {
  position:fixed;
  inset:auto 0;
  top:calc(var(--viewport-top,0px) + var(--viewport-height,100dvh)/2);
  translate:0 -50%;
  margin:0 auto;
  padding:0;
  width:min(600px,calc(100% - var(--modal-gap)*2));
  max-width:none;
  max-height:calc(var(--viewport-height,100dvh) - var(--modal-gap)*2);
  overflow:hidden;
  border:0;
  border-radius:20px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 28px 100px #0009;
}
.modal::backdrop{background:#000e16ba;backdrop-filter:blur(8px)}
.modal[open]{display:flex;animation:modal-enter var(--duration-enter) var(--ease-out) both}
.modal[open]::backdrop{animation:backdrop-enter var(--duration-enter) var(--ease-out) both}
.modal.is-closing{animation:modal-exit var(--duration-exit) var(--ease-in) both;pointer-events:none}
.modal.is-closing::backdrop{animation:backdrop-exit var(--duration-exit) var(--ease-in) both}
.modal-inner{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;max-height:inherit}
.modal-header{display:flex;align-items:flex-start;gap:14px;flex-shrink:0;padding:var(--modal-padding);border-bottom:1px solid var(--line)}
.modal-icon{display:grid;place-items:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent);border-radius:12px;width:44px;height:44px;font-size:19px}
.modal-heading{min-width:0;flex:1}
.modal h2{font-size:25px;font-weight:800;line-height:1.3;letter-spacing:-.03em}
.modal h2[tabindex="-1"]:focus{outline:none}
.modal-description{font-size:13px;color:var(--muted);line-height:1.65;margin-top:7px;max-width:42ch}
.modal-close{margin:-8px -8px 0 0;font-size:20px}
.modal-body{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48616b transparent;scroll-padding-block:20px;padding:var(--modal-padding);flex:1 1 auto}
.support-form,.receipt-panel{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1 1 auto;margin:0}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field-full{grid-column:1/-1}
.support-form label:not(.file-drop){font-size:13px;font-weight:650;line-height:1.5}
.form-field>label>span:not(.optional),.form-hint>span{color:var(--accent)}
.support-form .optional{font-size:11px;color:var(--muted);font-weight:450}
.support-form input:not([type=file]):not([type=hidden]),.support-form select,.support-form textarea{width:100%;min-width:0;border:1px solid #3b5661;background:var(--input);border-radius:9px;color:var(--text);padding:12px 13px;font-size:16px;line-height:1.5;min-height:48px;transition:border-color var(--duration-fast),background var(--duration-fast);scroll-margin-block:20px}
.support-form input::placeholder,.support-form textarea::placeholder{color:#9eb4bd;opacity:1;font-size:14px}
.support-form input:focus,.support-form textarea:focus,.support-form select:focus{border-color:var(--accent);background:#0e2731}
.support-form input:focus-visible,.support-form select:focus-visible,.support-form textarea:focus-visible{outline-offset:2px}
.support-form select{padding-right:32px;text-overflow:ellipsis}
.support-form select:required:invalid{color:var(--muted)}
.support-form option,.support-form optgroup{color:var(--text);background:var(--input)}
.support-form textarea{resize:vertical;min-height:80px;max-height:180px}
.support-form small{font-size:11px;color:var(--muted);line-height:1.5}
.support-form :disabled{opacity:.65;cursor:wait}
.phone-input{display:flex;align-items:center;border:1px solid #3b5661;border-radius:9px;background:var(--input);transition:border-color var(--duration-fast)}
.phone-input:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.phone-input>span{color:var(--muted);font-size:14px;padding:0 13px;border-right:1px solid #3b5661}
.support-form .phone-input input:not([type=file]):not([type=hidden]){border:0;background:transparent;outline:none;min-height:46px}
.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0;padding:16px var(--modal-padding);border-top:1px solid var(--line);background:var(--surface)}
.modal-footer .button{flex:1;min-width:0}
.form-hint{color:var(--muted);font-size:11px;white-space:nowrap}
.form-feedback,.form-message{font-size:13px;line-height:1.65;border:1px solid #795261;border-radius:9px;padding:12px;color:#ffcfdd;background:#382832;margin-top:16px;overflow-wrap:anywhere}
.form-field .form-message{margin-top:0}
.form-feedback.info{color:#dbe9ef;background:#19333f;border-color:#496b7a}
.support-form [aria-invalid=true]{border-color:var(--accent)}
.form-feedback:not([hidden]),.status-results:not([hidden]){animation:feedback-enter 220ms var(--ease-out)}
.submit-button:disabled::before{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 700ms linear infinite}
.tab-list{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex-shrink:0;padding:4px;margin:20px var(--modal-padding) 0;border:1px solid var(--line);border-radius:12px;background:var(--input)}
.tab-list button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font-size:13px;font-weight:650;padding:10px 8px;border-radius:8px;background:transparent;color:var(--muted);transition:background 180ms,color 180ms}
.tab-list button[aria-selected=true]{background:var(--surface-raised);color:var(--accent)}
.tab-list button i{font-size:12px}
.receipt-panel:not([hidden]) .form-grid{animation:feedback-enter 220ms var(--ease-out)}
.file-upload{position:relative;min-width:0}
.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:8px;min-height:156px;border:1px dashed #53727f;border-radius:12px;background:var(--input);padding:20px;cursor:pointer;text-align:center;transition:background var(--duration-fast),border-color var(--duration-fast)}
.file-visual{display:grid;place-items:center;width:44px;height:44px;color:var(--accent);font-size:24px}
.file-visual img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.file-drop strong{font-size:13px;font-weight:600;overflow-wrap:anywhere;max-width:100%}
.file-drop>span:last-of-type{font-size:11px;color:var(--muted)}
.file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-drop:focus-within,.file-drop.dragging{outline:2px solid var(--accent);outline-offset:3px;background:var(--surface-raised)}
.file-drop.has-file{border-style:solid;border-color:#577669;padding-inline:48px}
.file-drop.has-file .file-visual{width:56px;height:56px}
.file-drop.has-preview .file-visual i{display:none}
.file-remove{position:absolute;top:8px;right:8px;background:var(--surface);font-size:16px}
.status-results{margin-top:22px;display:grid;gap:10px}
.status-entry{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.status-entry>div{min-width:0}
.status-entry strong{font-size:13px;display:block;overflow-wrap:anywhere}
.status-entry time{font-size:11px;color:var(--muted)}
.status-badge{padding:5px 9px;font-size:11px;border-radius:6px;background:#3a332a;color:#f4d29c;white-space:nowrap}
.status-badge.approved{color:#b0ebd4;background:#193e36}
.status-badge.rejected{color:#ffc1d2;background:#442d37}
.status-empty{padding:28px 8px;text-align:center;font-size:13px;color:var(--muted);line-height:1.8}
.cooperation-links{display:grid;gap:12px}
.cooperation-links .quick-link{background:var(--input)}
.cooperation-links .quick-description{overflow-wrap:anywhere}
.success-modal{width:min(440px,calc(100% - var(--modal-gap)*2));text-align:center}
.success-modal .modal-body{padding:36px 28px 28px}
.success-icon{display:grid;place-items:center;background:#193e36;width:64px;height:64px;border-radius:50%;color:#b0ebd4;margin:0 auto 22px;font-size:25px}
.success-modal[open] .success-icon i{animation:success-confirm 420ms var(--ease-out) both}
.success-modal p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.8}
.notification{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:var(--surface-raised);border:1px solid #53717a;border-radius:10px;padding:13px 20px;font-size:13px;color:var(--text);z-index:5}
.noscript-note{padding:20px;background:var(--surface);text-align:center;font-size:13px}
/* The signed token and bot trap retain their original form ownership. */
.hp-field{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}

@keyframes modal-enter{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes modal-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes sheet-enter{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes sheet-exit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes backdrop-exit{from{opacity:1}to{opacity:0}}
@keyframes feedback-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes success-confirm{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes spin{to{transform:rotate(360deg)}}

@media(hover:hover){
  .entry-button:hover{background:#ff7098}
  .quick-link:hover{border-color:#977088;background:#132d37}
  .quick-link:hover .quick-icon{background:#47303f;color:#ffacc6}
  .quick-link:hover .quick-arrow{color:var(--accent);transform:translateX(3px)}
  .other-link:hover{color:var(--accent)}
  .button-primary:hover:not(:disabled){background:#ffabc3}
  .icon-button:hover:not(:disabled){background:var(--surface-raised);color:var(--text)}
  .file-drop:hover{background:var(--surface-raised);border-color:var(--accent)}
  .tab-list button:hover:not(:disabled){color:var(--text)}
}
@media(min-width:600px){
  :root{--modal-gap:24px;--modal-padding:28px}
  .callback-modal{width:min(680px,calc(100% - var(--modal-gap)*2))}
  .callback-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .modal-footer .button{flex:0 1 auto;min-width:220px}
  .success-modal .modal-footer .button{flex:1}
  .form-hint{margin-right:auto}
}
@media(max-width:600px){
  .portal-shell{padding:24px max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));justify-content:flex-start}
  .portal-header{gap:20px;margin-bottom:20px}
  .portal-brand{width:235px}
  .entry-button{width:300px;min-height:46px;font-size:14px}
  .contact-panel{padding:16px 12px 12px;border-radius:20px}
  .panel-title{gap:10px;padding:2px 4px 18px}
  .panel-title h1{font-size:16px;letter-spacing:-.03em}
  .panel-title p{font-size:11px;margin-top:5px}
  .title-icon{width:34px;height:34px;font-size:16px;border-radius:10px}
  .quick-links{grid-template-columns:1fr;gap:8px}
  .quick-link{min-height:66px;padding:11px 12px;gap:12px}
  .quick-icon{width:38px;height:38px;font-size:19px;border-radius:10px}
  .quick-title{font-size:13px}
  .quick-description{font-size:11px}
  .quick-copy{gap:3px}
  .quick-arrow{font-size:12px}
  .other-link{font-size:11px;margin-top:8px}
  .portal-footer{font-size:10px;margin-top:16px}
  .modal{top:calc(var(--viewport-top,0px) + var(--viewport-height,100dvh) - max(var(--modal-gap),env(safe-area-inset-bottom)));translate:0 -100%;border-radius:20px}
  .modal[open]{animation-name:sheet-enter}
  .modal.is-closing{animation-name:sheet-exit}
  .modal-header{gap:12px}
  .modal h2{font-size:22px}
  .modal-description{font-size:12px;margin-top:5px}
  .modal-icon{width:38px;height:38px;font-size:17px;border-radius:10px}
  .modal-footer{gap:12px;padding-block:14px}
  .modal-footer .form-hint{display:none}
  .modal-footer .button{width:100%}
  .cooperation-links .quick-link{min-height:82px}
  .success-modal{top:calc(var(--viewport-top,0px) + var(--viewport-height,100dvh)/2);translate:0 -50%}
}
@media(max-width:359px){
  :root{--modal-padding:16px;--modal-gap:8px}
  .portal-shell{padding-inline:10px}
  .panel-title{gap:8px;padding-inline:0}
  .panel-title h1{font-size:14px}
  .panel-title p{font-size:10px}
  .quick-link{padding-inline:10px}
  .modal h2{font-size:20px}
  .modal-header{gap:10px}
  .modal-header .modal-icon{display:none}
  .file-drop{padding-inline:12px}
  .file-drop strong{font-size:12px}
}
@media(min-width:601px) and (max-height:780px){
  .portal-shell{padding-block:20px 16px}
  .portal-header{gap:18px;margin-bottom:20px}
  .contact-panel{padding:22px}
  .quick-link{min-height:76px;padding-block:12px}
  .panel-title{padding-bottom:18px}
}
@media(max-height:500px){
  :root{--modal-gap:8px}
  .modal-header{padding:12px 16px;align-items:center}
  .modal-description{display:none}
  .modal h2{font-size:20px}
  .modal-icon{width:32px;height:32px;font-size:15px}
  .modal-close{margin:0 -6px 0 0}
  .modal-body{padding:16px}
  .modal-footer{padding:10px 16px}
  .tab-list{margin-top:12px}
  .success-modal .modal-body{padding:20px}
  .success-icon{width:44px;height:44px;margin-bottom:12px;font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .entry-button:active,.button:active:not(:disabled),.quick-link:hover .quick-arrow{transform:none}
}
