:root {
      color-scheme: light;
      --bg: #f7f2eb;
      --bg-shift-x: 0px;
      --bg-shift-y: 0px;
      --bg-glow-x: 50%;
      --bg-glow-y: 6%;
      --panel: rgba(255, 255, 255, .82);
      --panel-2: rgba(255, 251, 246, .94);
      --ink: #2a1d17;
      --muted: #6d5f55;
      --soft: #9f8d80;
      --line: rgba(102, 72, 48, .18);
      --accent: #e23b3b;
      --accent-2: #ff6a6a;
      --green: #128d61;
      --shadow: rgba(109, 81, 54, .18);
      --field-bg: rgba(255, 255, 255, .76);
      --field-bg-strong: rgba(255, 255, 255, .94);
      --soft-panel: rgba(255, 255, 255, .56);
      --hover-panel: linear-gradient(90deg, rgba(226, 59, 59, .13), rgba(255, 255, 255, .82));
      --table-head-bg: rgba(255, 249, 241, .98);
      --table-cell-bg: rgba(255, 255, 255, .74);
      --table-row-alt: rgba(226, 59, 59, .035);
      --table-frozen-bg: rgba(255, 250, 244, .98);
      --table-frozen-alt: rgba(252, 244, 236, .98);
      --table-frozen-hover: linear-gradient(90deg, rgba(255, 226, 224, .98), rgba(255, 248, 241, .98));
      --column-line: rgba(102, 72, 48, .12);
      --menu-bg: rgba(255, 255, 255, .98);
      --status-bg: #fffaf4;
      --status-ink: #2c2019;
      --gtin-ink: #7d1717;
      --control-scheme: light;
      --b2b-flag-bg: rgba(255, 193, 7, .22);
      --b2b-flag-ink: #7a5b00;
      --age-orange: #b36b00;
      --age-red: #c62828;
    }
    :root[data-theme="dark"] {
      color-scheme: dark;
      --bg: #050403;
      --panel: rgba(22, 21, 20, .78);
      --panel-2: rgba(34, 32, 30, .86);
      --ink: #fff7ee;
      --muted: #b8aaa0;
      --soft: #756a62;
      --line: rgba(255, 255, 255, .12);
      --green: #2dd08c;
      --shadow: rgba(0, 0, 0, .45);
      --field-bg: rgba(255, 255, 255, .08);
      --field-bg-strong: rgba(255, 255, 255, .10);
      --soft-panel: rgba(255, 255, 255, .04);
      --hover-panel: linear-gradient(90deg, rgba(226, 59, 59, .18), rgba(255, 255, 255, .055));
      --table-head-bg: rgba(17, 16, 15, .96);
      --table-cell-bg: transparent;
      --table-row-alt: rgba(255, 255, 255, .02);
      --table-frozen-bg: rgba(21, 19, 18, .98);
      --table-frozen-alt: rgba(24, 22, 21, .98);
      --table-frozen-hover: linear-gradient(90deg, rgba(57, 28, 28, .98), rgba(35, 27, 26, .98));
      --column-line: rgba(255, 255, 255, .08);
      --menu-bg: rgba(28, 25, 25, .98);
      --status-bg: #070706;
      --status-ink: #f6efe6;
      --gtin-ink: #fff;
      --control-scheme: dark;
      --b2b-flag-bg: rgba(255, 193, 7, .16);
      --b2b-flag-ink: #ffd866;
      --age-orange: #e0a530;
      --age-red: #ff6b6b;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      font-family: Inter, "Segoe UI", Arial, sans-serif;
      color: var(--ink);
      background:
        linear-gradient(135deg, rgba(226, 59, 59, .18), transparent 28%),
        radial-gradient(ellipse at var(--bg-glow-x) var(--bg-glow-y), rgba(233, 70, 70, .34), transparent 36%),
        radial-gradient(ellipse at calc(92% + var(--bg-shift-x) * .14) calc(74% + var(--bg-shift-y) * .12), rgba(226, 59, 59, .18), transparent 22%),
        var(--bg);
      background-attachment: fixed;
      background-position:
        calc(var(--bg-shift-x) * .10) calc(var(--bg-shift-y) * .08),
        0 0,
        0 0,
        0 0;
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        repeating-radial-gradient(ellipse at calc(50% + var(--bg-shift-x) * .22) calc(12% + var(--bg-shift-y) * .18), rgba(226, 59, 59, .20) 0 1px, transparent 1px 22px),
        linear-gradient(180deg, transparent, rgba(0, 0, 0, .74) 42%, #050403 100%);
      opacity: .78;
      transform: translate3d(calc(var(--bg-shift-x) * .28), calc(var(--bg-shift-y) * .28), 0);
      transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease;
    }
    :root:not([data-theme="dark"]) body::before {
      background:
        repeating-radial-gradient(ellipse at calc(50% + var(--bg-shift-x) * .22) calc(12% + var(--bg-shift-y) * .18), rgba(226, 59, 59, .14) 0 1px, transparent 1px 22px),
        linear-gradient(180deg, rgba(255, 255, 255, .32), rgba(247, 242, 235, .72) 46%, #f7f2eb 100%);
      opacity: .84;
    }
    main {
      position: relative;
      width: min(1220px, calc(100% - 28px));
      margin: 0 auto;
      padding: 18px 0 46px;
    }
    header.hero {
      min-height: 280px;
      display: grid;
      align-content: center;
      justify-items: center;
      text-align: center;
      padding: 10px 0 28px;
      min-height: 220px;
    }
/* Tokens and background above are shared with Mannupserv's current web theme. */
.workspace-tools{display:flex;gap:10px;margin:0 0 14px;justify-content:flex-end;flex-wrap:wrap}
.file-name{display:flex;align-items:center;gap:10px}
.file-thumb{width:72px;height:92px;object-fit:contain;flex:none;background:#fff;border:1px solid var(--line);border-radius:8px}
.photo-preview{position:fixed;width:288px;height:368px;max-width:calc(100vw - 28px);max-height:calc(100vh - 28px);object-fit:contain;pointer-events:none;z-index:20;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 16px 50px #0005}
.trash-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.trash-row strong{overflow-wrap:anywhere}.trash-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px;overflow-wrap:anywhere}.trash-empty{padding:40px;text-align:center}#trash-notice{padding:12px;margin-top:16px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}
@media(max-width:700px){.trash-row{align-items:flex-start;flex-direction:column}.trash-row .row-actions{flex-direction:row;flex-wrap:wrap}.file-thumb{width:54px;height:69px}}
:root{font-size:14px}.topbar{width:100%;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:14px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;text-align:left}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 8px 22px rgba(226,59,59,.25);font-size:14px}.theme-switcher{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.theme-switcher button{border:0;border-radius:999px;padding:7px 13px;background:transparent;box-shadow:none;font-size:12px;color:var(--muted)}.theme-switcher button.selected{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.7px;margin:5px 0 14px;font-weight:850}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 10px}p{color:var(--muted);line-height:1.65;margin:0}.hero-description{font-size:15px}.badge{justify-self:end;padding:8px 13px;background:var(--panel);border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}
button,input,textarea{font:inherit;color:var(--ink);border-radius:12px;border:1px solid var(--line);padding:10px 13px;background:var(--field-bg)}button{cursor:pointer;font-weight:700;white-space:nowrap;transition:transform .14s ease,filter .14s ease}button:hover{filter:brightness(.97);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:wait;transform:none}.primary{border:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 10px 24px rgba(226,59,59,.22)}.quiet{background:rgba(120,120,120,.08);box-shadow:none}.actions{display:flex;gap:10px}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}#workspace{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(14px);box-shadow:0 18px 50px var(--shadow)}.file-panel{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--field-bg)}.file-toolbar{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}#breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:3px}#breadcrumbs button{padding:5px 7px;border:0;background:none;font-size:13px}#breadcrumbs span{color:var(--soft)}.table-wrap{overflow:auto;max-height:60vh}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;color:var(--muted);background:var(--table-head-bg);padding:12px 17px;position:sticky;top:0;z-index:1}td{padding:13px 17px;border-top:1px solid var(--line);font-size:13px}tbody tr:nth-child(even){background:var(--table-row-alt)}tbody tr:hover{background:rgba(226,59,59,.06)}td:first-child{width:55%}td:nth-child(2),td:nth-child(3){color:var(--muted);white-space:nowrap}.file-name{background:none;border:0;box-shadow:none;padding:0;font-weight:600;max-width:500px;white-space:normal;word-break:break-word;text-align:left}.file-icon{display:inline-grid;place-items:center;background:rgba(226,59,59,.10);color:var(--accent);width:31px;height:31px;border-radius:8px;margin-right:10px;font-size:20px;vertical-align:middle}.file-icon.doc{background:rgba(120,120,120,.10);color:var(--muted)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.row-actions button{font-size:12px;padding:7px 10px}.delete{color:var(--accent)}footer{padding:14px 17px;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.footnote{font-size:12px;margin-top:18px}#empty{text-align:center;padding:65px 20px}.empty-icon{font-size:45px;color:var(--soft)}#empty h3{margin:10px;font-size:16px}#empty p{font-size:13px}.dragover{outline:3px dashed var(--accent);outline-offset:4px}#notice{position:fixed;bottom:25px;right:30px;background:var(--panel-2);color:var(--ink);padding:16px 23px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;max-width:600px;box-shadow:0 8px 32px var(--shadow);z-index:4}#notice.error{border-left-color:var(--accent)}#transfer{margin-top:20px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:16px 23px}#transfer>div{display:flex;justify-content:space-between;align-items:center;gap:12px}progress{width:100%;height:8px;accent-color:var(--accent);margin:12px 0}#transfer-note{color:var(--muted)}.login-card{max-width:520px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px;margin:12px auto 35px;backdrop-filter:blur(16px);box-shadow:0 20px 60px var(--shadow)}.login-card p{margin:12px 0 22px}.login-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}textarea{resize:vertical;width:100%;font-family:Consolas,monospace;font-size:12px}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(226,59,59,.14)}.login-card .primary{width:100%;margin:14px 0 18px}.login-card>small{color:var(--muted);font-size:12px}#identity{justify-self:end;font-size:12px;color:var(--muted)}#username{margin-right:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
body.desktop{background:var(--bg)}body.desktop::before{display:none}body.desktop main{width:100%;padding:0 0 20px}body.desktop .hero{padding:0;display:block;min-height:0}body.desktop .topbar{display:flex;justify-content:space-between;padding:10px 20px;background:var(--panel-2);border-bottom:1px solid var(--line);margin:0 0 18px}body.desktop h1,body.desktop .hero-description,body.desktop .brand-mark{display:none}body.desktop #workspace{margin:16px;border-radius:16px;box-shadow:none;padding:18px}body.desktop .login-card{margin:60px auto;box-shadow:none}body.desktop .footnote{font-size:11px}body.desktop #empty p{font-size:0}body.desktop #empty p::after{content:'Нажмите «Загрузить файлы», чтобы добавить документы.';font-size:13px}
@media(max-width:850px){.workspace-top{align-items:flex-start;flex-direction:column}td,th{padding:12px}footer span:last-child{display:none}.topbar{grid-template-columns:1fr auto}.theme-switcher{grid-row:2;grid-column:1 / -1;justify-self:center}h1{font-size:34px}}@media(max-width:600px){main{width:calc(100% - 20px);padding-top:12px}.brand{font-size:14px}.brand-mark{width:32px;height:32px}.hero-description{font-size:13px}.login-card{padding:24px;margin:10px auto}#workspace{padding:14px}.actions{width:100%}.actions button{flex:1;padding:10px;font-size:12px}th:nth-child(3),td:nth-child(3){display:none}td:first-child{min-width:160px}.row-actions{flex-direction:column}#notice{left:16px;right:16px;bottom:16px}.file-toolbar{padding:10px}#username{display:block;margin:0 0 5px}.topbar{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#upload-drop{display:flex;flex-direction:column;align-items:center;gap:7px;border:2px dashed var(--line);border-radius:14px;padding:24px;margin:0 0 16px;cursor:pointer;background:var(--field-bg);text-align:center}#upload-drop span{color:var(--muted);font-size:12px}#upload-drop.dragover{border-color:var(--accent);background:rgba(226,59,59,.09);outline:none}.transfer-list{display:grid;gap:10px;margin:12px 0}.transfer-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1.3fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.transfer-name{font-weight:650;overflow-wrap:anywhere}.transfer-sub{display:block;font-size:11px;color:var(--muted);margin-top:5px}.transfer-progress progress{margin:2px 0 6px}.transfer-detail{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.transfer-row.done{border-left:4px solid var(--green)}.transfer-row.failed{border-left:4px solid var(--accent)}.transfer-row button{font-size:12px;padding:8px}#selection-bar{display:flex;gap:12px;align-items:center;padding:13px 16px;margin:16px 0;border-radius:12px;background:rgba(226,59,59,.07);border:1px solid var(--line)}.check-cell{width:40px!important;padding:12px!important}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px;cursor:pointer}td:first-child{width:40px}td:nth-child(2){width:50%;white-space:normal;color:var(--ink)}td:nth-child(3),td:nth-child(4){color:var(--muted);white-space:nowrap}dialog{width:min(900px,calc(100% - 36px));max-height:80vh;border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--panel-2);color:var(--ink);box-shadow:0 30px 100px #0007}dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-head p{font-size:13px}body.desktop #empty p{font-size:13px}body.desktop #empty p::after{content:none}@media(max-width:700px){.transfer-row{grid-template-columns:1fr auto}.transfer-progress{grid-row:2;grid-column:1/-1}#selection-bar{flex-wrap:wrap}th:nth-child(4),td:nth-child(4){display:none}th:nth-child(3),td:nth-child(3){display:table-cell}td:first-child{min-width:0}td:nth-child(2){min-width:150px}.actions{flex-wrap:wrap}}

.space-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.space-tabs button{font-size:18px;font-weight:800;background:transparent;border-color:transparent;padding:9px 13px}
.space-tabs button[aria-pressed="true"]{color:var(--accent);background:rgba(226,59,59,.08);border-color:var(--line)}
.space-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#write-actions[hidden]{display:none}
.file-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.folder-file-count{font-size:12px;font-weight:500;color:var(--muted);align-self:center;white-space:nowrap;margin-right:10px}
.view-grid .folder-file-count{flex-basis:100%;margin:0 0 5px;font-size:11px;text-align:center}
.view-switcher{display:flex;border:1px solid var(--line);border-radius:12px;padding:3px;background:var(--soft-panel)}
.view-switcher button{border:0;background:transparent;font-size:12px;padding:7px 10px;border-radius:9px}
.view-switcher button[aria-pressed="true"]{background:var(--accent);color:#fff}
#grid-select-label{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer;white-space:nowrap}
.view-grid table{display:block}
.view-grid thead{display:none}
.view-grid tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;padding:16px}
.view-grid tbody tr{display:flex;flex-direction:column;position:relative;min-width:0;padding:28px 8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.view-grid tbody tr:hover{background:rgba(226,59,59,.05)}
.view-grid tbody tr.selected{border-color:var(--accent);background:rgba(226,59,59,.08)}
.view-grid td{display:block;border:0;padding:0;min-width:0!important;width:auto!important;text-align:center}
.view-grid td.check-cell{position:absolute;top:7px;left:8px;padding:0!important;z-index:1}
.view-grid td:nth-child(3),.view-grid td:nth-child(4){display:none}
.view-grid td:nth-child(2){flex:1}
.view-grid td:last-child{margin-top:12px}
.view-grid .file-name{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;font-weight:500;font-size:12px;text-align:center}
.view-grid .file-thumb{width:110px;height:125px;object-fit:contain;margin:0;border:0;border-radius:4px;background:transparent}
.view-grid .file-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;line-height:1.35;max-width:100%;min-height:32px}
.view-grid .file-icon{display:flex;align-items:center;justify-content:center;width:110px;height:125px;margin:0;font-size:64px;background:transparent}
.view-grid .file-icon:not(.doc){position:relative;height:76px;margin-top:31px;margin-bottom:18px;border:1px solid #dfbb40;border-radius:3px;background:#ffeaa0;color:transparent;font-size:0}
.view-grid .file-icon:not(.doc)::before{content:'';position:absolute;left:-1px;top:-14px;width:45px;height:14px;background:#ffeaa0;border:1px solid #dfbb40;border-bottom:0;border-radius:4px 10px 0 0}
.view-grid .row-actions{justify-content:center;gap:4px;flex-direction:row;flex-wrap:wrap}
.view-grid .row-actions button{font-size:10px;padding:5px 7px;border-radius:8px}
@media(max-width:750px){.file-toolbar{align-items:flex-start;flex-direction:column}.file-toolbar-actions{justify-content:flex-start}.view-grid tbody{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));padding:10px;gap:8px}}
