/* Copyright (c) 2026 ИП Оганнисян Акоп. Все права защищены. */
/* ГерсаМейл веб-почта — оформление «Нео»: стекло и неон поверх серверной. Всё под body.neo */
body.neo{
  --ink:#eaf2ff;--muted:#9fb3d9;--line:rgba(148,197,255,.14);--paper:rgba(8,14,30,.5);--select:rgba(56,189,248,.14);
  --blue:#38bdf8;--blue-dark:#0ea5e9;
  --glass-line:rgba(148,197,255,.16);--glass-line2:rgba(148,197,255,.28);
  --grad:linear-gradient(120deg,#22d3ee 0%,#3b82f6 55%,#818cf8 100%);
  color:var(--ink);color-scheme:dark;
  background:
    radial-gradient(1100px 680px at 82% 12%,rgba(56,189,248,.32),transparent 62%),
    radial-gradient(900px 620px at 8% 92%,rgba(129,140,248,.28),transparent 60%),
    radial-gradient(640px 420px at 48% 58%,rgba(34,211,238,.10),transparent 70%),
    repeating-linear-gradient(90deg,rgba(148,197,255,.045) 0 1px,transparent 1px 72px),
    repeating-linear-gradient(0deg,rgba(148,197,255,.035) 0 1px,transparent 1px 72px),
    linear-gradient(180deg,#071027 0%,#050913 55%,#03060d 100%);
  background-attachment:fixed;
}
body.neo .people-list .who,body.neo .contact-picker .who{width:auto;height:auto;border-radius:0;background:none;box-shadow:none;margin:0;place-items:initial;font-weight:inherit;font-size:inherit;color:inherit}
body.neo::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(3,6,13,.5) 100%)}
body.neo .login,body.neo .app{position:relative;z-index:2}
body:not(.neo) #neo-backdrop,body:not(.neo) .neo-emblem{display:none}

#neo-backdrop{position:fixed;inset:0;z-index:1;pointer-events:none}
#neo-backdrop svg{width:100%;height:100%}
#neo-backdrop .trace{stroke:rgba(56,189,248,.13);stroke-width:2;fill:none}
#neo-backdrop .pulse-line{stroke:#7dd3fc;stroke-width:3;fill:none;stroke-dasharray:90 1400;stroke-dashoffset:1490;filter:drop-shadow(0 0 6px #38bdf8);animation:neo-trace 7s linear infinite}
#neo-backdrop .mote{fill:#7dd3fc;opacity:0;animation:neo-mote 11s ease-in-out infinite}
@keyframes neo-trace{to{stroke-dashoffset:0}}
@keyframes neo-mote{0%{opacity:0;transform:translateY(0)}30%{opacity:.55}100%{opacity:0;transform:translateY(-120px)}}
@keyframes neo-spin{to{transform:rotate(360deg)}}
@keyframes neo-float{50%{transform:translateY(-10px)}}

/* вход */
body.neo .login{background:transparent;gap:0}
body.neo .login-brand{background:transparent}
.neo-emblem{position:relative;width:min(300px,64vw);aspect-ratio:1;display:grid;place-items:center}
.neo-emblem img{width:58%;max-height:none;background:transparent!important;filter:drop-shadow(0 0 30px rgba(56,189,248,.45)) drop-shadow(0 12px 24px rgba(0,0,0,.7));animation:neo-float 5s ease-in-out infinite}
.neo-emblem svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.neo-emblem .r1{fill:none;stroke:rgba(56,189,248,.45);stroke-width:1.5;stroke-dasharray:4 9;transform-origin:center;transform-box:fill-box;animation:neo-spin 40s linear infinite}
.neo-emblem .r2{fill:none;stroke:rgba(129,140,248,.5);stroke-width:2;stroke-dasharray:60 30 10 30;transform-origin:center;transform-box:fill-box;animation:neo-spin 16s linear infinite reverse}
.neo-emblem .sat{fill:#38bdf8;filter:drop-shadow(0 0 6px #38bdf8)}
.neo-emblem .sat2{fill:#a78bfa;filter:drop-shadow(0 0 6px #a78bfa)}
body.neo .login-name{background:linear-gradient(90deg,#fff,#7dd3fc,#a5b4fc);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.24em;text-shadow:none}
body.neo .login-hint{color:#7dd3fc}
body.neo .login-form{background:transparent}
body.neo .login-card{
  padding:30px 30px 24px;border-radius:24px;border:1px solid var(--glass-line2);position:relative;overflow:hidden;
  background:linear-gradient(160deg,rgba(20,32,60,.78),rgba(9,16,32,.82));backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 60px rgba(56,189,248,.12);
}
body.neo .login-card::before{content:"";position:absolute;inset:-1px;border-radius:24px;padding:1px;pointer-events:none;
  background:conic-gradient(from var(--neo-a,0deg),transparent 0 70%,#38bdf8 80%,#818cf8 88%,transparent 95%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:neo-border 6s linear infinite}
@property --neo-a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes neo-border{to{--neo-a:360deg}}
body.neo .control{border:1px solid var(--glass-line2);border-radius:12px;padding:8px 12px;background:rgba(5,10,22,.55);transition:border-color .2s,box-shadow .2s}
body.neo .control:focus-within{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.18),0 0 18px rgba(56,189,248,.2)}
body.neo .control svg{fill:#7dd3fc}
body.neo .control select option{background:#0a1020;color:#eaf2ff}
body.neo .submit{background:var(--grad);box-shadow:0 0 0 6px rgba(56,189,248,.12),0 10px 26px rgba(56,189,248,.45);animation:neo-ring 2.6s ease-out infinite}
body.neo .submit:hover{background:var(--grad);filter:brightness(1.1)}
@keyframes neo-ring{0%{box-shadow:0 0 0 0 rgba(56,189,248,.45),0 10px 26px rgba(56,189,248,.45)}100%{box-shadow:0 0 0 16px rgba(56,189,248,0),0 10px 26px rgba(56,189,248,.45)}}
body.neo .remember input:checked + .switch{background:rgba(56,189,248,.55)}
body.neo .remember input:checked + .switch::after{background:#e0f2fe}
body.neo .filebox{color:#7dd3fc}

/* рабочее место */
body.neo .app{background:transparent}
body.neo .rail{
  background:linear-gradient(180deg,rgba(10,17,34,.82),rgba(7,12,26,.86));border-right:1px solid var(--glass-line);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:12px 0 40px rgba(0,0,0,.35);
}
body.neo .rail-btn{color:#bcd3f5;position:relative}
body.neo .rail-btn svg{width:24px;height:24px;filter:drop-shadow(0 0 6px rgba(56,189,248,.35))}
body.neo .rail-btn:hover{background:rgba(56,189,248,.1)}
body.neo .rail-btn.is-on{color:#fff;background:linear-gradient(120deg,rgba(56,189,248,.26),rgba(129,140,248,.16));box-shadow:0 0 22px rgba(56,189,248,.18)}
body.neo .rail-btn.is-on::before{content:"";position:absolute;left:-4px;top:20%;bottom:20%;width:3px;border-radius:3px;background:#38bdf8;box-shadow:0 0 12px #38bdf8}
body.neo .rail-lang select{background:rgba(56,189,248,.14)}
body.neo .rail-lang select option{background:#0a1020;color:#eaf2ff}
body.neo .rail-lang .gm-lang-btn{background:rgba(56,189,248,.14)}
body.neo .rail .who{background:var(--grad);color:#03111d;box-shadow:0 0 16px rgba(56,189,248,.5)}
body.neo .workspace{gap:12px;padding:12px}
body.neo .folders,body.neo .list-pane,body.neo .reader,body.neo .panel-card{
  background:linear-gradient(160deg,rgba(22,34,62,.64),rgba(10,18,36,.6));border:1px solid var(--glass-line);border-radius:18px;
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 0 0 1px rgba(125,211,252,.06),0 18px 50px rgba(2,6,23,.5);
}
body.neo .new-mail,body.neo #compose-send,body.neo #mig-start,body.neo #vacation-save,body.neo #filter-save,body.neo #pf-save,body.neo .cal-form button,body.neo .folder-actions button[type=submit]{
  background:var(--grad);color:#03111d;border-color:transparent;font-weight:700;box-shadow:0 8px 24px rgba(59,130,246,.35),inset 0 1px 0 rgba(255,255,255,.35);
}
body.neo .new-mail{border-radius:12px;padding:12px}
body.neo .new-mail:hover{background:var(--grad);filter:brightness(1.08)}
body.neo .new-folder{color:var(--muted)}
body.neo .new-folder svg{color:#7dd3fc}
body.neo .new-folder:hover{background:rgba(56,189,248,.1);color:#fff}
body.neo .folders li{color:#d6e4fb;transition:background .15s}
body.neo .folders li.is-on{background:linear-gradient(100deg,rgba(56,189,248,.24),rgba(129,140,248,.1) 80%);box-shadow:inset 3px 0 0 #38bdf8}
body.neo .folders li:hover{background:rgba(56,189,248,.1)}
body.neo .folder-ico{filter:drop-shadow(0 0 4px currentColor)}
body.neo .folder-ico.inbox{color:#7dd3fc}body.neo .folder-ico.sent{color:#34d399}body.neo .folder-ico.draft{color:#c4b5fd}
body.neo .folder-ico.spam{color:#fb923c}body.neo .folder-ico.trash{color:#f87171}body.neo .folder-ico.archive{color:#22d3ee}
body.neo .badge{color:#7dd3fc}
body.neo .account{color:#7dd3fc}
body.neo .list-head{border-bottom-color:var(--glass-line)}
body.neo .list-head h1,body.neo .cal-head h1{background:linear-gradient(90deg,#fff,#bae6fd);-webkit-background-clip:text;background-clip:text;color:transparent}
body.neo .list-head input{background:rgba(5,10,22,.55);border-color:var(--glass-line2);color:var(--ink);border-radius:12px}
body.neo .list-head input:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.18)}
body.neo #message-list li,body.neo .people-list li{border-bottom-color:var(--line);transition:background .15s}
body.neo #message-list li:hover,body.neo .people-list li:hover{background:linear-gradient(90deg,rgba(56,189,248,.09),transparent 80%)}
body.neo #message-list li.is-on,body.neo .people-list li.is-on{background:linear-gradient(90deg,rgba(56,189,248,.2),rgba(129,140,248,.06));box-shadow:inset 3px 0 0 #38bdf8}
body.neo #message-list li.unseen .from::before{background:#38bdf8;box-shadow:0 0 8px #38bdf8}
body.neo .from,body.neo .people-list .name{color:#eef5ff}
body.neo .thread-count{color:#7dd3fc}

/* чтение письма: тело письма остаётся на «листе бумаги» */
body.neo .read-subject{color:#fff}
body.neo .read-tools button,body.neo .compose footer button,body.neo .thread-more button{background:rgba(8,14,30,.5);border-color:var(--glass-line2);color:var(--ink);border-radius:10px}
body.neo .read-tools .tool-ico{background:rgba(255,255,255,.06)}
body.neo .read-tools button.act-reply{color:#bae6fd;background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.4)}
body.neo .read-tools button.act-reply .tool-ico{color:#7dd3fc}
body.neo .read-tools button.act-forward,body.neo .read-tools button.act-ham{color:#a7f3d0;background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.38)}
body.neo .read-tools button.act-forward .tool-ico,body.neo .read-tools button.act-ham .tool-ico{color:#6ee7b7}
body.neo .read-tools button.act-spam{color:#fed7aa;background:rgba(251,146,60,.12);border-color:rgba(251,146,60,.4)}
body.neo .read-tools button.act-spam .tool-ico{color:#fdba74}
body.neo .read-tools button.act-rule{color:#ddd6fe;background:rgba(167,139,250,.13);border-color:rgba(167,139,250,.4)}
body.neo .read-tools button.act-rule .tool-ico{color:#c4b5fd}
body.neo .read-tools button.act-delete{background:rgba(239,68,68,.75);border-color:rgba(248,113,113,.7)}
body.neo .read-tools button:hover{filter:brightness(1.2);box-shadow:0 0 16px rgba(56,189,248,.15)}
body.neo .body-frame{border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.4)}
body.neo .attach a{color:#bae6fd;background:rgba(56,189,248,.08);border-color:var(--glass-line2);border-radius:10px}
body.neo .empty-read,body.neo .people-empty{color:var(--muted)}
body.neo .avatar{background:linear-gradient(140deg,rgba(56,189,248,.4),rgba(129,140,248,.35));color:#fff;box-shadow:0 0 12px rgba(56,189,248,.3)}
body.neo .person-lines a{color:#7dd3fc}

/* календарь */
body.neo .cal-head button,body.neo .cal-head .cal-views button{background:rgba(8,14,30,.5);border-color:var(--glass-line2);color:var(--ink)}
body.neo .cal-views{border-color:var(--glass-line2)}
body.neo .cal-head .cal-views button.is-on{background:var(--grad);color:#03111d}
body.neo .cal-grid>div{border-top-color:var(--line)}
body.neo .cal-grid .out{color:#4f6a96}
body.neo .cal-grid .today{background:rgba(56,189,248,.16);box-shadow:inset 0 0 0 1px rgba(56,189,248,.45)}
body.neo .cal-event,body.neo .tg-event{background:rgba(56,189,248,.18);color:#e0f2fe}
body.neo .cal-event.all-day{background:var(--grad);color:#03111d}
body.neo .cal-time,body.neo .tg-row,body.neo .tg-day,body.neo .tg-col,body.neo .tg-cell{border-color:var(--line)}
body.neo .tg-day{background:transparent}
body.neo .tg-col{background-image:repeating-linear-gradient(to bottom,rgba(148,197,255,.1) 0,rgba(148,197,255,.1) 1px,transparent 1px,transparent 44px)}
body.neo .cal-detail{background:rgba(56,189,248,.08);border-color:rgba(56,189,248,.35)}
body.neo .cal-detail-actions button{background:rgba(8,14,30,.5);border-color:var(--glass-line2);color:var(--ink)}

/* поля, окна, письмо */
body.neo .modal{background:rgba(3,7,18,.55);backdrop-filter:blur(8px)}
body.neo .modal-card,body.neo .compose,body.neo .folder-move-menu,body.neo .folder-form{
  background:linear-gradient(160deg,rgba(20,32,60,.9),rgba(9,16,32,.92));border:1px solid var(--glass-line2);color:var(--ink);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 50px rgba(56,189,248,.12);
}
body.neo .modal-card{border-radius:20px}
body.neo .compose{border-radius:18px 18px 0 0;overflow:hidden}
body.neo .compose header{background:linear-gradient(120deg,rgba(56,189,248,.3),rgba(129,140,248,.25))}
body.neo .compose footer,body.neo .compose-later{background:transparent}
body.neo .compose label{border-bottom-color:var(--line)}
body.neo .compose input,body.neo .compose textarea{background:transparent;color:var(--ink)}
body.neo .modal-card input,body.neo .modal-card select,body.neo .modal-card textarea,body.neo .folder-form input,body.neo .folder-form select,
body.neo .person-form input,body.neo .person-form textarea,body.neo .cal-form input,body.neo .contact-picker input,body.neo .compose-later input{
  background:rgba(5,10,22,.6);border-color:var(--glass-line2);color:var(--ink);border-radius:10px;
}
body.neo .modal-card select option,body.neo .folder-form select option{background:#0a1020}
body.neo .modal-actions button,body.neo .folder-actions button,body.neo .pick-contact,body.neo .compose-later button{background:rgba(8,14,30,.5);border-color:var(--glass-line2);color:var(--ink);border-radius:10px}
body.neo .modal-card .check{color:var(--ink)}
body.neo input[type=checkbox]{accent-color:#38bdf8}
body.neo ::-webkit-scrollbar{width:10px;height:10px}
body.neo ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(56,189,248,.35),rgba(129,140,248,.35));border-radius:10px;border:2px solid transparent;background-clip:padding-box}
@media (prefers-reduced-motion:reduce){
  body.neo *,body.neo *::before{animation-duration:.001ms!important;animation-iteration-count:1!important}
  #neo-backdrop{display:none}
}
