.sidebar{width:var(--sidebar-width);min-height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-brand{padding:24px 20px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:baseline;gap:8px}.sidebar-brand-name{font-family:var(--font-heading);font-size:26px;color:var(--color-accent);letter-spacing:.08em}.sidebar-brand-sub{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.2em;text-transform:uppercase}.sidebar-nav{padding:16px 0;flex:1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 20px;font-family:var(--font-ui);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);transition:color .15s,background .15s;border-left:3px solid transparent}.sidebar-link:hover{color:var(--color-text-primary);background:#ffffff0a}.sidebar-link--active{color:var(--color-accent);border-left-color:var(--color-accent);background:var(--color-accent-dim)}.sidebar-icon{font-size:16px;width:18px;text-align:center;flex-shrink:0}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--color-border)}.sidebar-footer-text{font-size:11px;color:var(--color-text-faint);letter-spacing:.05em}.dashboard-page{padding:32px 36px;max-width:1100px}.dashboard-loading{color:var(--color-text-secondary);font-size:14px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media (max-width: 800px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:22px 20px 18px}.kpi-value{font-family:var(--font-heading);font-size:42px;color:var(--color-accent);line-height:1;margin-bottom:6px}.kpi-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 800px){.dashboard-grid{grid-template-columns:1fr}}.dash-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 22px}.dash-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dash-panel-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:16px}.dash-panel-header .dash-panel-title{margin-bottom:0}.dash-panel-link{font-size:12px;color:var(--color-accent);letter-spacing:.04em;transition:opacity .15s}.dash-panel-link:hover{opacity:.75}.bar-list{display:flex;flex-direction:column;gap:10px}.bar-item-label{display:flex;justify-content:space-between;font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.bar-item-count{font-weight:600;color:var(--color-text-primary)}.bar-track{height:5px;background:var(--color-border);border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;background:var(--color-accent);transition:width .4s ease}.activity-empty{color:var(--color-text-faint);font-size:13px;padding:20px 0;text-align:center}.activity-list{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.activity-item:last-child{border-bottom:none}.activity-type{display:inline-block;flex-shrink:0;padding:2px 7px;border-radius:var(--radius);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--type-color, var(--color-accent));background:color-mix(in srgb,var(--type-color, var(--color-accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--type-color, var(--color-accent)) 25%,transparent);white-space:nowrap;margin-top:1px}.activity-body{flex:1;min-width:0}.activity-contact{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-subject{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{flex-shrink:0;font-size:11px;color:var(--color-text-faint);white-space:nowrap}.log-form{display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius)}.log-form-header{font-family:var(--font-heading);font-size:18px;color:var(--color-accent);letter-spacing:.06em}.log-form-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.log-form-type-btn{padding:6px 4px;border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.log-form-type-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.log-form-type-btn.active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.log-form-field{display:flex;flex-direction:column;gap:5px}.log-form-field label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary)}.log-form-error{font-size:13px;color:var(--color-danger);padding:8px 12px;background:#c0392b1a;border:1px solid rgba(192,57,43,.3);border-radius:var(--radius)}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;display:flex;justify-content:flex-end}.detail-panel{width:480px;max-width:100vw;height:100%;background:var(--color-surface);border-left:1px solid var(--color-border);overflow-y:auto;padding:28px 28px 48px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--shadow-panel);animation:slide-in .22s ease;position:relative}@keyframes slide-in{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}.detail-close{position:absolute;top:16px;right:16px;font-size:18px;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;line-height:1;padding:4px 8px;border-radius:var(--radius);transition:color .15s}.detail-close:hover{color:var(--color-text-primary)}.detail-loading{color:var(--color-text-secondary);font-size:14px;padding-top:16px}.detail-header{padding-right:32px}.detail-name{font-family:var(--font-heading);font-size:32px;letter-spacing:.04em;line-height:1;margin-bottom:10px}.detail-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sub-brand-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--badge-color, var(--color-accent));background:color-mix(in srgb,var(--badge-color, var(--color-accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--badge-color, var(--color-accent)) 30%,transparent)}.detail-type-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary);border:1px solid var(--color-border)}.detail-section{display:flex;flex-direction:column;gap:10px}.detail-section-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);padding-bottom:6px;border-bottom:1px solid var(--color-border)}.detail-fields{display:flex;flex-direction:column;gap:10px}.detail-field{display:grid;grid-template-columns:110px 1fr;align-items:start;gap:8px}.detail-field-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);padding-top:2px}.detail-field-value{font-size:14px;color:var(--color-text-primary)}.detail-field-value--editable{cursor:pointer;border-radius:4px;padding:1px 4px;margin:-1px -4px;transition:background .12s}.detail-field-value--editable:hover{background:#ffffff0f}.detail-empty{color:var(--color-text-faint);font-style:italic}.detail-field-edit{display:flex;gap:6px;align-items:center}.detail-field-edit input{flex:1;padding:6px 10px}.detail-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-primary);font-family:var(--font-ui);font-size:14px;padding:6px 10px;width:100%;cursor:pointer}.detail-select:focus{border-color:var(--color-accent);outline:none}.detail-notes-text{font-size:14px;color:var(--color-text-primary);line-height:1.6;cursor:pointer;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);min-height:60px;transition:border-color .15s;white-space:pre-wrap}.detail-notes-text:hover{border-color:var(--color-accent)}.detail-notes-edit{display:flex;flex-direction:column;gap:8px}.detail-notes-actions{display:flex;gap:8px}.interaction-list{display:flex;flex-direction:column;gap:10px}.interaction-item{padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:4px}.interaction-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.interaction-type-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-dim);border-radius:3px;padding:2px 7px}.interaction-date{font-size:11px;color:var(--color-text-faint)}.interaction-subject{font-size:13px;font-weight:600;color:var(--color-text-primary)}.interaction-body{font-size:13px;color:var(--color-text-secondary);line-height:1.5;white-space:pre-wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-panel)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border)}.modal-title{font-family:var(--font-heading);font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--color-text-primary)}.modal-close{color:var(--color-text-faint);font-size:16px;padding:4px 8px;border-radius:var(--radius);transition:color .15s}.modal-close:hover{color:var(--color-text-primary)}.modal-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:14px}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-field{display:flex;flex-direction:column;gap:5px}.modal-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.modal-error{padding:10px 14px;background:#c0392b1a;border:1px solid rgba(192,57,43,.3);border-radius:var(--radius);font-size:13px;color:var(--color-danger)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.contacts-page{padding:32px 36px;max-width:1280px}.contacts-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.contacts-header-actions{margin-left:auto}.page-title{font-family:var(--font-heading);font-size:38px;letter-spacing:.04em;color:var(--color-text-primary)}.contacts-count{font-size:13px;color:var(--color-text-faint);letter-spacing:.05em}.contacts-toolbar{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.contacts-search{flex:1;min-width:220px;max-width:360px}.contacts-filter{width:auto;min-width:160px}.contacts-error{padding:10px 14px;background:#c0392b1a;border:1px solid rgba(192,57,43,.3);border-radius:var(--radius);font-size:13px;color:var(--color-danger);margin-bottom:16px}.contacts-loading{color:var(--color-text-secondary);font-size:14px;padding:40px 0;text-align:center}.contacts-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.contacts-table{width:100%;border-collapse:collapse;font-size:14px}.contacts-table thead tr{border-bottom:1px solid var(--color-border)}.contacts-table th{padding:11px 14px;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary);text-align:left;background:var(--color-surface);white-space:nowrap}.contacts-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.contacts-table th.sortable:hover{color:var(--color-text-primary)}.sort-indicator{color:var(--color-accent);margin-left:4px}.sort-indicator--inactive{color:var(--color-text-faint);opacity:.5}.contacts-table td{padding:12px 14px;border-bottom:1px solid var(--color-border);vertical-align:middle}.contacts-table tbody tr:last-child td{border-bottom:none}.contacts-row{cursor:pointer;transition:background .1s}.contacts-row:hover{background:#ffffff08}.contacts-row--selected{background:var(--color-accent-dim)!important}.contacts-name{font-weight:600;color:var(--color-text-primary)}.contacts-company,.contacts-email{color:var(--color-text-secondary)}.contacts-date{color:var(--color-text-faint);font-size:13px}.contacts-empty{text-align:center;padding:48px 14px;color:var(--color-text-faint);font-size:14px}.stage-pill{display:inline-block;padding:3px 9px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#f4f4f4;background:#2b2b2e;border:1px solid #3E454C;white-space:nowrap}.pipeline-page{padding:32px 36px}.pipeline-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:20px;align-items:flex-start}.pipeline-col{flex-shrink:0;width:200px}.pipeline-col-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:var(--radius) var(--radius) 0 0;margin-bottom:8px}.pipeline-col-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary)}.pipeline-col-count{font-family:var(--font-heading);font-size:18px;color:var(--color-text-primary);line-height:1}.pipeline-cards{display:flex;flex-direction:column;gap:8px}.pipeline-card{padding:12px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s}.pipeline-card:hover{border-color:var(--color-accent);background:var(--color-surface-2)}.pipeline-card-name{font-weight:600;font-size:13px;color:var(--color-text-primary);margin-bottom:3px}.pipeline-card-company{font-size:12px;color:var(--color-text-secondary);margin-bottom:6px}.pipeline-card-brand{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.pipeline-empty{color:var(--color-text-faint);font-size:13px;text-align:center;padding:16px 0}.bookings-page{padding:32px 36px;max-width:1100px}.bookings-error{padding:10px 14px;background:#c0392b1a;border:1px solid rgba(192,57,43,.3);border-radius:var(--radius);font-size:13px;color:var(--color-danger);margin-bottom:16px}.bookings-loading{color:var(--color-text-secondary);font-size:14px;padding:40px 0;text-align:center}.bookings-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.bookings-table{width:100%;border-collapse:collapse;font-size:14px}.bookings-table thead tr{border-bottom:1px solid var(--color-border)}.bookings-table th{padding:11px 14px;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary);text-align:left;background:var(--color-surface)}.bookings-table td{padding:13px 14px;border-bottom:1px solid var(--color-border);vertical-align:middle}.bookings-table tbody tr:last-child td{border-bottom:none}.bookings-row:hover{background:#ffffff08}.bookings-title{font-weight:600;color:var(--color-text-primary)}.bookings-date{color:var(--color-text-secondary);white-space:nowrap}.bookings-duration{color:var(--color-text-faint)}.bookings-link{color:var(--color-accent);font-weight:600;font-size:13px;letter-spacing:.04em;transition:opacity .15s}.bookings-link:hover{opacity:.75}.bookings-empty{text-align:center;padding:48px 14px;color:var(--color-text-faint)}.text-faint{color:var(--color-text-faint)}.tag-pill{display:inline-block;padding:3px 9px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pill-color, var(--color-accent));background:color-mix(in srgb,var(--pill-color, var(--color-accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--pill-color, var(--color-accent)) 25%,transparent);white-space:nowrap}:root{--color-bg: #0F0F0F;--color-surface: #2B2B2E;--color-surface-2: #3E454C;--color-border: #2B2B2E;--color-accent: #B46E3D;--color-accent-warm: #D4895A;--color-accent-dim: rgba(180, 110, 61, .15);--color-text-primary: #F4F4F4;--color-text-secondary: #C9CED6;--color-text-faint: #6B7280;--color-danger: #c0392b;--color-success: #27ae60;--font-heading: "Montserrat", sans-serif;--font-ui: "Inter", sans-serif;--radius: 6px;--sidebar-width: 220px;--shadow-panel: 0 0 40px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.04em;line-height:1.1}a{color:inherit;text-decoration:none}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-ui);font-size:14px;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px;outline:none;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-accent)}input::placeholder,textarea::placeholder{color:var(--color-text-faint)}select option{background:var(--color-surface)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-faint)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:var(--radius);font-family:var(--font-ui);font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:background .15s,color .15s,opacity .15s;cursor:pointer;border:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-warm)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.btn-danger{background:var(--color-danger);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;margin-left:var(--sidebar-width);min-height:100vh;background:var(--color-bg);overflow-x:hidden}
