:root{--sidebar-w: 180px;--sidebar-collapsed-w: 56px;--topbar-h: 50px}.layout{display:flex;min-height:100vh;background:#fff}.sidebar{width:var(--sidebar-w);background:#fff;border-right:1px solid #f3f3f3;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;transition:transform .2s ease}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 16px;height:var(--topbar-h);border-bottom:1px solid #f3f3f3;flex-shrink:0}.sidebar-brand-icon{width:28px;height:28px;border-radius:4px;background:#0176d3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-brand-icon svg{width:15px;height:15px;fill:#fff}.sidebar-brand-name{font-size:.9375rem;font-weight:700;color:#181818;white-space:nowrap;flex:1}.sidebar-close-btn{display:none;background:none;border:none;color:#706e6b;cursor:pointer;padding:4px;border-radius:4px}.sidebar-close-btn:hover{color:#181818}.sidebar-nav{flex:1;min-height:0;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column}.sidebar-nav-label{padding:12px 16px 4px;font-size:.75rem;font-weight:700;color:#181818;letter-spacing:0}.sidebar-link-wrap{position:relative}.sidebar-quickadd{position:absolute;top:50%;inset-inline-end:8px;transform:translateY(-50%);width:22px;height:22px;border:none;border-radius:4px;background:#0176d3;color:#fff;font-size:17px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}.sidebar-link-wrap:hover .sidebar-quickadd{display:flex}.sidebar-quickadd:hover{background:#015fab}.sidebar-link{display:flex;align-items:center;gap:10px;padding:0 16px 0 12px;height:40px;border:none;border-left:4px solid transparent;border-radius:0;background:transparent;color:#3e3e3c;cursor:pointer;font-size:.875rem;font-weight:400;text-align:left;width:100%;transition:background .1s,color .1s,border-color .1s;box-sizing:border-box;font-family:inherit}.sidebar-link svg{flex-shrink:0;color:#706e6b}.sidebar-link:hover{background:#f3f3f3;color:#181818}.sidebar-link:hover svg{color:#181818}.sidebar-link--active,.sidebar-link--active:hover{background:#f3f3f3;color:#0176d3;font-weight:700;border-left-color:#0176d3}.sidebar-link--active svg,.sidebar-link--active:hover svg{color:#0176d3}.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:#0176d3;color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{padding:12px 14px;border-top:1px solid #f3f3f3;display:flex;align-items:center;gap:8px;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{display:block;color:#181818;font-size:.8125rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{display:block;color:#706e6b;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-lang-btn{background:#f3f3f3;border:1px solid #e5e5e5;color:#3e3e3c;border-radius:4px;padding:3px 7px;font-size:.72rem;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0;transition:background .1s}.sidebar-lang-btn:hover{background:#e5e5e5}.sidebar-logout-btn{background:none;border:none;color:#706e6b;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center;flex-shrink:0;transition:color .1s,background .1s}.sidebar-logout-btn:hover{color:#181818;background:#f3f3f3}.sidebar-collapse-toggle{display:none;align-items:center;gap:10px;padding:0 16px 0 12px;height:38px;border:none;border-top:1px solid #f3f3f3;background:transparent;color:#706e6b;cursor:pointer;font-size:.8125rem;font-family:inherit;width:100%;box-sizing:border-box;flex-shrink:0}.sidebar-collapse-toggle:hover{background:#f3f3f3;color:#181818}.sidebar-collapse-toggle svg{flex-shrink:0;transition:transform .2s ease}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.layout-main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:none;align-items:center;gap:12px;padding:0 16px;height:var(--topbar-h);background:#fff;border-bottom:1px solid #f3f3f3;color:#181818;position:sticky;top:0;z-index:100;flex-shrink:0}.topbar-menu-btn{background:none;border:none;color:#706e6b;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center}.topbar-menu-btn:hover{color:#181818}.topbar-brand{font-size:.9375rem;font-weight:700;color:#181818;flex:1}.topbar-right{display:flex;align-items:center;gap:6px}.topbar-logout-btn{background:none;border:none;color:#706e6b;cursor:pointer;padding:5px;border-radius:4px;display:flex;align-items:center}.topbar-logout-btn:hover{color:#181818}.layout-content{flex:1;padding:24px 32px;width:100%;box-sizing:border-box}[dir=rtl] .sidebar{left:auto;right:0;border-right:none;border-left:1px solid #f3f3f3}[dir=rtl] .layout-main{margin-left:0;margin-right:var(--sidebar-w)}[dir=rtl] .sidebar-link{text-align:right;border-left:none;border-right:4px solid transparent}[dir=rtl] .sidebar-link:hover{border-right-color:transparent}[dir=rtl] .sidebar-link--active{border-right-color:#0176d3;border-left:none}@media (max-width: 768px){.sidebar{transform:translate(-100%);box-shadow:2px 0 8px #0000001f}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar--open{transform:translate(0)!important}.sidebar-close-btn{display:flex}.sidebar-backdrop{display:block}.layout-main{margin-left:0!important;margin-right:0!important}.topbar{display:flex}.layout-content{padding:12px}.main-layout{flex-direction:column!important;height:auto!important}.items-col{width:100%!important;max-height:220px;overflow-y:auto}.detail-col{width:100%!important;overflow:visible!important;height:auto!important}.detail-col>*{width:100%;box-sizing:border-box}.detail-col button{min-height:36px}.item-card .field-row{flex-direction:column!important}}@media (min-width: 769px){.sidebar-close-btn,.topbar{display:none!important}.sidebar-collapse-toggle{display:flex}.layout--collapsed .sidebar{width:var(--sidebar-collapsed-w)}.layout--collapsed .layout-main{margin-left:var(--sidebar-collapsed-w)}[dir=rtl] .layout--collapsed .layout-main{margin-left:0;margin-right:var(--sidebar-collapsed-w)}.layout--collapsed .sidebar-brand-name,.layout--collapsed .sidebar-link span,.layout--collapsed .sidebar-user-info,.layout--collapsed .sidebar-collapse-toggle span{display:none}.layout--collapsed .sidebar-brand{justify-content:center;padding:0}.layout--collapsed .sidebar-link{justify-content:center;padding:0;border-left-width:0}[dir=rtl] .layout--collapsed .sidebar-link{border-right-width:0}.layout--collapsed .sidebar-link--active{background:#eaf3fb}.layout--collapsed .sidebar-footer{flex-direction:column;padding:10px 0;gap:8px}.layout--collapsed .sidebar-collapse-toggle{justify-content:center;padding:0}.layout--collapsed .sidebar-collapse-toggle svg{transform:rotate(180deg)}.layout--collapsed .sidebar-quickadd{display:none!important}}@media print{.sidebar,.topbar,.sidebar-backdrop{display:none!important}.layout,.layout-main,.layout-content{display:block!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important;overflow:visible!important}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#16325c;padding:16px}.login-card{background:#fff;border-radius:4px;box-shadow:0 2px 2px #0000001a;border:1px solid #e5e5e5;width:100%;max-width:360px;padding:32px}.login-lang-switch{display:flex;justify-content:flex-end;gap:4px;margin-bottom:16px}.login-lang-switch button{height:24px;padding:0 8px;border:1px solid #e5e5e5;background:#fff;color:#706e6b;border-radius:4px;font-size:.75rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .1s}.login-lang-switch button.active{background:#0176d3;color:#fff;border-color:#0176d3}.login-lang-switch button:hover:not(.active){background:#f3f3f3}.login-card h1{margin:0 0 4px;font-size:1.5rem;font-weight:300;color:#181818}.login-subtitle{margin:0 0 24px;font-size:.875rem;color:#706e6b}.login-form label{display:block;font-size:.75rem;font-weight:700;color:#3e3e3c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.login-form .login-field{margin-bottom:16px}.login-form input{width:100%;height:32px;padding:0 12px;border:1px solid #e5e5e5;border-radius:4px;font-size:.875rem;font-family:inherit;color:#181818;background:#fff;outline:none;box-sizing:border-box;transition:border-color .1s,box-shadow .1s}.login-form input:focus{border-color:#0176d3;box-shadow:0 0 0 3px #0176d31f}.login-password-wrap{position:relative}.login-password-wrap input{padding-inline-end:40px}.login-password-toggle{position:absolute;inset-inline-end:4px;top:0;height:32px;width:32px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:#706e6b;cursor:pointer;transition:color .1s}.login-password-toggle:hover{color:#0176d3}.login-remember{display:flex;align-items:center;margin:-4px 0 12px}.login-remember label{display:flex;align-items:center;gap:8px;margin:0;font-size:.8125rem;font-weight:400;color:#3e3e3c;text-transform:none;letter-spacing:normal;cursor:pointer}.login-remember input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:#0176d3}.login-error{padding:8px 12px;margin-bottom:16px;background:#fce8e6;color:#c23934;border:1px solid #f5c6c3;border-radius:4px;font-size:.875rem}.login-form button[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;height:32px;padding:0 16px;background:#0176d3;color:#fff;border:1px solid #0176d3;border-radius:4px;font-size:.875rem;font-weight:700;font-family:inherit;cursor:pointer;margin-top:8px;transition:background .1s}.login-form button[type=submit]:hover:not(:disabled){background:#014486;border-color:#014486}.login-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.login-link{color:#0176d3;text-decoration:none;font-size:.875rem}.login-link:hover{text-decoration:underline}.login-footer-links{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.875rem;color:#706e6b}@media (max-width: 480px){.login-card{padding:24px 16px}}:root{--slds-brand: #0176d3;--slds-brand-dark: #014486;--slds-brand-light: #e8f4fd;--slds-bg: #ffffff;--slds-bg-alt: #ffffff;--slds-bg-inverse: #1a1f2e;--slds-text: #181818;--slds-text-weak: #444444;--slds-text-muted: #706e6b;--slds-text-inverse: #ffffff;--slds-text-link: #0176d3;--slds-border: #e5e5e5;--slds-border-brand: #0176d3;--slds-border-error: #ea001e;--slds-error: #ea001e;--slds-success: #2e7d32;--slds-warning: #fe9339;--slds-radius-sm: 2px;--slds-radius-md: 4px;--slds-radius-lg: 8px;--slds-shadow-card: 0 2px 2px 0 rgba(0,0,0,.1);--slds-shadow-drop: 0 2px 3px 0 rgba(0,0,0,.16);--sp-xxs: 4px;--sp-xs: 8px;--sp-sm: 12px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-xxl: 48px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fff;color:var(--slds-text);font-size:.875rem;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1{font-size:1.5rem;font-weight:300;color:var(--slds-text);line-height:1.25}h2{font-size:1.25rem;font-weight:700;color:var(--slds-text);line-height:1.3}h3{font-size:1rem;font-weight:700;color:var(--slds-text);line-height:1.4}p{font-size:.875rem;color:var(--slds-text-muted);line-height:1.6}a{color:var(--slds-text-link);text-decoration:none}a:hover{text-decoration:underline}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-lg);flex-wrap:wrap;gap:var(--sp-sm)}.card{background:var(--slds-bg-alt);border-radius:var(--slds-radius-md);border:1px solid var(--slds-border);padding:var(--sp-lg);box-shadow:var(--slds-shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-xs);padding:0 var(--sp-md);height:32px;border-radius:var(--slds-radius-md);border:1px solid transparent;font-family:inherit;font-size:.875rem;font-weight:700;cursor:pointer;white-space:nowrap;letter-spacing:.01em;transition:background .1s,border-color .1s,box-shadow .1s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0176d340}.btn-primary{background:var(--slds-brand);color:#fff;border-color:var(--slds-brand)}.btn-primary:hover:not(:disabled){background:var(--slds-brand-dark);border-color:var(--slds-brand-dark)}.btn-secondary{background:#fff;color:var(--slds-brand);border-color:var(--slds-border)}.btn-secondary:hover:not(:disabled){background:var(--slds-bg);border-color:#c9c7c5}.btn-danger{background:#c23934;color:#fff;border-color:#c23934}.btn-danger:hover:not(:disabled){background:#a61a14;border-color:#a61a14}.btn-ghost{background:transparent;color:var(--slds-text-muted);border-color:var(--slds-border)}.btn-ghost:hover:not(:disabled){background:var(--slds-bg)}label{display:block;font-size:.75rem;font-weight:700;color:var(--slds-text);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--sp-xxs)}input:not([type=checkbox]):not([type=radio]),select{font-family:inherit;font-size:.875rem;border:1px solid var(--slds-border);border-radius:var(--slds-radius-md);padding:0 var(--sp-sm);height:32px;background:var(--slds-bg-alt);color:var(--slds-text);outline:none;width:100%;transition:border-color .1s,box-shadow .1s}textarea{font-family:inherit;font-size:.875rem;border:1px solid var(--slds-border);border-radius:var(--slds-radius-md);padding:var(--sp-xs) var(--sp-sm);background:var(--slds-bg-alt);color:var(--slds-text);outline:none;width:100%;resize:vertical;transition:border-color .1s,box-shadow .1s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--slds-brand);box-shadow:0 0 0 3px #0176d31f}input:not([type=checkbox]):not([type=radio]):disabled,select:disabled,textarea:disabled{background:var(--slds-bg);color:var(--slds-text-muted);cursor:not-allowed}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='none' stroke='%23706e6b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5l3.5 3.5 3.5-3.5'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 12px;padding-right:28px}[dir=rtl] select{background-position:left 10px center;padding-right:var(--sp-sm);padding-left:28px}select::-ms-expand{display:none}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--slds-brand);cursor:pointer;flex-shrink:0}.form-group{margin-bottom:var(--sp-md)}.table-wrap{background:var(--slds-bg-alt);border-radius:var(--slds-radius-md);border:1px solid var(--slds-border);overflow:hidden;box-shadow:var(--slds-shadow-card)}table{width:100%;border-collapse:collapse;font-size:.875rem}thead th{background:var(--slds-bg);padding:0 var(--sp-md);height:36px;text-align:left;font-size:.75rem;font-weight:700;color:var(--slds-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--slds-border);white-space:nowrap}tbody td{padding:0 var(--sp-md);height:44px;border-bottom:1px solid var(--slds-bg);color:var(--slds-text);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--slds-bg)}.badge{display:inline-flex;align-items:center;padding:0 var(--sp-xs);height:20px;border-radius:var(--slds-radius-sm);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-green{background:#e3f5e1;color:#2e7d32}.badge-yellow{background:#fef3c7;color:#795b00}.badge-red{background:#fce8e6;color:#c23934}.badge-blue{background:var(--slds-brand-light);color:var(--slds-brand)}.badge-gray{background:var(--slds-bg);color:var(--slds-text-muted)}.empty-state{text-align:center;padding:var(--sp-xxl) var(--sp-md);color:var(--slds-text-muted);font-size:.875rem}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:.875rem;color:var(--slds-text-muted)}[dir=rtl] thead th,[dir=rtl] tbody td{text-align:right}[dir=rtl] .page-header{flex-direction:row-reverse}@media (max-width: 768px){.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
