:root{--primary:#6c5ce7;--secondary:#00cec9;--success:#00b894;--warning:#fdcb6e;--danger:#ff7675;--dark:#2d3436;--light:#f5f6fa;--white:#fff;--gradient:linear-gradient(135deg,#6c5ce7,#00cec9);--shadow:0 14px 35px rgba(0,0,0,.08)}*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',sans-serif}body{background:radial-gradient(circle at top left,#eef0ff,#f8fafc 42%,#ecfeff);overflow-x:hidden}.app{display:flex;min-height:100vh}.sidebar{width:270px;background:var(--gradient);color:#fff;position:fixed;height:100vh;padding:20px;transition:.35s ease;z-index:999;box-shadow:0 10px 35px rgba(0,0,0,.18)}.sidebar.collapsed{width:86px}.sidebar.collapsed .brand span,.sidebar.collapsed .menu a span,.sidebar.collapsed .side-caption{display:none}.sidebar.collapsed .menu a{justify-content:center;padding:14px}.sidebar.collapsed .menu a:hover,.sidebar.collapsed .menu a.active{transform:scale(1.06)}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;margin-bottom:20px;white-space:nowrap}.brand i{background:#fff;color:var(--primary);width:42px;height:42px;display:grid;place-items:center;border-radius:14px}.side-actions{display:flex;gap:10px;margin-bottom:20px}.side-btn{border:0;background:rgba(255,255,255,.22);color:#fff;border-radius:14px;width:42px;height:42px;display:grid;place-items:center;transition:.25s}.side-btn:hover{background:#fff;color:var(--primary);transform:translateY(-2px)}.side-caption{font-size:12px;opacity:.85;margin-bottom:10px}.menu a{color:#fff;text-decoration:none;display:flex;gap:14px;align-items:center;padding:13px 15px;border-radius:14px;margin-bottom:8px;transition:.3s;font-weight:500;white-space:nowrap}.menu a i{min-width:20px;text-align:center}.menu a:hover,.menu a.active{background:rgba(255,255,255,.22);transform:translateX(8px)}.main{margin-left:270px;width:calc(100% - 270px);padding:22px;transition:.35s ease}.main.expanded{margin-left:86px;width:calc(100% - 86px)}.topbar{background:rgba(255,255,255,.86);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.65);border-radius:24px;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);margin-bottom:25px;animation:fadeDown .6s}.topbar h4{font-weight:800;margin:0}.topbar small{color:#636e72}.search-box{background:#f1f2f6;border-radius:15px;padding:10px 15px;width:320px}.search-box input{border:0;background:transparent;outline:0;width:85%}.profile{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gradient);color:#fff;font-weight:800}.stat-card{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.75);border-radius:26px;padding:22px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.35s;animation:zoomIn .5s}.stat-card:hover{transform:translateY(-8px)}.stat-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:25px;color:#fff;margin-bottom:15px}.bg1{background:linear-gradient(135deg,#6c5ce7,#a29bfe)}.bg2{background:linear-gradient(135deg,#00cec9,#55efc4)}.bg3{background:linear-gradient(135deg,#fd79a8,#ff7675)}.bg4{background:linear-gradient(135deg,#fdcb6e,#e17055)}.stat-card h3{font-size:30px;font-weight:800;margin:0}.stat-card p{color:#636e72;margin:0}.panel{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:26px;padding:22px;box-shadow:var(--shadow);animation:fadeUp .6s}.panel-title{font-size:20px;font-weight:800;margin-bottom:18px;display:flex;align-items:center;gap:10px}.panel-title i{color:var(--primary)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.btn-gradient{background:var(--gradient);color:#fff!important;border:0;border-radius:14px;padding:10px 18px;font-weight:700;transition:.3s;text-decoration:none;display:inline-block}.btn-gradient:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(108,92,231,.35)}.table{vertical-align:middle}.badge-soft{padding:8px 12px;border-radius:20px;font-size:12px;font-weight:700}.hot{background:#ffe3e3;color:#d63031}.warm{background:#fff3cd;color:#b7791f}.new{background:#e8f0ff;color:#3867d6}.converted{background:#d1f7e5;color:#00b894}.timeline{position:relative;padding-left:25px}.timeline:before{content:"";position:absolute;left:8px;top:0;height:100%;width:3px;background:#dfe6e9}.timeline-item{position:relative;padding-bottom:18px}.timeline-item:before{content:"";position:absolute;left:-22px;top:5px;width:14px;height:14px;background:var(--primary);border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 3px #dfe6e9}.timeline-item p{margin:4px 0;color:#636e72}.tag{display:inline-block;background:#f1f2f6;color:#2d3436;padding:8px 12px;border-radius:20px;margin:5px;font-weight:700}.mobile-toggle{display:none;font-size:24px;cursor:pointer}.field-wrap{position:relative}.field-wrap .form-control,.field-wrap .form-select{height:52px;border-radius:16px;border:1px solid #dfe6e9;background:#fff;padding-top:20px;font-weight:600}.field-wrap textarea.form-control{height:auto;min-height:100px}.field-wrap label{position:absolute;top:5px;left:14px;font-size:12px;font-weight:800;color:var(--primary);z-index:2;background:#fff;padding:0 4px;border-radius:5px}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(108,92,231,.12)}.report-card{border-radius:22px;padding:18px;background:linear-gradient(135deg,#fff,#f6f7ff);box-shadow:var(--shadow);border:1px solid #fff}.report-card h5{font-weight:800;margin:0}.report-card small{color:#636e72}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1d2671,#6c5ce7,#00cec9);position:relative;overflow:hidden}.login-body:before,.login-body:after{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(2px);animation:float 6s ease-in-out infinite}.login-body:before{left:-80px;top:-100px}.login-body:after{right:-80px;bottom:-100px;animation-delay:1.5s}.login-card{width:430px;max-width:92%;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.55);border-radius:32px;padding:38px;box-shadow:0 30px 80px rgba(0,0,0,.25);animation:zoomIn .5s;position:relative;z-index:2}.login-brand{color:#2d3436;margin-bottom:18px}.login-card h3{font-weight:900}.login-icon{width:80px;height:80px;border-radius:26px;background:var(--gradient);color:#fff;display:grid;place-items:center;font-size:34px;margin:0 auto 18px;box-shadow:0 15px 35px rgba(108,92,231,.35)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(25px)}}@keyframes fadeDown{from{opacity:0;transform:translateY(-25px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(max-width:991px){.sidebar{left:-280px}.sidebar.show{left:0}.sidebar.collapsed{width:270px}.sidebar.collapsed .brand span,.sidebar.collapsed .menu a span,.sidebar.collapsed .side-caption{display:inline}.sidebar.collapsed .menu a{justify-content:flex-start}.main,.main.expanded{margin-left:0;width:100%}.mobile-toggle{display:block}.search-box,.profile{display:none}.topbar{justify-content:flex-start;gap:15px}.panel-head{flex-direction:column;align-items:flex-start}}

/* Menu/Submenu Manager */
.submenu-tree{display:grid;gap:14px}
.submenu-card{background:linear-gradient(135deg,#ffffff,#f7f8ff);border:1px solid #eef0ff;border-radius:20px;padding:16px;box-shadow:0 10px 25px rgba(0,0,0,.05);transition:.3s}
.submenu-card:hover{transform:translateY(-4px)}
.submenu-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.submenu-title{display:flex;align-items:center;gap:10px;font-weight:900;color:#2d3436}
.submenu-title i{width:40px;height:40px;border-radius:14px;background:var(--gradient);color:#fff;display:grid;place-items:center}
.child-menu{margin:14px 0 0 50px;padding:0;list-style:none}
.child-menu li{background:#fff;border:1px dashed #dfe6e9;border-radius:14px;padding:10px 12px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.permission-chip{font-size:11px;font-weight:800;border-radius:20px;padding:6px 9px;background:#eef0ff;color:var(--primary);margin:2px;display:inline-block}
.modal-content{border:0;border-radius:28px;overflow:hidden;box-shadow:0 25px 80px rgba(0,0,0,.25)}
.modal-header{background:var(--gradient);color:#fff;border:0;padding:20px 24px}
.modal-header .btn-close{filter:brightness(0) invert(1);opacity:.9}
.modal-body{padding:24px;background:linear-gradient(135deg,#fff,#f8fbff)}
.flip-field{position:relative;margin-bottom:18px;perspective:900px}
.flip-field input,.flip-field select,.flip-field textarea{width:100%;border:1px solid #dfe6e9;border-radius:16px;background:#fff;outline:0;padding:18px 14px 10px;font-weight:700;transition:.25s;min-height:54px}
.flip-field textarea{min-height:95px}
.flip-field label{position:absolute;left:14px;top:16px;color:#7f8c8d;font-weight:800;background:#fff;padding:0 6px;border-radius:8px;transition:.28s;pointer-events:none;transform-origin:left center}
.flip-field input:focus,.flip-field select:focus,.flip-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 .22rem rgba(108,92,231,.12)}
.flip-field input:focus+label,.flip-field input:not(:placeholder-shown)+label,.flip-field textarea:focus+label,.flip-field textarea:not(:placeholder-shown)+label,.flip-field select:focus+label,.flip-field select.has-value+label{top:-9px;font-size:12px;color:#fff;background:var(--gradient);transform:rotateX(360deg) scale(.96);box-shadow:0 8px 18px rgba(108,92,231,.25)}
.icon-preview{width:54px;height:54px;border-radius:18px;background:var(--gradient);display:grid;place-items:center;color:#fff;font-size:24px;box-shadow:0 12px 28px rgba(108,92,231,.25)}
.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}
.status-active{background:#00b894}.status-inactive{background:#ff7675}

/* Layout polish */
.topbar{gap:14px;min-height:82px}.topbar>div{min-width:0}.topbar h4,.topbar small{overflow-wrap:anywhere}.btn-gradient,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.2}.btn-sm{gap:5px}.panel,.stat-card,.report-card{height:100%}.panel-head{flex-wrap:wrap}.table-responsive{border-radius:16px}.table{min-width:720px;margin-bottom:0}.table th{color:#636e72;font-size:13px;text-transform:uppercase;white-space:nowrap}.table td{white-space:nowrap}.field-wrap,.flip-field{min-width:0}.form-control,.form-select,.flip-field input,.flip-field select,.flip-field textarea{max-width:100%}.menu{max-height:calc(100vh - 132px);overflow:auto;padding-right:3px}.menu::-webkit-scrollbar{width:4px}.menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:20px}.child-menu li{gap:10px}.permission-chip input{vertical-align:middle;margin-right:4px}.side-actions .side-btn:first-child{display:none}.sidebar.collapsed .side-actions .side-btn:first-child{display:grid}.sidebar.collapsed .side-actions .side-btn:last-child{display:none}
@media(max-width:1199px){.search-box{width:260px}.main{padding:18px}}
@media(max-width:991px){body:has(.sidebar.show){overflow:hidden}.sidebar.show{box-shadow:0 0 0 100vw rgba(45,52,54,.35),0 10px 35px rgba(0,0,0,.18)}.side-actions .side-btn:first-child,.sidebar.collapsed .side-actions .side-btn:first-child{display:none}.side-actions .side-btn:last-child,.sidebar.collapsed .side-actions .side-btn:last-child{display:grid}.topbar{border-radius:18px;align-items:flex-start}.topbar .btn-gradient{width:100%}.stat-card,.panel,.report-card{border-radius:20px}.child-menu{margin-left:0}.child-menu li{align-items:flex-start;flex-direction:column}.submenu-head{align-items:flex-start;flex-direction:column}.modal-dialog{margin:12px}}
@media(max-width:575px){.main{padding:14px}.topbar{padding:14px}.topbar h4{font-size:19px}.panel{padding:16px}.stat-card{padding:18px}.login-card{padding:28px 20px;border-radius:24px}.btn-gradient{width:100%}.mobile-toggle{min-width:28px}.table{min-width:640px}.icon-preview{width:46px;height:46px;border-radius:15px;font-size:20px}}
