/*
Theme Name: VicRom
Theme URI: https://vicrom.ru/
Author: VicRom
Description: Закрытая мультитема для персонального портала WordPress: библиотека, почта, банки и безопасный доступ к менеджеру паролей.
Version: 1.2.1
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: vicrom
License: GPL-2.0-or-later
*/

:root{
  --vicrom-accent:#00ae19;
  --vicrom-accent-dark:#087527;
  --vicrom-sidebar:#063a1d;
  --vicrom-sidebar-deep:#032813;
  --vicrom-bg:#edf5ef;
  --vicrom-surface:#ffffff;
  --vicrom-text:#173023;
  --vicrom-muted:#718078;
  --vicrom-border:#dce9df;
  --vicrom-radius:20px;
  --vicrom-space:24px;
  --vicrom-shadow:0 10px 35px rgba(13,65,32,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vicrom-bg);color:var(--vicrom-text);font-family:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.55}
body.vicrom-scheme-dark{--vicrom-bg:#0c1710;--vicrom-surface:#132219;--vicrom-text:#e9f7ec;--vicrom-muted:#a1b5a7;--vicrom-border:#294132;--vicrom-shadow:0 12px 38px rgba(0,0,0,.22)}
body.vicrom-scheme-light{--vicrom-sidebar:#f5fbf6;--vicrom-sidebar-deep:#e4f2e7;--vicrom-bg:#f6faf7;--vicrom-text:#173023;--vicrom-muted:#718078;--vicrom-border:#dce9df}
body.vicrom-scheme-light .vicrom-sidebar{color:#173023;border-right:1px solid var(--vicrom-border)}
body.vicrom-scheme-light .vicrom-brand,body.vicrom-scheme-light .vicrom-brand:hover{color:#0b2c18}
body.vicrom-scheme-light .vicrom-brand-copy small,body.vicrom-scheme-light .vicrom-security-note,body.vicrom-scheme-light .vicrom-logout{color:#557060}
body.vicrom-scheme-light .vicrom-nav a{color:#315640}
body.vicrom-scheme-light .vicrom-nav a:hover{background:#dcefe0;color:#06411f}
body.vicrom-scheme-light .vicrom-security-note{border-color:#cbdccf}
body.vicrom-density-compact{--vicrom-space:17px;--vicrom-radius:14px}
a{color:var(--vicrom-accent-dark);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--vicrom-accent)}
button,input,select,textarea{font:inherit}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.vicrom-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.vicrom-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:25px 18px;background:linear-gradient(180deg,var(--vicrom-sidebar),var(--vicrom-sidebar-deep));color:#fff;z-index:20}
.vicrom-brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px;color:#fff;text-decoration:none}
.vicrom-brand:hover{color:#fff}
.vicrom-brand-logo{width:50px;height:50px;border-radius:15px;object-fit:cover;box-shadow:0 10px 30px rgba(0,174,25,.28)}
.vicrom-brand-copy strong{display:block;font-size:19px;line-height:1.15}.vicrom-brand-copy small{color:#a8cdb4;font-size:12px}
.vicrom-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.vicrom-nav a{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:13px;color:#c9dfcf;text-decoration:none;font-weight:650}
.vicrom-nav a:hover{background:rgba(255,255,255,.09);color:#fff}
.vicrom-nav .current-menu-item>a,.vicrom-nav .current_page_item>a,.vicrom-nav a[aria-current="page"]{background:#fff;color:#06411f;box-shadow:0 8px 22px rgba(0,0,0,.13)}
.vicrom-nav-icon{width:22px;text-align:center}
.vicrom-sidebar-bottom{margin-top:auto;display:grid;gap:9px}
.vicrom-security-note{padding:13px 14px;border:1px solid rgba(255,255,255,.13);border-radius:15px;color:#b9d2c0;font-size:12px}
.vicrom-logout{display:block;padding:9px 12px;color:#bed3c4;text-decoration:none;font-size:13px}.vicrom-logout:hover{color:#fff}

.vicrom-main{min-width:0;padding:27px 32px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--vicrom-surface) 82%,var(--vicrom-bg)) 0%,var(--vicrom-bg) 100%)}
.vicrom-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto 26px;max-width:1400px}
.vicrom-page-heading h1{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15;color:var(--vicrom-text)}
.vicrom-page-heading p{margin:5px 0 0;color:var(--vicrom-muted);font-size:14px}
.vicrom-user{display:flex;align-items:center;gap:11px;color:var(--vicrom-muted);font-size:13px}
.vicrom-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--vicrom-accent) 14%,var(--vicrom-surface));color:var(--vicrom-accent-dark);font-weight:850}
.vicrom-mobile-toggle{display:none;border:0;border-radius:11px;background:var(--vicrom-surface);color:var(--vicrom-text);padding:9px 11px;box-shadow:var(--vicrom-shadow)}
.vicrom-content{max-width:1400px;margin:0 auto}
.vicrom-surface{background:var(--vicrom-surface);border:1px solid var(--vicrom-border);border-radius:var(--vicrom-radius);padding:var(--vicrom-space);box-shadow:var(--vicrom-shadow)}
.vicrom-content>.wp-block-group,.vicrom-content>article{background:var(--vicrom-surface);border:1px solid var(--vicrom-border);border-radius:var(--vicrom-radius);padding:var(--vicrom-space);box-shadow:var(--vicrom-shadow)}
.vicrom-content h2,.vicrom-content h3,.vicrom-content h4{color:var(--vicrom-text);line-height:1.25}
.vicrom-content p{color:var(--vicrom-muted)}
.vicrom-content .wp-block-button__link{background:var(--vicrom-accent);border-radius:11px;color:#fff;font-weight:750}
.vicrom-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--vicrom-accent-dark);border-color:var(--vicrom-accent)}
.vicrom-content input:not([type=checkbox]):not([type=radio]),.vicrom-content select,.vicrom-content textarea{max-width:100%;border:1px solid var(--vicrom-border);border-radius:10px;padding:9px 11px;background:var(--vicrom-surface);color:var(--vicrom-text)}
.vicrom-library-host{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.vicrom-content .vfl-app{--vfl-accent:var(--vicrom-accent-dark);--vfl-paper:var(--vicrom-bg);--vfl-card:var(--vicrom-surface);--vfl-line:var(--vicrom-border);--vfl-ink:var(--vicrom-text);--vfl-muted:var(--vicrom-muted)}
body.vicrom-scheme-dark .vfl-sidebar{background:#17291d}
body.vicrom-scheme-dark .vfl-search input,body.vicrom-scheme-dark .vfl-header-tools select,body.vicrom-scheme-dark .vfl-dialog,body.vicrom-scheme-dark .vfl-form-dialog input,body.vicrom-scheme-dark .vfl-form-dialog textarea,body.vicrom-scheme-dark .vfl-form-dialog select,body.vicrom-scheme-dark .vfl-form-actions button,body.vicrom-scheme-dark .vfl-front-link-row button,body.vicrom-scheme-dark .vfl-add-link-button,body.vicrom-scheme-dark .vfl-primary-action.vfl-secondary-action,body.vicrom-scheme-dark .vfl-subcard,body.vicrom-scheme-dark .vfl-subcard-actions button,body.vicrom-scheme-dark .vfl-icon-library-grid>button{background:var(--vicrom-surface);color:var(--vicrom-text)}
body.vicrom-scheme-dark .vfl-icon-upload,body.vicrom-scheme-dark .vfl-attachment-upload,body.vicrom-scheme-dark .vfl-card-files>summary,body.vicrom-scheme-dark .vfl-subcards>summary,body.vicrom-scheme-dark .vfl-subcards-body,body.vicrom-scheme-dark .vfl-icon-library-dialog form{background:#17291d}

.vicrom-section-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.vicrom-section-intro h2{margin:0 0 5px}.vicrom-section-intro p{margin:0}
.vicrom-safe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.vicrom-safe-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--vicrom-border);border-radius:calc(var(--vicrom-radius) - 4px);background:color-mix(in srgb,var(--vicrom-surface) 94%,var(--vicrom-accent));color:var(--vicrom-text);text-decoration:none}
.vicrom-safe-card:hover{border-color:color-mix(in srgb,var(--vicrom-accent) 55%,var(--vicrom-border));transform:translateY(-1px)}
.vicrom-safe-card-icon{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--vicrom-accent) 12%,var(--vicrom-surface));font-size:21px}
.vicrom-safe-card strong{display:block}.vicrom-safe-card small{display:block;color:var(--vicrom-muted)}
.vicrom-warning{margin-top:20px;padding:13px 15px;border-radius:12px;background:#fff8dc;color:#695714;border:1px solid #eadb9b;font-size:13px}
.vicrom-edit-link{display:inline-flex;margin-top:18px;padding:9px 13px;border-radius:10px;background:color-mix(in srgb,var(--vicrom-accent) 11%,var(--vicrom-surface));color:var(--vicrom-accent-dark);text-decoration:none;font-weight:700;font-size:13px}
.vicrom-empty{padding:30px;text-align:center;border:1px dashed var(--vicrom-border);border-radius:15px;color:var(--vicrom-muted)}

.vicrom-footer{max-width:1400px;margin:16px auto 0;padding:8px 0;text-align:center;color:var(--vicrom-muted);font-size:11px}
.vicrom-footer a{color:inherit}
.vicrom-footer .vicrom-counter{margin-top:5px}
body.admin-bar .vicrom-sidebar{top:32px;height:calc(100vh - 32px)}

@media(max-width:900px){
  .vicrom-shell{grid-template-columns:86px minmax(0,1fr)}
  .vicrom-brand{justify-content:center;padding-left:0;padding-right:0}.vicrom-brand-copy{display:none}
  .vicrom-nav a{justify-content:center;font-size:0}.vicrom-nav-icon{font-size:19px}
  .vicrom-security-note{display:none}.vicrom-logout{text-align:center;font-size:0}.vicrom-logout::before{content:"↪";font-size:19px}
}
@media(max-width:640px){
  body.admin-bar .vicrom-sidebar{top:46px;height:calc(100vh - 46px)}
  .vicrom-shell{display:block}.vicrom-sidebar{position:fixed;inset:0 auto 0 0;width:min(285px,86vw);height:100vh!important;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.25)}
  body.vicrom-menu-open .vicrom-sidebar{transform:translateX(0)}
  .vicrom-brand{justify-content:flex-start;padding:0 8px 28px}.vicrom-brand-copy{display:block}
  .vicrom-nav a{justify-content:flex-start;font-size:15px}.vicrom-nav-icon{font-size:18px}
  .vicrom-security-note{display:block}.vicrom-logout{font-size:13px;text-align:left}.vicrom-logout::before{content:none}
  .vicrom-main{padding:18px 15px}.vicrom-topbar{align-items:flex-start}.vicrom-mobile-toggle{display:block}.vicrom-user-name{display:none}
  .vicrom-safe-grid{grid-template-columns:1fr}.vicrom-surface{padding:18px}.vicrom-section-intro{display:block}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Отдельная страница входа в портал. */
body.vicrom-custom-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#f7fbf8,#e5f2e8)}
.vicrom-login-card{width:min(390px,100%);padding:31px;background:#fff;border:1px solid #d8e6db;border-radius:24px;box-shadow:0 25px 75px rgba(4,58,24,.15)}
.vicrom-login-brand{text-align:center;margin-bottom:23px}.vicrom-login-brand img{width:82px;height:82px;border-radius:24px;box-shadow:0 14px 38px rgba(0,90,22,.18)}.vicrom-login-brand h1{margin:14px 0 3px;color:#10341d;font-size:25px}.vicrom-login-brand p{margin:0;color:#758279;font-size:13px}
.vicrom-login-card form p{margin:0 0 14px}.vicrom-login-card label{display:block;margin-bottom:5px;color:#476052;font-size:12px;font-weight:700}.vicrom-login-card input[type=text],.vicrom-login-card input[type=password]{width:100%;padding:11px 12px;border:1px solid #cbdccf;border-radius:10px;background:#fbfdfb;color:#173023}.vicrom-login-card input:focus{outline:3px solid rgba(0,174,25,.13);border-color:var(--vicrom-accent)}
.vicrom-login-card .login-remember label{display:flex;align-items:center;gap:7px;font-weight:500}.vicrom-login-card .login-submit{margin-top:19px!important}.vicrom-login-card .button-primary{width:100%;padding:12px;border:0;border-radius:10px;background:var(--vicrom-accent);color:#fff;font-weight:760;cursor:pointer}.vicrom-login-card .button-primary:hover{filter:brightness(.94)}
.vicrom-login-error{padding:11px 13px;margin:0 0 16px;border:1px solid #efc6c2;border-radius:10px;background:#fff2f0;color:#8e332a;font-size:13px}.vicrom-login-links{text-align:center;margin:16px 0 0;font-size:12px}.vicrom-login-links a{color:#386347}
