/* OPTICSP corporate palette, source: opticsp.ru/assets/concept.css */
.spinner{width:20px;height:20px;border:2px solid #32627e;border-top-color:#32bbf2;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.image-preview-loading{min-height:190px;display:flex;align-items:center;justify-content:center;gap:15px;color:#a3c9df}.image-preview-loading p{margin:0}.photo-grid .photo-tile{aspect-ratio:auto;background:#0a263d;border:1px solid #28526f;color:#c1dded;text-align:left}.photo-thumb{display:grid;place-items:center;aspect-ratio:1;width:100%;overflow:hidden;background:#092236;color:#9bc3dc;font-size:11px;text-align:center}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-tile>small{display:block;padding:9px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b6d3e5}#upload-status{position:fixed;bottom:20px;right:20px;width:min(340px,calc(100vw - 40px));z-index:40;display:flex;flex-direction:column;gap:10px;pointer-events:none}.upload-card{border:1px solid #28779e;background:#0a3049;color:#d7eefb;padding:17px;border-radius:12px;box-shadow:0 8px 35px #0006}.upload-card>div{display:flex;align-items:center;gap:10px;font-size:12px}.upload-card p{font-size:11px;line-height:1.5;margin:10px 0;overflow-wrap:anywhere;color:#b0d2e8}.upload-card small{font-size:10px;color:#a5c9df}.upload-card progress{display:block;width:100%;height:7px;margin:10px 0;accent-color:#32bbf2}.upload-card.failed{border-color:#bd794c}.upload-card.failed p{color:#ffc197}.file-selection{line-height:1.7;overflow-wrap:anywhere}
:root{--ink:#f1f8fc;--muted:#9ab5c8;--accent:#ff8a23;--teal:#32bbf2;--bg:#061a2c;--line:#1c3b50;--orange:#ff8a23;--nav:#041522}
.sidebar{border-color:#17354b}.brand-tag{color:#9ac4db;font-size:9px;letter-spacing:1px;margin:15px 0 34px}.nav-title{color:#7898af}.nav-item{color:#b3cbdc}.nav-item.active{background:#0b3b60;color:#8edfff;box-shadow:inset 3px 0 #0085ff}.nav-item.active svg{color:#32bbf2}.nav-item:hover:not(.active){background:#102e46}.nav-item .count{background:#17486b;color:#d5f3ff}.nav-item.active .count{background:#0085ff;color:#fff}.count[hidden]{display:none}.company-brand{gap:10px;letter-spacing:0}.company-mark{height:45px;width:45px;flex-shrink:0}.company-brand strong{display:block;font-size:25px;font-weight:850;letter-spacing:-.6px;color:#f4faff}.company-brand strong>span{color:#21b3f0}.company-brand small{display:block;font-size:9px;letter-spacing:.6px;color:#bed5e3;font-weight:500;margin-top:3px}.platform-name{font-size:14px;letter-spacing:2px;color:#9ac4db;margin:13px 0 0 55px}.support-note{border-color:#20445c;color:#8dadc3;background:linear-gradient(135deg,#0d2d45,#061a2c)}.support-note b{color:#d0e7f4}.user-chip{border-color:#21425b}.user-chip strong{color:#e5f4fc}.avatar{background:#143a54;color:#86d6ff;border-color:#2a658a}.topbar{background:#092235}.breadcrumb b{color:#c5dce9}.online{color:#9ebacd}.online:before{background:#32bbf2}.dot{border-color:#092235;background:#ff8a23}.eyebrow{color:#49c6f4}.btn{background:#10334d;border-color:#28536d;color:#d9eaf5}.btn.primary,.btn.lime{background:#ff8a23;border-color:#ff8a23;color:#1c160f}.btn.ghost{background:#0b293f}.btn:focus-visible,.tab:focus-visible{outline-color:#32bbf2}
.stat,.order,.table-wrap,.notification,.profile-card,.panel,.details-section{background:#0b2a41;border-color:#25465d}.stat.tint{background:linear-gradient(135deg,#0b3c61,#0b263d);border-color:#28668d}.stat-icon{border-color:#28516d;background:#10344e;color:#54c7f4}.stat-label{color:#b2cbdc}.stat-hint{color:#8faec3}.stat-value{color:#f4faff}.tabs{background:#082136;border-color:#204159}.tab{color:#a5c2d6}.tab.active{background:#11466d;color:#a2e7ff}.search{background:#0a263d;border-color:#28516d;color:#9cc1d9}.search input{color:#e1eef7}.order:hover{border-color:#0085ff}.order-num{color:#93b5cd}.badge.open{background:#123e5b;color:#8cddff}.badge.approved,.badge.in_progress{background:#103e60;color:#91d7ff}.location,.deadline{color:#b5cede}.order-desc{color:#a3bed1}.order-footer{background:#092237;border-color:#23465e;color:#aac7da}.order-footer svg{color:#32bbf2}.price{color:#ffad60}.notice{border-color:#285975;background:#0a2c45;color:#a8cbdf}.notice svg,.notice b{color:#6dd4fc}.empty{border-color:#285470;background:#082136;color:#9ebcd2}th{background:#0a2337;color:#a2c3d9}td,th{border-color:#21455e}.notification.unread{border-left-color:#0085ff}.notificon{background:#103f60;color:#4bcaff}.notification p{color:#b4cdde}.field{color:#bdd4e4}.field input,.field textarea,.field select{background:#061d30;color:#e5f1f8;border-color:#2d536e}.field input:focus,.field textarea:focus{outline:2px solid #155a88;border-color:#0085ff}.form-help{color:#a5bfd3}.drawer{background:#061a2c}.drawer-head,.modal{background:#0b2a41}.prose,.comment p,.modal p{color:#b8d0e1}.detail-grid small{color:#9cbbd1}.file{background:#10344e;border-color:#28546f;color:#cae3f1}.photo-grid button{background:#14334a}.action-panel{background:#103651;border-color:#2b6081}.comment{border-color:#28516d}.history li{border-color:#28688b;color:#b5cfdf}.history li:before{background:#32bbf2}.overlay{background:#020c15bb}.iconbtn{color:#b5d0e1}.cash-note{color:#b1cbdc}.subheading{color:#89cbe9}.invoice-doc{color:#dcebf4}.section-top small{color:#a8c3d7}
.login-visual{background:radial-gradient(ellipse at 20% 0%,#0c4163,transparent 55%),linear-gradient(145deg,#061a2c,#041522)}.login-visual:after{border-color:#0085ff;box-shadow:0 0 0 70px #0085ff08,0 0 0 140px #32bbf205}.login-message .eyebrow{color:#32bbf2}.login-message h1{color:#f3faff}.login-message p{color:#b4d0e1}.login-steps{color:#c2ddec}.login-steps span{border-color:#296386;background:#0c2e47}.login-footer{color:#99b9d0;line-height:1.9}.login-footer a{text-decoration:none}.login-form-side{background:#082136}.login-lock{border-color:#236088;background:#103955;color:#45caff}.login-form .subtitle{color:#adc8dc}.toast{background:#104361;color:#def5ff;border-color:#297ca3}.toast.error{background:#743d39}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:580px;height:calc(100vh - 265px);max-height:850px;border:1px solid #254a64;border-radius:14px;overflow:hidden;background:#082136}.chat-directory{display:flex;flex-direction:column;overflow:auto;border-right:1px solid #254a64;background:#071e30;padding:15px 10px}.chat-directory-title{padding:6px 10px 18px;font-size:13px;font-weight:650;color:#dbedf8}.chat-directory-label{font-size:9px;letter-spacing:1.6px;color:#779eb8;padding:26px 10px 12px}.chat-person{width:100%;border:0;background:transparent;color:#bbd4e5;display:flex;align-items:center;gap:10px;padding:13px 10px;border-radius:8px;text-align:left;min-width:0}.chat-person.selected{background:#0d4165;color:#f0fbff}.chat-person:hover{background:#123650}.chat-person>span:nth-child(2){flex:1;min-width:0}.chat-person strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-person small{display:block;font-size:10px;margin-top:5px;color:#93b7cf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px}.chat-person em{display:block;color:#ffb389;font-size:9px;font-style:normal;margin-top:4px}.chat-avatar{height:34px;width:34px;border:1px solid #28688d;border-radius:50%;display:grid;place-items:center;background:#103a55;font-size:11px;color:#9ce3ff;flex-shrink:0}.chat-person .count{font-size:10px;padding:3px 6px;background:#0085ff;color:white;border-radius:6px}.chat-person-row{display:flex;gap:2px;align-items:center}.chat-person-row>.chat-person{flex:1;min-width:0}.chat-moderate{background:transparent;color:#8caec5;border:0;padding:7px;border-radius:6px;flex-shrink:0}.chat-moderate:hover{color:#ffb375;background:#332d29}.chat-moderate svg{width:16px;height:16px}.chat-directory-empty{padding:10px;color:#90b0c7;font-size:12px;line-height:1.7}.chat-company{margin:auto 10px 5px;padding-top:24px;display:flex;gap:8px;align-items:center;font-size:11px;color:#62cef5;text-decoration:none}.chat-company svg{width:13px;height:13px}.chat-conversation{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #21465f;background:#0b2a41}.chat-header h2{font-size:17px;letter-spacing:-.3px}.chat-header p{font-size:11px;color:#9bbbd0;margin-top:6px}.chat-rules{font-size:10px;line-height:1.7;background:#0b2e47;color:#a8c8dc;padding:11px 24px;border-bottom:1px solid #20445f}.chat-scroll{flex:1;min-height:160px;overflow-y:auto;overscroll-behavior:contain;padding:24px;display:flex;flex-direction:column;gap:14px}.chat-message{align-self:flex-start;max-width:88%;background:#10354f;border:1px solid #265672;border-radius:0 12px 12px 12px;padding:12px 15px}.chat-message.own{align-self:flex-end;background:#104e73;border-color:#267ea4;border-radius:12px 0 12px 12px}.chat-message-author{font-size:10px;font-weight:650;color:#a4e4ff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chat-message-author>span{font-size:9px;font-weight:400;color:#ffbb80}.chat-message time{font-size:9px;font-weight:400;color:#9fc1d7;margin-left:auto}.chat-message p{font-size:13px;line-height:1.7;color:#e5f2fb;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px}.chat-empty{margin:auto;text-align:center;color:#8db4ce;padding:28px 10px}.chat-empty>svg{height:34px;width:34px;color:#32bbf2;margin-bottom:16px}.chat-empty h3{font-size:17px;color:#d7eaf6;margin-bottom:10px}.chat-empty p{font-size:12px;line-height:1.7}.chat-older{align-self:center;min-height:32px;font-size:11px;padding:8px 12px}.chat-composer{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:18px 24px;border-top:1px solid #21465f;background:#09263d}.chat-composer textarea{flex:1;min-width:120px;resize:vertical;max-height:180px;min-height:55px;border:1px solid #2e5976;background:#061d30;color:#e1f0fa;border-radius:8px;padding:13px;line-height:1.5;font-size:13px}.chat-composer textarea:focus{outline:2px solid #155a88;border-color:#0085ff}.chat-composer .form-error{flex-basis:100%;margin:0}.chat-ban-notice{padding:18px 24px;background:#352c26;border-top:1px solid #895d3c;color:#ffc594;font-size:12px;line-height:1.8}.chat-ban-notice p{font-size:11px}
@media(max-width:1050px){.chat-layout{grid-template-columns:230px minmax(0,1fr)}.chat-person small{max-width:100px}.chat-message{max-width:95%}.chat-header,.chat-scroll{padding:18px}.chat-composer{padding:14px}.company-brand strong{font-size:21px}}
@media(max-width:700px){.chat-layout{display:flex;flex-direction:column;min-height:690px;height:calc(100dvh - 245px);max-height:none}.chat-directory{max-height:190px;min-height:135px;border-right:0;border-bottom:1px solid #254a64;padding:10px;display:block}.chat-directory-title{display:none}.chat-directory-label{padding:12px 10px 6px}.chat-person{padding:8px 10px}.chat-directory-empty{padding:4px 10px}.chat-company{display:none}.chat-person small{max-width:200px}.chat-conversation{flex:1}.chat-rules{font-size:9px;padding:9px 16px}.chat-message{max-width:95%}.chat-message-author{font-size:9px}.chat-composer .btn{padding:12px}.chat-composer .btn span{display:none}.company-mark{width:38px;height:38px}.company-brand strong{font-size:22px}.brand-tag{margin:8px 0 18px}.platform-name{font-size:12px;margin:10px 0 20px 48px}}
@media print{.invoice-doc{color:#000}td,th{background:white;color:black;border-color:#bbb}.modal-body{background:white}}
