:root{--brand: #2563eb;--brand-dark: #1d4ed8;--brand-soft: #eef2ff;--bg: #f5f7fb;--surface: #ffffff;--border: #e6e9f0;--text: #0f172a;--muted: #64748b;--success: #0f9d58;--success-bg: #e6f7ec;--danger: #d33;--danger-bg: #fdecec;--warning: #b7791f;--warning-bg: #fdf3e0;--radius-lg: 16px;--radius-md: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .06)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface);color:var(--text);padding:14px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px}.app-header-title{font-size:16px;font-weight:700}.app-header-subtitle{font-size:12px;color:var(--muted);margin-top:1px}.header-user{display:flex;align-items:center;gap:12px}.header-user-info{text-align:right}.header-user-name{font-size:13px;font-weight:600;line-height:1.3}.header-user-company{font-size:12px;color:var(--muted);line-height:1.3}.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-soft);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.btn-icon{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-icon:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.btn-logout{padding:8px 14px;background:transparent;color:var(--danger);border:1px solid var(--danger-bg);border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.btn-logout:hover{background:var(--danger-bg);border-color:var(--danger)}.app-main{flex:1;padding:28px;max-width:1320px;width:100%;margin:0 auto}.btn-primary{width:100%;padding:12px 16px;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;cursor:pointer;font-weight:600;transition:background .15s,transform .05s}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:active{transform:scale(.99)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:8px 14px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;transition:background .15s}.btn-secondary:hover{background:var(--bg)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-tiny{padding:6px 10px;font-size:12px;white-space:nowrap}.error-text{color:var(--danger);font-size:13px;margin-top:10px;background:var(--danger-bg);padding:8px 12px;border-radius:8px}.info-banner{display:flex;align-items:center;gap:8px;color:var(--success);font-size:13px;background:var(--success-bg);padding:10px 14px;border-radius:8px;margin-bottom:16px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#eef2ff 0%,var(--bg) 55%);padding:24px}.login-container{width:100%;max-width:380px;background:var(--surface);padding:36px 32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border)}.login-logo{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;margin-bottom:18px}.login-container h2{margin-top:0;margin-bottom:4px;font-size:20px}.login-subtitle{color:var(--muted);font-size:13px;margin-bottom:24px}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:13px;margin-bottom:6px;color:var(--muted);font-weight:500}.form-group input,.form-group select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;background:var(--surface);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.password-field{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:4px 6px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:700}.page-subtitle{color:var(--muted);font-size:13px;margin-top:4px}.realtime-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap;background:var(--surface);border:1px solid var(--border);padding:6px 12px;border-radius:999px}.realtime-indicator{width:8px;height:8px;border-radius:50%;background:#98a2b3}.realtime-status.connected{color:var(--success);border-color:var(--success-bg);background:var(--success-bg)}.realtime-status.connected .realtime-indicator{background:var(--success)}.realtime-status.connecting .realtime-indicator,.realtime-status.reconnecting .realtime-indicator{background:var(--warning)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi-label{font-size:12px;color:var(--muted);margin-bottom:6px}.kpi-value{font-size:24px;font-weight:700}.kpi-value.tone-success{color:var(--success)}.kpi-value.tone-danger{color:var(--danger)}.kpi-value.tone-warning{color:var(--warning)}.toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.search-input{flex:1;min-width:220px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;background:var(--surface)}.search-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.filter-select{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;background:var(--surface);min-width:160px}.deals-table-wrapper{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden}table.deals-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}table.deals-table th{text-align:left;padding:13px 16px;background:#fafbfd;border-bottom:1px solid var(--border);white-space:nowrap;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.02em}table.deals-table td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}table.deals-table tbody tr.data-row{cursor:pointer;transition:background .12s}table.deals-table tbody tr.data-row:hover{background:#fafbfd}table.deals-table tbody tr.data-row.expanded{background:var(--brand-soft)}.cell-primary{font-weight:600}.cell-muted{color:var(--muted);font-size:12px;margin-top:2px}.chevron{display:inline-block;transition:transform .15s;color:var(--muted)}.chevron.open{transform:rotate(90deg)}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-neutral{background:#eef1f6;color:var(--muted)}.badge-role-admin{background:#f3e8ff;color:#7c3aed}.badge-role-client{background:var(--brand-soft);color:var(--brand-dark)}tr.detail-row td{background:#fbfcfe;padding:0}.detail-panel{padding:18px 20px 22px;border-top:1px dashed var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.detail-field-box{background:#f1f3f7;border:1px solid #e3e6ed;border-radius:10px;padding:10px 12px}.detail-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:4px}.detail-field-value{font-size:14px;font-weight:500}.detail-edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:14px;border-top:1px solid var(--border)}.editable-cell select,.editable-cell input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface)}.editable-cell select:focus,.editable-cell input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.save-hint{font-size:11px;color:var(--brand);margin-top:4px}.saved-hint{font-size:11px;color:var(--success);margin-top:4px;display:flex;align-items:center;gap:4px}.comment-send-block{display:flex;flex-direction:column;gap:6px}.comment-send-textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;min-height:44px}.comment-send-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.comment-send-block .btn-secondary{align-self:flex-start}.assign-select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:12px;background:var(--surface);cursor:pointer}.assign-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.assign-select:disabled{opacity:.6;cursor:not-allowed}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px 24px;margin-bottom:22px}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.section-title{font-size:16px;font-weight:700}.section-count{font-size:12px;color:var(--muted)}.admin-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;align-items:end}.admin-form-grid .form-group{margin-bottom:0}.admin-form-actions{grid-column:1 / -1}.admin-form-actions .btn-primary{width:auto;padding:11px 24px}.user-actions{display:flex;flex-direction:column;gap:6px}.password-inline{display:flex;align-items:center;gap:6px}.password-inline input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px}.password-inline input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.password-toggle-inline{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;flex-shrink:0}.empty-state{padding:70px 20px;text-align:center;color:var(--muted)}.empty-state-icon{font-size:32px;margin-bottom:10px}.skeleton-row td{padding:15px 16px}.skeleton-bar{height:12px;border-radius:6px;background:linear-gradient(90deg,#eef0f4 25%,#f7f8fa 37%,#eef0f4 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (max-width: 900px){.kpi-grid,.detail-grid,.detail-edit-grid,.admin-form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.app-main{padding:16px}.kpi-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column;gap:10px}.detail-grid,.detail-edit-grid,.admin-form-grid{grid-template-columns:1fr}.header-user-info,table.deals-table thead{display:none}table.deals-table,table.deals-table tbody,table.deals-table tr,table.deals-table td{display:block;width:100%}table.deals-table tr.data-row{padding:12px 16px;border-bottom:1px solid var(--border)}table.deals-table td{border-bottom:none;padding:4px 0}table.deals-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:2px}}
