:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--secondary:#475569;--bg-main:#f8fafc;--bg-card:#fff;--bg-sidebar:#0f172a;--sidebar-hover:#1e293b;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--success:#16a34a;--success-bg:#f0fdf4;--warning:#d97706;--warning-bg:#fffbeb;--danger:#dc2626;--danger-bg:#fef2f2;--radius:8px;--shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;color:var(--text-main);background-color:var(--bg-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;margin:0}.app-container{height:100dvh;display:flex;position:relative;overflow:hidden}.sidebar{background-color:var(--bg-sidebar);color:#f8fafc;flex-direction:column;flex-shrink:0;width:260px;transition:width .2s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.sidebar.collapsed{width:68px}.sidebar-header{border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;gap:.5rem;min-height:64px;padding:1rem 1.15rem;display:flex}.sidebar.collapsed .sidebar-header{flex-direction:column;justify-content:center;gap:.5rem;padding:1rem .5rem}.sidebar-toggle-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:inline-flex}.sidebar-toggle-btn:hover{color:#f8fafc;background-color:#1e293b;border-color:#475569}.brand-title{letter-spacing:-.025em;color:#fff;font-size:1.2rem;font-weight:700}.brand-tag{color:#60a5fa;background:#2563eb33;border-radius:4px;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.sidebar.collapsed .brand-tag{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex;overflow-y:auto}.sidebar.collapsed .sidebar-nav{align-items:center;padding:1rem .4rem}.nav-item{border-radius:var(--radius);color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.65rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar.collapsed .nav-item{border-radius:8px;justify-content:center;width:44px;height:44px;padding:.65rem 0}.sidebar.collapsed .nav-item span{display:none}.nav-item:hover{background-color:var(--sidebar-hover);color:#fff}.nav-item.active{background-color:var(--primary);color:#fff;font-weight:600}.sidebar-footer{border-top:1px solid #1e293b;padding:1rem 1.25rem}.sidebar.collapsed .sidebar-footer{flex-direction:column;align-items:center;padding:.75rem .4rem;display:flex}.user-badge{align-items:center;gap:.75rem;display:flex}.sidebar.collapsed .user-badge{justify-content:center;gap:0}.sidebar.collapsed .user-badge>div:last-child{display:none}.user-avatar{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:600;display:flex}.sidebar.collapsed .sidebar-footer .btn-logout span{display:none}.sidebar.collapsed .sidebar-footer .btn-logout{height:44px;justify-content:center!important;width:44px!important;padding:0!important}.main-content{background-color:var(--bg-main);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 1.5rem;display:flex}.topbar-title{font-size:1.15rem;font-weight:600}.content-body{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}body.zen-mode .sidebar,body.zen-mode .sidebar-backdrop,body.zen-mode .topbar{display:none!important}body.zen-mode .main-content{width:100vw!important;height:100dvh!important}body.zen-mode .content-body{height:100dvh!important;max-height:100vh!important;padding:0!important;overflow:hidden!important}body.zen-mode .flow-workspace{height:100dvh!important}.horizontal-scroll{white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.horizontal-scroll::-webkit-scrollbar{display:none}@media (width<=768px){.sidebar{z-index:100;width:280px;max-width:85vw;height:100dvh;transition:transform .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000073}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:280px}.sidebar.collapsed .sidebar-header{flex-direction:row;justify-content:space-between;padding:1rem 1.15rem}.sidebar.collapsed .brand-tag{display:inline-block}.sidebar.collapsed .sidebar-nav{align-items:stretch;padding:1rem .75rem}.sidebar.collapsed .nav-item{justify-content:flex-start;gap:.75rem;width:100%;height:auto;padding:.65rem .85rem}.sidebar.collapsed .nav-item span{display:inline}.sidebar.collapsed .sidebar-footer{align-items:stretch;padding:1rem 1.25rem}.sidebar.collapsed .user-badge{justify-content:flex-start;gap:.75rem}.sidebar.collapsed .user-badge>div:last-child{display:block}.sidebar.collapsed .sidebar-footer .btn-logout{height:auto;width:100%!important;padding:.45rem .75rem!important}.sidebar.collapsed .sidebar-footer .btn-logout span{display:inline}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:95;background:#0f172aa6;animation:.2s fadeInBackdrop;position:fixed;inset:0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.sidebar-footer{padding-bottom:max(1.25rem, calc(env(safe-area-inset-bottom,0px) + 1.25rem))}.topbar{height:54px;padding:0 .75rem}.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:1rem;overflow:hidden}.topbar-desktop-only{display:none!important}.content-body{padding:.65rem .5rem}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.card-title{font-size:1.1rem;font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{border-color:var(--border);color:var(--text-main);background-color:#fff}.btn-secondary:hover{background-color:#f1f5f9}.btn-danger{background-color:var(--danger-bg);color:var(--danger);border-color:#fecaca}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}th{color:var(--text-muted);border-bottom:1px solid var(--border);background-color:#f8fafc;padding:.75rem 1rem;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text-main);padding:.85rem 1rem}tr:hover td{background-color:#f8fafc}.badge{border-radius:9999px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--primary-light);color:var(--primary)}.badge-secondary{color:var(--secondary);background:#f1f5f9}.form-group{margin-bottom:1rem}.form-label{color:var(--text-main);margin-bottom:.35rem;font-size:.875rem;font-weight:500;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);border-radius:var(--radius);outline:none;width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.875rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.modal-overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow-lg);background:#fff;padding:1.5rem}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.modal-footer{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.alert-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.alert-info{background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.input-no-spinners::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-no-spinners::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-no-spinners{appearance:textfield}@media (width<=1024px){.contact-detail-panel{max-width:85vw;animation:.2s cubic-bezier(.16,1,.3,1) slideInRight;top:0;bottom:0;right:0;z-index:50!important;width:320px!important;height:100dvh!important;position:fixed!important;box-shadow:-4px 0 24px #00000040!important}.contact-panel-backdrop{display:block!important}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}
