:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color-scheme:dark;--bg:#091527;--bg2:#132541;--sidebar:#0b1930ed;--panel:#203554a8;--panel-solid:#1a2c46;--panel-border:#ffffff1a;--text:#eef5ff;--muted:#a5b8d0;--subtle:#758eac;--accent:#70b5ff;--line:#ffffff1a;--shadow:#030c1a4d;--input:#10223c;--button:#337ec8}
:root[data-theme=light]{color-scheme:light;--bg:#e9f1fa;--bg2:#d7e5f6;--sidebar:#f9fcfff2;--panel:#ffffffc9;--panel-solid:#fff;--panel-border:#7e9cbd36;--text:#1c3451;--muted:#536d8b;--subtle:#6f86a1;--accent:#1769bb;--line:#6989ab36;--shadow:#547ca125;--input:#f7fbff;--button:#2369b5}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body{background:radial-gradient(ellipse at 90% 5%,#345e9d44,transparent 42%),radial-gradient(ellipse at 20% 95%,#38549d30,transparent 45%),linear-gradient(140deg,var(--bg),var(--bg2));color:var(--text);font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.dms-app{display:flex;min-height:100vh}.dms-sidebar{position:sticky;top:0;flex:0 0 282px;width:282px;height:100vh;overflow:auto;padding:27px 16px 18px;background:var(--sidebar);border-right:1px solid var(--line);backdrop-filter:blur(24px);display:flex;flex-direction:column;z-index:20;transition:width .2s,flex-basis .2s}.dms-brand{display:flex;gap:11px;align-items:center;padding:2px 9px 28px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:none;background:linear-gradient(135deg,#4f98e9,#1954a1);border-radius:13px;font-size:24px;font-weight:800;color:white;box-shadow:0 9px 20px #286dc64d}.brand-text{font-size:13px;font-weight:800;letter-spacing:.6px;white-space:nowrap}.brand-text strong{color:var(--accent)}.brand-text small{display:block;margin-top:5px;font-size:9px;font-weight:600;letter-spacing:1.4px;color:var(--subtle)}.sidebar-heading{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--subtle);margin:13px 15px 12px;white-space:nowrap}.sidebar-heading-secondary{margin-top:29px}.dms-nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:12px;text-decoration:none;color:var(--muted);min-height:44px;font-weight:550;transition:background .15s,color .15s}.nav-link:hover{background:#729cc51c;color:var(--text)}.nav-link.active{background:linear-gradient(100deg,#377cce45,#3a6fae1a);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.nav-icon{font-size:20px;width:24px;text-align:center;flex:none;color:var(--accent)}.nav-label{flex:1}.nav-pending{cursor:default}.pending-dot{width:5px;height:5px;border-radius:50%;background:var(--subtle);opacity:.55}.sidebar-bottom{margin-top:auto;padding:23px 10px 0;display:flex;align-items:center;gap:10px;color:var(--subtle);font-size:11px;border-top:1px solid var(--line)}.sidebar-status,.status-light{display:inline-block;width:8px;height:8px;border-radius:50%;background:#52d4b2;box-shadow:0 0 13px #52d4b266}.dms-main{min-width:0;flex:1}.dms-topbar{position:sticky;top:0;z-index:10;height:78px;padding:0 36px;display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--panel);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:17px}.topbar-title{font-size:14px;font-weight:650;color:var(--muted)}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);font-size:19px}.icon-button:hover{border-color:var(--accent)}.theme-sun{display:none}:root[data-theme=light] .theme-moon{display:none}:root[data-theme=light] .theme-sun{display:inline}.user-chip{display:flex;align-items:center;gap:10px;white-space:nowrap}.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#438ad047;color:white;font-weight:800;border:1px solid #7bb8fa66}.user-name{font-weight:650}.logout-button{padding:9px 15px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}.logout-button:hover{border-color:var(--accent)}.dms-content{max-width:1700px;margin:auto;padding:34px 38px 60px}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--accent)}h1{font-size:29px;letter-spacing:-.8px;margin:9px 0}p{line-height:1.65}.page-intro p,.section-heading p{color:var(--muted);margin:0}.environment-pill{white-space:nowrap;display:flex;align-items:center;gap:10px;padding:11px 15px;background:var(--panel);border:1px solid var(--line);border-radius:50px;color:var(--muted);font-size:12px}.hero-panel{position:relative;overflow:hidden;min-height:248px;border:1px solid #85b5f02b;border-radius:22px;background:linear-gradient(110deg,#2e63a37a,#1632588c 62%,#3d548d55),radial-gradient(circle at 85% 45%,#7b9dff66,transparent 36%);box-shadow:0 20px 60px var(--shadow);padding:37px 42px;backdrop-filter:blur(22px)}:root[data-theme=light] .hero-panel{background:linear-gradient(110deg,#c7e1ff,#e1eafa 60%,#ccdafa)}.hero-copy{position:relative;z-index:1}.hero-tag{font-size:10px;letter-spacing:1.6px;color:var(--accent);font-weight:800}.hero-panel h2{font-size:clamp(22px,2.3vw,34px);letter-spacing:-.8px;line-height:1.32;margin:18px 0 12px}.hero-panel h2 span{color:#91c9ff}:root[data-theme=light] .hero-panel h2 span{color:#2771b5}.hero-panel p{max-width:600px;color:var(--muted);margin:0}.hero-decoration{position:absolute;right:8%;top:10%;font-size:180px;color:#a5c7ff18;transform:rotate(-14deg)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:34px 0 17px}.section-heading h2{margin:0 0 6px;font-size:19px}.section-count{font-size:12px;color:var(--subtle)}.section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.section-card,.glass-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;backdrop-filter:blur(18px);box-shadow:0 12px 36px var(--shadow)}.section-card{min-height:218px;padding:23px 24px;display:flex;flex-direction:column}.section-card-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;font-size:24px;background:#4e94f02e;color:#91c6ff}.color-cyan{background:#35b5d92b;color:#7ae5ff}.color-purple{background:#9d78f02b;color:#bda9ff}.color-mint{background:#48c4a82b;color:#83e9d0}.color-amber{background:#e5ad4a2b;color:#f5d18c}.color-pink{background:#d77cbd2b;color:#f1a8d9}.color-gold{background:#c9a04d2b;color:#f4d28c}.section-card h3{font-size:15px;margin:18px 0 5px}.section-card p{font-size:12px;color:var(--muted);margin:0}.card-foot{margin-top:auto;padding-top:17px;display:flex;justify-content:space-between;color:var(--subtle);font-size:11px}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:22px}.glass-panel{padding:24px}.glass-panel h3{margin:0;font-size:16px}.glass-panel>p{color:var(--muted);font-size:12px}.empty-state{margin-top:20px;border:1px dashed var(--line);padding:22px;border-radius:12px;color:var(--subtle);text-align:center;font-size:12px}.empty-state span{font-size:23px;margin-right:8px}.security-line{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.security-line span:first-child{color:#71bfff}.security-line span:nth-child(2){flex:1}.security-line strong{font-size:11px;color:#6dd6b3}.security-note{color:var(--subtle);font-size:11px;margin-top:14px}.sidebar-collapsed .dms-sidebar{flex-basis:76px;width:76px}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar-heading,.sidebar-collapsed .nav-label,.sidebar-collapsed .pending-dot{display:none}.sidebar-collapsed .dms-brand{padding-left:1px}.sidebar-collapsed .nav-link{justify-content:center;padding:11px}.mobile-toggle,.mobile-overlay{display:none}
/* Login and password-change pages retain existing class names. */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:450px;padding:38px;background:var(--panel);border:1px solid var(--panel-border);border-radius:22px;box-shadow:0 24px 70px var(--shadow);backdrop-filter:blur(28px)}.auth-brand{font-size:16px;font-weight:850;letter-spacing:2px}.auth-brand span{color:var(--accent)}.auth-card h1{font-size:26px;margin:25px 0 8px}.auth-subtitle,.auth-footer{color:var(--muted);font-size:13px}.auth-card label{display:block;font-size:13px;font-weight:650;margin:17px 0 8px}.auth-card input{width:100%;padding:12px 14px;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:10px;outline:none}.auth-card input:focus{border-color:var(--accent)}.auth-card button{width:100%;padding:12px 15px;margin-top:23px;border:0;border-radius:10px;background:var(--button);color:white;font-weight:700}.auth-card button:disabled{opacity:.65}.field-error{font-size:12px;color:#ff9999}.auth-footer{text-align:center;margin-top:22px}.auth-secondary button{background:transparent;border:1px solid var(--line);color:var(--text)}
/* Keep existing administration page legible even before its dedicated redesign. */
.dms-content input,.dms-content select,.dms-content textarea{color:var(--text)}
@media(max-width:1180px){.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dms-sidebar{flex-basis:248px;width:248px}.dms-content{padding:28px 24px}}
@media(max-width:760px){.dms-sidebar{position:fixed;left:0;transform:translateX(-110%);width:282px;transition:transform .2s}.mobile-menu-open .dms-sidebar{transform:translateX(0)}.mobile-menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:#0008;z-index:15}.sidebar-toggle{display:none}.mobile-toggle{display:block}.dms-topbar{height:68px;padding:0 16px}.topbar-title,.user-name{display:none}.topbar-actions{gap:8px}.dms-content{padding:23px 16px}.section-grid,.dashboard-bottom{grid-template-columns:1fr}.hero-panel{padding:26px}.hero-decoration{display:none}.page-intro{align-items:flex-start;flex-direction:column}.environment-pill{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}


/* User administration — shared Dark Navy / Light Glassmorphism theme. */
.users-page{width:100%;max-width:1240px;margin:0 auto;color:var(--text)}
.users-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.users-top h1{font-size:29px;letter-spacing:-.8px;margin:0 0 6px;color:var(--text)}
.users-top p{color:var(--muted);margin:0}
.users-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:26px;margin:18px 0;box-shadow:0 12px 36px var(--shadow);backdrop-filter:blur(18px)}
.users-panel h2{margin:0 0 21px;font-size:18px;color:var(--text)}
.users-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px}
.users-form>label{display:block;color:var(--muted);font-size:13px;font-weight:650}
.users-form input:not([type=checkbox]),.users-form select{width:100%;display:block;margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:var(--input);color:var(--text);outline:none;min-height:43px}
.users-form input:focus,.users-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5498db30}
.users-form input::placeholder{color:var(--subtle)}
.users-flags,.users-actions,.users-errors{grid-column:1/-1}
.users-flags{display:flex;gap:25px;flex-wrap:wrap;color:var(--muted)}
.users-flags label{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer}
.users-flags input{accent-color:var(--button);width:16px;height:16px}
.users-actions{display:flex;gap:10px;flex-wrap:wrap}
.users-actions button,.users-scroll button{border:1px solid transparent;border-radius:10px;background:var(--button);color:#fff;padding:10px 16px;font-weight:650;cursor:pointer}
.users-actions button:hover,.users-scroll button:hover{filter:brightness(1.12)}
.users-actions button:disabled{opacity:.6;cursor:wait}
.users-actions .users-secondary{background:var(--panel-solid);border-color:var(--line);color:var(--text)}
.users-scroll{overflow-x:auto}
.users-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;color:var(--text)}
.users-scroll th,.users-scroll td{padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:middle}
.users-scroll th{color:var(--muted);font-weight:700;white-space:nowrap}
.users-scroll tbody tr:hover{background:#709ac211}
.users-scroll button{padding:8px 12px}
.users-errors{color:#ff9b9b}.users-errors p{margin:3px 0}
.users-success{padding:13px 16px;background:#2b9b6a25;color:#84e0b7;border:1px solid #61cda344;border-radius:11px}
:root[data-theme=light] .users-errors{color:#b42318}
:root[data-theme=light] .users-success{color:#1b754b;background:#e5f6ed;border-color:#aad9be}
@media(max-width:760px){.users-form{grid-template-columns:1fr}.users-panel{padding:18px}.users-top h1{font-size:25px}}

/* Shared repository registry */
.repo-layout{display:grid;grid-template-columns:minmax(270px,1fr) minmax(350px,1.5fr);gap:18px;align-items:start}
.repo-btn{display:inline-block;background:var(--button);border:1px solid transparent;border-radius:10px;color:#fff;padding:11px 17px;font-weight:700;text-decoration:none;cursor:pointer}
.repo-secondary{background:var(--panel-solid);color:var(--text);border-color:var(--line)}
.repo-input{display:block;width:100%;margin:10px 0 14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--text)}
.repo-list{display:grid;gap:8px;max-height:650px;overflow:auto}.repo-item{display:flex;flex-direction:column;text-align:left;gap:7px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--input);color:var(--text)}
.repo-item.selected,.repo-item:hover{border-color:var(--accent)}.repo-item small,.repo-muted,.repo-file small{color:var(--muted)}.repo-description{white-space:pre-wrap;color:var(--muted)}
.repo-form{display:grid;gap:9px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.repo-form label,.repo-upload label{font-weight:650;font-size:13px}.repo-form .repo-input{margin:7px 0}
.repo-subtitle{margin-top:26px!important}.repo-file{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.repo-file-actions{display:flex;gap:10px;align-items:center}.repo-file-actions a,.repo-file-actions button{color:var(--accent);background:none;border:0;cursor:pointer}.repo-upload{display:grid;gap:14px;margin-top:18px}.repo-upload input{display:block;margin-top:9px;max-width:100%}
.repo-warning,.repo-notice{border-radius:12px;padding:14px 17px;margin-bottom:20px;background:var(--panel);border:1px solid var(--line);color:var(--muted)}.repo-warning{border-color:#d5a74e66}.repo-card-link{text-decoration:none;color:var(--text);transition:transform .16s,border-color .16s}.repo-card-link:hover{transform:translateY(-2px);border-color:var(--accent)}
@media(max-width:900px){.repo-layout{grid-template-columns:1fr}}

/* Product catalog */
.repo-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.repo-modal-backdrop{position:fixed;inset:0;background:#030c1ac9;display:grid;place-items:center;z-index:100;padding:20px}
.repo-modal{width:min(100%,510px);display:grid;gap:12px;background:var(--panel-solid)}
.repo-modal label{font-weight:650;font-size:13px}
.repo-modal h3{margin-bottom:8px}
@media(max-width:760px){.repo-toolbar{width:100%}.repo-toolbar .repo-btn{flex:1}}


/* TechnoPlastic DMS — единый выбор файла во всех разделах.
   Нативный input сохраняется: Livewire wire:model, drag/drop браузера,
   проверки размера/типа и обработчики загрузки не затрагиваются. */
input[type="file"] {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: 9px;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--input);
    color: var(--muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
input[type="file"]::file-selector-button {
    appearance: none;
    -webkit-appearance: none;
    margin-right: 14px;
    padding: 10px 16px;
    border: 1px solid #529cde;
    border-radius: 9px;
    background: linear-gradient(180deg, #3f91dd, #276eb4);
    color: #fff;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.25;
    cursor: pointer;
    box-shadow: 0 2px 7px #07192a33;
    transition: background .15s ease, border-color .15s ease;
}
input[type="file"]:hover { border-color: var(--accent); }
input[type="file"]:hover::file-selector-button {
    background: linear-gradient(180deg, #55a5eb, #327fc8);
    border-color: #78bdff;
}
input[type="file"]:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}
input[type="file"]:disabled { opacity: .55; cursor: not-allowed; }
input[type="file"]:disabled::file-selector-button { cursor: not-allowed; }
:root[data-theme="light"] input[type="file"]::file-selector-button {
    background: linear-gradient(180deg, #3486d1, #2367ac);
}
@media (max-width: 600px) {
    input[type="file"] { padding: 8px; font-size: 12px; }
    input[type="file"]::file-selector-button { padding: 9px 11px; margin-right: 9px; }
}
