:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:1100px;background:#f5f7fa}button,input{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;display:flex;flex-direction:column;background:#101827;color:#d8deea}.brand{display:flex;align-items:center;gap:12px;height:82px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-mark{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#2563eb;color:#fff;font-size:21px;font-weight:800}.brand-name{color:#fff;font-size:17px;font-weight:800;letter-spacing:.04em}.brand-subtitle{margin-top:1px;color:#8490a5;font-size:10px;font-weight:700;letter-spacing:.15em}.navigation{padding:25px 13px}.nav-section-title{padding:0 12px 9px;color:#68758b;font-size:10px;font-weight:800;letter-spacing:.12em}.settings-title{margin-top:28px}.nav-item{width:100%;height:43px;display:flex;align-items:center;gap:12px;margin-bottom:3px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#aeb8c9;font-size:14px;text-align:left;transition:background .15s ease,color .15s ease}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#1d4ed8;color:#fff}.nav-icon{width:20px;color:#8490a5;font-size:17px;text-align:center}.nav-item.active .nav-icon{color:#fff}.sidebar-footer{margin-top:auto;padding:18px 24px;display:flex;align-items:center;gap:9px;border-top:1px solid rgba(255,255,255,.07);color:#7f8ba0;font-size:11px}.connection-dot{width:7px;height:7px;border-radius:50%;background:#22c55e}.main-content{width:calc(100% - 245px);margin-left:245px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fff;border-bottom:1px solid #e5e9f0}.breadcrumb{margin-bottom:3px;color:#8a95a7;font-size:11px}.topbar h1{margin:0;color:#172033;font-size:22px;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:22px}.icon-button{width:36px;height:36px;border:1px solid #e4e8ef;border-radius:7px;background:#fff;color:#657187;font-size:18px}.user-menu{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e8eefc;color:#2456c5;font-size:13px;font-weight:700}.user-name{color:#263246;font-size:12px;font-weight:700}.user-role{margin-top:2px;color:#8b96a8;font-size:10px}.content{padding:32px 34px 50px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.page-heading h2{margin:0 0 6px;color:#172033;font-size:23px;font-weight:700}.page-heading p{margin:0;color:#7b8799;font-size:13px}.primary-button{height:39px;padding:0 17px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:12px;font-weight:700;box-shadow:0 2px 5px #2563eb2e}.primary-button:hover{background:#1d4ed8}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.summary-card{min-height:118px;padding:18px 19px;background:#fff;border:1px solid #e5e9f0;border-radius:8px}.summary-label{color:#68758a;font-size:11px;font-weight:600}.summary-value{margin-top:12px;color:#172033;font-size:26px;font-weight:750}.summary-description{margin-top:3px;color:#9aa4b4;font-size:10px}.panel{overflow:hidden;background:#fff;border:1px solid #e5e9f0;border-radius:8px}.panel-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #edf0f4}.panel-header h3{margin:0 0 4px;color:#263246;font-size:14px;font-weight:700}.panel-description{color:#929daf;font-size:10px}.filters{display:flex;gap:3px;padding:3px;border:1px solid #e1e6ee;border-radius:6px;background:#f7f8fa}.filter-button{height:29px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:#788497;font-size:10px;font-weight:600}.filter-button.active{background:#fff;color:#2456c5;box-shadow:0 1px 3px #141e3214}.search-row{display:flex;gap:10px;padding:16px 20px;border-bottom:1px solid #edf0f4}.search-box{height:37px;flex:1;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #dfe4ec;border-radius:6px;background:#fff}.search-box span{color:#8b96a8;font-size:17px}.search-box input{width:100%;border:0;outline:0;color:#263246;font-size:11px}.search-box input::placeholder{color:#a3acb9}.secondary-button{height:37px;padding:0 15px;border:1px solid #dfe4ec;border-radius:6px;background:#fff;color:#5d697c;font-size:11px;font-weight:600}.empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;text-align:center}.empty-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:12px;background:#eef3ff;color:#2563eb;font-size:21px;font-weight:700}.empty-state h3{margin:0 0 7px;color:#3a4659;font-size:14px}.empty-state p{max-width:410px;margin:0;color:#929daf;font-size:11px;line-height:1.6}.table-wrapper{width:100%;overflow-x:auto}.pricing-table{width:100%;border-collapse:collapse;font-size:11px}.pricing-table th{padding:12px 14px;background:#fafbfc;border-bottom:1px solid #e5e9f0;color:#7a8698;font-size:9px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.pricing-table td{padding:14px;border-bottom:1px solid #edf0f4;vertical-align:middle}.pricing-table tbody tr:hover{background:#fafcff}.pricing-table tbody tr:last-child td{border-bottom:0}.product-name{max-width:240px;overflow:hidden;color:#263246;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.product-meta{margin-top:4px;color:#929dac;font-size:9px}.price-main{color:#263246;font-size:11px;font-weight:700;white-space:nowrap}.price-sub{margin-top:4px;color:#929dac;font-size:9px;white-space:nowrap}.competitor-prices{display:flex;flex-direction:column;gap:3px;color:#68758a;font-size:9px;white-space:nowrap}.competitor-prices b{color:#929dac}.target-price{color:#2456c5;font-size:11px;font-weight:750;white-space:nowrap}.change-value{font-size:10px;font-weight:750;white-space:nowrap}.change-value.increase{color:#16803c}.change-value.decrease{color:#d14343}.change-value.unchanged{color:#7c8798}.position-badge,.status-badge{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:5px;font-size:9px;font-weight:700;white-space:nowrap}.position-badge.top1{background:#edf7ef;color:#24763b}.position-badge.top2{background:#eef4ff;color:#2456c5}.position-badge.top3{background:#f4f0ff;color:#6843a5}.position-badge.outside_top3{background:#fff5e8;color:#a66308}.status-badge.suggested{background:#fff5df;color:#9a6400}.status-badge.finalized{background:#eaf7ee;color:#287942}.status-badge.superseded{background:#f0f1f3;color:#747d8a}.reason-text{max-width:155px;color:#4d596c;font-size:10px;font-weight:600;line-height:1.35}.table-state{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;color:#929dac;text-align:center}.table-state h3{margin:0 0 7px;color:#3a4659;font-size:14px}.table-state p{max-width:460px;margin:0 0 16px;font-size:11px;line-height:1.6}.error-state p{color:#c34a4a}.loading-spinner{width:30px;height:30px;margin-bottom:14px;border:3px solid #e4e9f1;border-top-color:#2563eb;border-radius:50%;animation:pricing-spin .8s linear infinite}@keyframes pricing-spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px;background:#0f172a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow-y:auto}.detail-modal{width:min(1200px,100%);max-height:calc(100vh - 64px);overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 24px 70px #0f172a38,0 8px 24px #0f172a1a;padding:28px;animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e5e7eb}.detail-modal-header h2{margin:4px 0 6px;font-size:24px;line-height:1.25;color:#111827}.product-meta{color:#6b7280;font-size:14px;font-weight:500}.detail-modal-header .icon-button{flex:0 0 auto;width:38px;height:38px;font-size:22px;border-radius:10px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.detail-card{padding:22px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.detail-card h3,.detail-section h3{margin:0 0 16px;font-size:14px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em}.detail-main-value{font-size:28px;line-height:1.2;font-weight:750;color:#111827}.detail-sub{margin-top:7px;color:#6b7280;font-size:14px}.detail-section{margin-top:22px;padding:22px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.competitor-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.competitor-detail-grid>div{display:flex;flex-direction:column;gap:7px;padding:16px;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb}.competitor-detail-grid span,.decision-info-grid span{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.competitor-detail-grid strong{font-size:18px;color:#111827}.decision-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}.decision-info-grid>div{display:flex;flex-direction:column;gap:6px;min-width:0}.decision-info-grid strong{color:#111827;font-size:14px;overflow-wrap:anywhere}.detail-actions{display:flex;flex-direction:column;gap:20px;margin-top:22px;padding:22px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.detail-actions>.secondary-button{align-self:flex-start}.override-box{width:100%}.override-box label{display:block;margin-bottom:9px;font-size:13px;font-weight:600;color:#374151}.override-input-row{display:flex;align-items:center;gap:10px}.override-input-row input{width:240px;min-height:42px;padding:0 13px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827;font-size:15px;outline:none}.override-input-row input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.override-input-row>span{color:#6b7280;font-size:14px;margin-left:-3px}.action-error{margin-top:18px;padding:12px 14px;border:1px solid #fecaca;border-radius:9px;background:#fef2f2;color:#b91c1c;font-size:14px}.finalized-info{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:16px 18px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4;color:#166534}.finalized-info span{color:#166534;font-size:14px}.pricing-table tbody tr.clickable-row{cursor:pointer}.pricing-table tbody tr.clickable-row:hover{background:#f8fafc}@media(max-width:900px){.modal-backdrop{padding:20px}.detail-modal{max-height:calc(100vh - 40px);padding:22px}.detail-grid,.competitor-detail-grid{grid-template-columns:1fr}}@media(max-width:600px){.modal-backdrop{padding:0;align-items:stretch}.detail-modal{width:100%;max-height:none;min-height:100vh;border:0;border-radius:0;padding:20px 16px}.detail-modal-header{gap:12px}.detail-modal-header h2{font-size:20px}.detail-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}.detail-card,.detail-section,.detail-actions{padding:17px;border-radius:12px}.detail-main-value{font-size:24px}.decision-info-grid{grid-template-columns:1fr;gap:14px}.competitor-detail-grid{grid-template-columns:1fr}.override-input-row{flex-wrap:wrap}.override-input-row input{flex:1 1 180px;width:auto}.override-input-row .primary-button{width:100%}.finalized-info{flex-direction:column;align-items:flex-start}}.competitor-table-wrapper{width:100%;overflow-x:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.competitor-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.competitor-table th{padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.competitor-table td{padding:14px;border-bottom:1px solid #f1f5f9;color:#111827;font-size:14px;vertical-align:middle}.competitor-table tbody tr:last-child td{border-bottom:0}.competitor-table tbody tr:hover{background:#f8fafc}.competitor-table th:nth-child(1),.competitor-table td:nth-child(1){width:54px;text-align:center}.competitor-table th:nth-child(2),.competitor-table td:nth-child(2){width:34%}.competitor-table th:nth-child(3),.competitor-table td:nth-child(3){width:120px}.competitor-table th:nth-child(4),.competitor-table td:nth-child(4){width:150px;text-align:right}.competitor-table th:nth-child(5),.competitor-table td:nth-child(5){width:180px}.competitor-number{color:#9ca3af!important;font-size:13px!important;font-weight:600}.competitor-name{font-weight:650;color:#111827}.competitor-code{margin-top:4px;color:#9ca3af;font-size:12px}.competitor-position{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 9px;border-radius:7px;background:#f3f4f6;color:#4b5563;font-size:12px;font-weight:700}.competitor-position.top-position{background:#eff6ff;color:#2563eb}.competitor-price{font-weight:700;white-space:nowrap}.muted-value{color:#9ca3af}.competitor-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:7px;font-size:12px;font-weight:650;white-space:nowrap}.status-available{background:#f0fdf4;color:#15803d}.status-no_public_price{background:#fefce8;color:#a16207}.status-product_not_found{background:#f3f4f6;color:#6b7280}.status-check_error{background:#fef2f2;color:#b91c1c}.status-no_data{background:#f3f4f6;color:#6b7280}.competitor-loading,.competitor-empty{padding:28px 18px;border:1px dashed #d1d5db;border-radius:10px;color:#6b7280;font-size:14px;text-align:center}.competitor-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}.competitor-link:hover .competitor-name{color:#2563eb;text-decoration:underline;text-underline-offset:3px}.competitor-external-icon{color:#9ca3af;font-size:14px;line-height:1;transition:color .15s ease}.competitor-link:hover .competitor-external-icon{color:#2563eb}.modal-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.edit-pricing-button{min-height:38px;padding:0 14px;white-space:nowrap}.pricing-edit-view{margin-top:22px;padding:22px;border:1px solid #dbeafe;border-radius:14px;background:#f8fafc}.pricing-edit-header{margin-bottom:22px}.pricing-edit-header h3{margin:4px 0 6px;font-size:18px;color:#111827}.pricing-edit-section{margin-top:20px}.pricing-edit-section>label{display:block;margin-bottom:10px;font-size:13px;font-weight:700;color:#374151}.pricing-position-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pricing-position-option{min-height:46px;padding:0 14px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#374151;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.pricing-position-option:hover{border-color:#93c5fd;background:#f8fbff}.pricing-position-option.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 2px #2563eb14}.pricing-margin-input{display:flex;align-items:center;gap:9px;max-width:260px}.pricing-margin-input input{width:100%;min-height:44px;padding:0 13px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827;font-size:15px;outline:none}.pricing-margin-input input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.pricing-margin-input span{color:#6b7280;font-size:14px;font-weight:600}.pricing-preview-card{margin-top:22px;padding:18px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.pricing-preview-card h3{margin:0 0 16px;font-size:13px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em}.pricing-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pricing-preview-grid>div{display:flex;flex-direction:column;gap:6px;min-width:0}.pricing-preview-grid span{font-size:12px;color:#6b7280;font-weight:600;text-transform:uppercase}.pricing-preview-grid strong{font-size:17px;color:#111827}.pricing-preview-note{margin-top:15px;padding:11px 13px;border-radius:9px;background:#f8fafc;color:#6b7280;font-size:13px;line-height:1.5}.pricing-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e5e7eb}@media(max-width:700px){.modal-header-actions{gap:6px}.edit-pricing-button{padding:0 10px;font-size:13px}.pricing-position-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-preview-grid{grid-template-columns:1fr}.pricing-edit-actions{flex-direction:column-reverse;align-items:stretch}.pricing-edit-actions button{width:100%}}.pricing-preview-value-ok{color:#15803d!important}.pricing-preview-value-danger{color:#b91c1c!important}.pricing-preview-warning{display:flex;flex-direction:column;gap:5px;margin-top:18px;padding:13px 15px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#991b1b;font-size:13px;line-height:1.45}.pricing-preview-warning strong{font-size:14px}.pricing-preview-success{margin-top:18px;padding:13px 15px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534;font-size:14px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at 50% 0%,rgba(37,99,235,.12),transparent 38%),#101827}.login-card{width:100%;max-width:430px;padding:38px 40px;background:#fff;border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 24px 60px #00000047,0 4px 16px #0000001f}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.login-brand-mark{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#2563eb;color:#fff;font-size:23px;font-weight:800}.login-brand-name{color:#172033;font-size:18px;font-weight:800;letter-spacing:.04em}.login-brand-subtitle{margin-top:1px;color:#8490a5;font-size:10px;font-weight:700;letter-spacing:.15em}.login-heading{margin-bottom:25px}.login-heading h1{margin:0 0 7px;color:#172033;font-size:24px;font-weight:700}.login-heading p{margin:0;color:#7b8799;font-size:13px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:18px}.login-form label{display:flex;flex-direction:column;gap:7px;color:#374151;font-size:12px;font-weight:700}.login-form input{width:100%;height:44px;padding:0 13px;border:1px solid #dce1e8;border-radius:7px;outline:none;background:#fff;color:#172033;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.login-form input::placeholder{color:#a4adba}.login-form input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.login-form input:disabled{background:#f5f7fa;cursor:not-allowed}.login-error{padding:11px 13px;border:1px solid #fecaca;border-radius:7px;background:#fef2f2;color:#991b1b;font-size:13px;line-height:1.45}.login-button{width:100%;height:44px;margin-top:3px;border:0;border-radius:7px;background:#2563eb;color:#fff;font-size:14px;font-weight:700;transition:background .15s ease,transform .05s ease}.login-button:hover:not(:disabled){background:#1d4ed8}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button:disabled{opacity:.65;cursor:not-allowed}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:11px;background:#101827;color:#cbd5e1;font-size:13px}.loading-spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.18);border-top-color:#60a5fa;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.login-page{min-width:0;padding:20px}.login-card{padding:30px 25px}}.users-error{margin-bottom:18px;padding:13px 15px;border:1px solid #fecaca;border-radius:9px;background:#fef2f2;color:#991b1b;font-size:13px}.users-card{overflow:hidden;background:#fff;border:1px solid #e5e9f0;border-radius:10px}.users-loading{padding:45px 24px;color:#6b7280;font-size:14px;text-align:center}.users-table{width:100%;border-collapse:collapse}.users-table th{padding:14px 18px;background:#f8fafc;border-bottom:1px solid #e5e9f0;color:#6b7280;font-size:11px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.04em}.users-table td{padding:16px 18px;border-bottom:1px solid #edf0f4;color:#374151;font-size:13px}.users-table tr:last-child td{border-bottom:0}.users-table td strong{color:#172033;font-weight:700}.users-actions{width:130px;text-align:right}.user-role-badge,.user-status-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:700}.user-role-admin{background:#e8eefc;color:#2456c5}.user-role-user{background:#f1f5f9;color:#475569}.user-status-active{background:#ecfdf3;color:#15803d}.user-status-inactive{background:#fef2f2;color:#b91c1c}.user-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:30px;background:#0f172a8c}.users-modal{width:100%;max-width:520px;background:#fff;border-radius:12px;box-shadow:0 24px 70px #0000003d,0 4px 16px #0000001a;overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px;border-bottom:1px solid #e5e9f0}.modal-header h2{margin:0;color:#172033;font-size:19px;font-weight:700}.modal-header p{margin:5px 0 0;color:#7b8494;font-size:12px}.modal-close{width:32px;height:32px;flex:0 0 auto;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:23px;line-height:1}.modal-close:hover{background:#f1f5f9;color:#172033}.user-form{display:flex;flex-direction:column;gap:17px;padding:26px}.user-form label{display:flex;flex-direction:column;gap:7px;color:#374151;font-size:12px;font-weight:700}.user-form input,.user-form select{width:100%;height:42px;padding:0 12px;border:1px solid #d8dee8;border-radius:7px;background:#fff;color:#172033;font-size:13px;outline:none}.user-form input:focus,.user-form select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.user-form input:disabled,.user-form select:disabled{background:#f8fafc;color:#94a3b8}.user-form small{margin-top:-2px;color:#7b8494;font-size:11px;font-weight:400}.users-form-error{padding:11px 13px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b;font-size:12px;line-height:1.45}.user-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px;padding-top:20px;border-top:1px solid #e5e9f0}@media(max-width:700px){.users-modal{max-width:none}.modal-backdrop{padding:15px}.users-table{min-width:700px}.users-card{overflow-x:auto}}.permissions-modal{width:min(1100px,calc(100vw - 40px));max-width:1100px;max-height:calc(100vh - 40px);display:flex;flex-direction:column}.permissions-modal .modal-header{flex-shrink:0}.permissions-modal-content{min-height:0;overflow-y:auto;padding:22px 26px 26px}.permissions-modal .rbac-section{margin-bottom:22px}.permissions-modal .rbac-section-title{margin-bottom:10px;font-size:15px;font-weight:700;color:#172033}.permissions-modal .rbac-role-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.permissions-modal .rbac-role-option{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #dfe4ee;border-radius:9px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.permissions-modal .rbac-role-option:hover{border-color:#9ba9c7;background:#f8faff}.permissions-modal .rbac-role-option input[type=checkbox]{width:17px;height:17px;margin:2px 0 0;flex-shrink:0;accent-color:#4361ee}.permissions-modal .rbac-role-option span{display:flex;flex-direction:column;gap:3px;min-width:0}.permissions-modal .rbac-role-option strong{font-size:13px;color:#172033}.permissions-modal .rbac-role-option small{font-size:11px;line-height:1.4;color:#737d91}.permissions-modal-content>.permissions-filters,.permissions-modal .permissions-filters{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(180px,1fr) minmax(180px,1fr);gap:10px;margin-bottom:18px}.permissions-modal .permissions-filters input,.permissions-modal .permissions-filters select{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #d6dce8;border-radius:8px;padding:0 12px;background:#fff;color:#172033;font-size:13px;outline:none}.permissions-modal .permissions-filters input:focus,.permissions-modal .permissions-filters select:focus{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee1a}.permissions-list{display:flex;flex-direction:column;gap:14px}.permission-module{overflow:hidden;border:1px solid #dfe4ee;border-radius:10px;background:#fff}.permission-module-title{padding:11px 15px;border-bottom:1px solid #e4e8f0;background:#f6f8fc;color:#172033;font-size:13px;font-weight:700}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:67px;padding:11px 15px;border-bottom:1px solid #edf0f5}.permission-row:last-child{border-bottom:none}.permission-row:hover{background:#fafbfe}.permission-info{display:flex;flex-direction:column;gap:3px;min-width:0}.permission-info strong{color:#172033;font-size:13px;font-weight:650}.permission-info small{color:#8a93a5;font-family:monospace;font-size:11px}.permission-source{margin-top:2px;color:#6d778b;font-size:11px}.permission-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}.permission-status{min-width:145px;text-align:right;font-size:11px;font-weight:650}.permission-status.enabled{color:#16834b}.permission-status.disabled{color:#9a4a4a}.permission-status.overridden{color:#6a54b5}.permission-toggle{position:relative;width:42px;height:24px;padding:0;border:0;border-radius:999px;background:#cbd2df;cursor:pointer;transition:background .15s ease;flex-shrink:0}.permission-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.permission-toggle.active{background:#4361ee}.permission-toggle.active:after{transform:translate(18px)}.permission-toggle:hover{filter:brightness(.96)}.permission-toggle:focus-visible{outline:3px solid rgba(67,97,238,.22);outline-offset:2px}.permissions-modal .user-form-actions{flex-shrink:0}@media(max-width:800px){.permissions-modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.permissions-modal-content{padding:16px}.permissions-modal-content>.permissions-filters,.permissions-modal .permissions-filters{grid-template-columns:1fr}.permission-row{align-items:flex-start;flex-direction:column;gap:10px}.permission-actions{width:100%;justify-content:space-between}.permission-status{min-width:0;text-align:left}}
