:root{--mui-primary: #1976d2;--mui-primary-light: #42a5f5;--mui-primary-dark: #1565c0;--mui-secondary: #dc004e;--mui-success: #2e7d32;--mui-warning: #ed6c02;--mui-error: #d32f2f;--mui-info: #0288d1;--mui-grey-50: #fafafa;--mui-grey-100: #f5f5f5;--mui-grey-200: #eeeeee;--mui-grey-300: #e0e0e0;--mui-grey-400: #bdbdbd;--mui-grey-500: #9e9e9e;--mui-grey-600: #757575;--mui-grey-700: #616161;--mui-grey-800: #424242;--mui-grey-900: #212121;--mui-font-family: "Roboto", "Helvetica", "Arial", sans-serif;--mui-font-size-xs: .75rem;--mui-font-size-sm: .875rem;--mui-font-size-base: 1rem;--mui-font-size-lg: 1.125rem;--mui-font-size-xl: 1.25rem;--mui-spacing-xs: 4px;--mui-spacing-sm: 8px;--mui-spacing-md: 16px;--mui-spacing-lg: 24px;--mui-spacing-xl: 32px;--mui-shadow-1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mui-shadow-2: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mui-shadow-4: 0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mui-border-radius: 4px;--mui-border-radius-lg: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--mui-font-family);background-color:var(--mui-grey-100);color:var(--mui-grey-900);font-size:var(--mui-font-size-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app,.screen{width:100%;min-height:100vh}.screen.hidden{display:none}.MuiButton-root{font-family:var(--mui-font-family);font-weight:500;font-size:var(--mui-font-size-sm);line-height:1.75;letter-spacing:.02857em;border:none;border-radius:var(--mui-border-radius);cursor:pointer;padding:8px 16px;min-width:64px;transition:all .25s cubic-bezier(.4,0,.2,1) 0ms}.MuiButton-contained{background-color:var(--mui-primary);color:#fff;box-shadow:var(--mui-shadow-2)}.MuiButton-contained:hover{background-color:var(--mui-primary-dark);box-shadow:var(--mui-shadow-4)}.MuiButton-outlined{border:1px solid var(--mui-primary);color:var(--mui-primary);background-color:transparent}.MuiButton-outlined:hover{background-color:#1976d20a;border-color:var(--mui-primary-dark)}.MuiButton-root:disabled{opacity:.6;cursor:not-allowed;color:var(--mui-grey-400);background-color:var(--mui-grey-200)}.MuiInputBase-input,.MuiOutlinedInput-input{font-family:var(--mui-font-family);font-size:var(--mui-font-size-base);font-weight:400;line-height:1.4375em;letter-spacing:.00938em;color:var(--mui-grey-900);box-sizing:border-box;padding:14px 16px;border:1px solid var(--mui-grey-300);border-radius:var(--mui-border-radius);width:100%;transition:border-color .2s cubic-bezier(0,0,.2,1) 0ms}.MuiInputBase-input:focus,.MuiOutlinedInput-input:focus{outline:none;border-color:var(--mui-primary);border-width:2px}.MuiInputBase-input:hover,.MuiOutlinedInput-input:hover{border-color:var(--mui-grey-400)}.MuiInputLabel-root{color:var(--mui-grey-600);font-weight:500;font-size:var(--mui-font-size-sm);margin-bottom:var(--mui-spacing-sm);display:block}.MuiFormHelperText-root{color:var(--mui-grey-500);font-size:var(--mui-font-size-xs);margin-top:var(--mui-spacing-xs)}.MuiPaper-root{background-color:#fff;color:var(--mui-grey-900);transition:box-shadow .3s cubic-bezier(.4,0,.2,1) 0ms;box-shadow:var(--mui-shadow-1)}.MuiCard-root{overflow:hidden}.MuiTypography-h4{font-size:2.125rem;font-weight:400;line-height:1.235}.MuiTypography-h5{font-size:1.5rem;font-weight:400;line-height:1.334}.MuiTypography-h6{font-size:1.25rem;font-weight:500;line-height:1.6}.MuiTypography-body1{font-size:var(--mui-font-size-base);font-weight:400;line-height:1.5}.MuiTypography-body2{font-size:var(--mui-font-size-sm);font-weight:400;line-height:1.43}.MuiChip-root{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;color:var(--mui-grey-700);background-color:var(--mui-grey-200);border-radius:16px;white-space:nowrap;text-decoration:none;vertical-align:middle;box-sizing:border-box;font-size:var(--mui-font-size-xs);font-weight:500}.MuiTable-root{width:100%;border-collapse:separate;border-spacing:0}.MuiTableHead-root{background-color:var(--mui-grey-50)}.MuiTableCell-head{padding:16px;font-weight:600;color:var(--mui-grey-800);border-bottom:2px solid var(--mui-grey-200);font-size:var(--mui-font-size-sm)}.MuiTableCell-body{padding:12px 16px;color:var(--mui-grey-900);border-bottom:1px solid var(--mui-grey-100);font-size:var(--mui-font-size-sm)}.MuiTableRow-root:hover .MuiTableCell-body{background-color:var(--mui-grey-50)}.MuiCard-root{margin:16px 0;border-radius:var(--mui-border-radius-lg);overflow:visible}.MuiCardHeader-root{padding:24px 24px 16px;border-bottom:1px solid var(--mui-grey-200)}.MuiCardContent-root{padding:24px}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:1200px;margin:0 auto}@media (min-width: 768px){.dashboard-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.status-connected .status-dot{background-color:var(--mui-success)}.status-disconnected .status-dot{background-color:var(--mui-error)}.loading-indicator{display:inline-block;width:16px;height:16px;border:2px solid var(--mui-grey-300);border-radius:50%;border-top-color:var(--mui-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff}.login-form{background:white;padding:2rem;border-radius:10px;box-shadow:var(--shadow);min-width:300px;margin-top:2rem}.login-form input{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid var(--border-color);border-radius:5px;font-size:1rem}.login-form button{width:100%;padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .2s}.login-form button:hover{background:#0052a3}.app-header{background:white;padding:1rem 2rem;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.app-header h1{color:var(--primary-color);font-size:1.5rem}.user-info{display:flex;align-items:center;gap:1rem}#logout-btn{padding:.5rem 1rem;background:var(--error-color);color:#fff;border:none;border-radius:5px;cursor:pointer}.app-main{padding:2rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:2rem;max-width:1400px;margin:0 auto}.card{background:white;padding:1.5rem;border-radius:10px;box-shadow:var(--shadow);border:1px solid var(--border-color)}.card h2{margin-bottom:1rem;color:var(--primary-color);font-size:1.25rem}.availability-card{grid-column:1;grid-row:1}.positions-card{grid-column:2;grid-row:1 / span 2}.events-card{grid-column:1;grid-row:2}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:5px;font-size:.9rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #06c3}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-primary:hover{background:#0052a3}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.table-container{max-height:400px;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--border-color)}th{background:var(--secondary-color);font-weight:600;position:sticky;top:0;z-index:1}tr:hover{background:#f8f9fa}.events-container{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:5px;padding:1rem;background:#f8f9fa}.event-item{padding:.5rem;margin-bottom:.5rem;border-radius:5px;border-left:3px solid var(--primary-color);background:white;font-size:.8rem}.event-time{font-weight:500;color:var(--text-secondary)}.event-type{font-weight:600;color:var(--primary-color)}.connection-status{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:15px;font-size:.8rem}.connection-status.connected{background:#d4edda;color:var(--success-color)}.connection-status.disconnected{background:#f8d7da;color:var(--error-color)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.notification{position:fixed;top:20px;right:20px;padding:1rem;border-radius:5px;color:#fff;font-weight:500;z-index:1000;animation:slideIn .3s ease-out}.notification.success{background:var(--success-color)}.notification.error{background:var(--error-color)}.notification.warning{background:var(--warning-color)}.hidden{display:none!important}.side-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.side-badge.buy{background:#d4edda;color:#155724}.side-badge.sell{background:#f8d7da;color:#721c24}.number{text-align:right;font-family:monospace}.loading-row,.empty-row,.error-row{text-align:center;color:var(--text-secondary);font-style:italic;padding:2rem!important}.error-row{color:var(--error-color)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.summary-item{padding:.75rem;background:var(--secondary-color);border-radius:5px;border-left:3px solid var(--primary-color)}.summary-item small{display:block;margin-top:.25rem;color:var(--text-secondary)}.positions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.positions-controls{display:flex;align-items:center;gap:1rem}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding:1rem}.pagination button{padding:.5rem 1rem;font-size:.8rem}#page-info{font-size:.9rem;color:var(--text-secondary)}.system-event{border-left-color:var(--text-secondary)}.error-event{border-left-color:var(--error-color)}.success-event{border-left-color:var(--success-color)}.business-event{border-left-color:var(--primary-color)}.technical-event{border-left-color:var(--warning-color)}.notification-event{border-left-color:var(--accent-color)}.login-container h1{margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-form small{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.8rem}.login-form input:invalid{border-color:var(--error-color)}.login-form input:invalid:focus{box-shadow:0 0 0 2px #dc354533}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:1rem}.positions-card,.availability-card,.events-card{grid-column:1;grid-row:auto}.app-main,.app-header{padding:1rem}.app-header h1{font-size:1.25rem}.user-info{flex-direction:column;gap:.5rem}.summary-grid{grid-template-columns:1fr}.positions-header,.events-header{flex-direction:column;gap:.5rem;align-items:flex-start}.pagination{flex-direction:column;gap:.5rem}table{font-size:.75rem}th,td{padding:.5rem .25rem}}.notification{position:fixed;top:24px;right:24px;z-index:1000;padding:12px 16px;border-radius:var(--mui-border-radius);color:#fff;font-family:var(--mui-font-family);font-size:var(--mui-font-size-sm);font-weight:500;min-width:300px;max-width:500px;box-shadow:var(--mui-shadow-4);animation:slideIn .3s cubic-bezier(.4,0,.2,1);word-wrap:break-word}.notification.success{background-color:var(--mui-success);border-left:4px solid #1b5e20}.notification.error{background-color:var(--mui-error);border-left:4px solid #b71c1c}.notification.warning{background-color:var(--mui-warning);border-left:4px solid #e65100}.notification.info{background-color:var(--mui-info);border-left:4px solid #0d47a1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.notification:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;vertical-align:text-top;background-size:contain;background-repeat:no-repeat;background-position:center}.notification.success:before{content:"✓";background:none;color:#fff;font-weight:700;font-size:16px}.notification.error:before{content:"✕";background:none;color:#fff;font-weight:700;font-size:16px}.notification.warning:before{content:"⚠";background:none;color:#fff;font-weight:700;font-size:16px}.notification.info:before{content:"i";background:none;color:#fff;font-weight:700;font-size:16px;border:2px solid #fff;border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-family:serif}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.pulse-animation{animation:pulse 2s infinite}.service-mode-card{transition:all .2s ease-in-out;cursor:pointer}.service-mode-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.status-indicator{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:16px;font-size:.875rem;font-weight:500}.status-online{background-color:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.status-offline{background-color:#ffebee;color:#c62828;border:1px solid #f44336}.status-busy{background-color:#fff3e0;color:#ef6c00;border:1px solid #ff9800}.mode-description{color:#666;font-size:.9rem;margin-top:4px;line-height:1.4}.emergency-mode-btn{background-color:#ffebee!important;border-color:#f44336!important;color:#d32f2f!important}.emergency-mode-btn:hover{background-color:#ffcdd2!important}
