:root{--navy:#0a1628;--mid:#0f2040;--royal:#1a3a6b;--ac:#2563eb;--ab:#3b82f6;--go:#f59e0b;--gl:#fcd34d;--em:#10b981;--ro:#f43f5e;--sl:#64748b;--su:#f8fafc;--bd:#e2e8f0;--tp:#0f172a;--ts:#475569;--tm:#94a3b8;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--su);color:var(--tp);height:100vh;display:flex;flex-direction:column;overflow:hidden;}

/* ── AUTH SCREEN ── */
#auth-screen{position:fixed;inset:0;background:linear-gradient(135deg,var(--navy) 0%,var(--mid) 50%,var(--royal) 100%);display:flex;align-items:center;justify-content:center;z-index:9999;}
.auth-card{background:#fff;border-radius:20px;padding:40px;width:420px;box-shadow:0 32px 80px rgba(0,0,0,.4);}
.auth-logo{font-family:'Playfair Display',serif;font-size:18px;font-weight:800;color:var(--navy);text-align:center;margin-bottom:6px;letter-spacing:.3px;}
.auth-sub{font-size:12px;color:var(--tm);text-align:center;margin-bottom:30px;}
.auth-tabs{display:flex;gap:0;border:1px solid var(--bd);border-radius:8px;margin-bottom:22px;overflow:hidden;}
.auth-tab{flex:1;padding:8px;font-size:12.5px;font-weight:600;text-align:center;cursor:pointer;transition:all .15s;color:var(--ts);background:#fff;}
.auth-tab.active{background:var(--ac);color:#fff;}
.auth-field{margin-bottom:14px;}
.auth-label{font-size:11px;font-weight:600;color:var(--ts);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;}
.auth-input{width:100%;padding:10px 12px;border:1.5px solid var(--bd);border-radius:8px;font-size:13.5px;font-family:'DM Sans',sans-serif;color:var(--tp);transition:border .15s;}
.auth-input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(37,99,235,.08);}
.auth-btn{width:100%;padding:11px;background:linear-gradient(135deg,var(--ac),#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .2s;margin-top:6px;font-family:'DM Sans',sans-serif;}
.auth-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.35);}
.auth-btn:disabled{opacity:.6;transform:none;cursor:not-allowed;}
.auth-msg{font-size:12px;padding:10px 12px;border-radius:7px;margin-top:12px;text-align:center;}
.auth-msg.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;}
.auth-msg.success{background:#f0fdf4;color:#065f46;border:1px solid #bbf7d0;}
.auth-msg.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;}

/* ── PENDING APPROVAL SCREEN ── */
#pending-screen{position:fixed;inset:0;background:linear-gradient(135deg,var(--navy),var(--royal));display:none;align-items:center;justify-content:center;z-index:9998;}
.pending-card{background:#fff;border-radius:20px;padding:44px;width:420px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.4);}

/* ── TOPBAR ── */
#tb{height:54px;background:linear-gradient(135deg,var(--navy) 0%,var(--mid) 55%,var(--royal) 100%);display:flex;align-items:center;padding:0 18px;gap:14px;flex-shrink:0;z-index:200;box-shadow:0 4px 20px rgba(0,0,0,.3);}
.logo{font-family:'Playfair Display',serif;font-size:14.5px;font-weight:700;color:#fff;letter-spacing:.4px;white-space:nowrap;}
.ldiv{width:1px;height:22px;background:rgba(255,255,255,.13);flex-shrink:0;}
#gs{flex:1;max-width:360px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 11px;height:32px;cursor:pointer;}
#gs span{color:rgba(255,255,255,.4);font-size:12.5px;}
#gs .kbd{margin-left:auto;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:4px;padding:1px 5px;font-family:'DM Mono',monospace;font-size:9.5px;color:rgba(255,255,255,.35);}
.tr{margin-left:auto;display:flex;align-items:center;gap:8px;}
.blbo{background:linear-gradient(135deg,var(--go),#d97706);color:var(--navy);border:none;border-radius:7px;padding:6px 13px;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s;}
.blbo:hover{transform:translateY(-1px);}
.ib{width:32px;height:32px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.55);font-size:12px;transition:all .15s;position:relative;}
.ib:hover{background:rgba(255,255,255,.14);color:#fff;}
.nb{position:absolute;top:-3px;right:-3px;width:14px;height:14px;background:var(--ro);border-radius:50%;font-size:8px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--navy);}
.uc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:7px;padding:4px 9px 4px 4px;display:flex;align-items:center;gap:7px;cursor:pointer;}
.uc:hover{background:rgba(255,255,255,.14);}
.ua{width:23px;height:23px;background:linear-gradient(135deg,var(--ac),#7c3aed);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff;}
.uc span{font-size:10.5px;color:rgba(255,255,255,.72);white-space:nowrap;}

/* ── LAYOUT ── */
#app{display:none;flex-direction:column;height:100vh;}
#app.visible{display:flex;}
#ml{display:flex;flex:1;overflow:hidden;}

/* ── SIDEBAR ── */
#sb{width:224px;background:#fff;border-right:1px solid var(--bd);padding:12px 0;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;}
.sbl{font-size:9px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--tm);padding:10px 15px 5px;}
.ni{display:flex;align-items:center;gap:9px;padding:8px 15px;cursor:pointer;transition:all .12s;font-size:13px;color:var(--ts);font-weight:500;border-left:2.5px solid transparent;margin:.5px 0;}
.ni:hover{background:#f1f5f9;color:var(--tp);}
.ni.active{background:#eff6ff;color:var(--ac);border-left-color:var(--ac);font-weight:600;}
.ni .ico{width:16px;text-align:center;font-size:12px;flex-shrink:0;}
.nbdg{margin-left:auto;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:15px;text-align:center;color:#fff;}
.nbr{background:var(--ro);}.nbg{background:var(--em);}.nbb{background:var(--ac);}
.sfooter{margin-top:auto;padding:12px 15px;border-top:1px solid var(--bd);}

/* ── CONTENT ── */
#ct{flex:1;overflow-y:auto;padding:24px 28px;background:var(--su);}
.sec{display:none;animation:fi .2s ease;}
.sec.active{display:block;}
@keyframes fi{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* ── SHARED COMPONENTS ── */
.card{background:#fff;border:1px solid var(--bd);border-radius:13px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.03);}
.ctitle{font-family:'Playfair Display',serif;font-size:14.5px;font-weight:700;color:var(--tp);margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.st{font-family:'Playfair Display',serif;font-size:21px;font-weight:800;color:var(--tp);}
.ss2{font-size:12px;color:var(--tm);margin-top:2px;}
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;border:none;}
.bpri{background:var(--ac);color:#fff;}.bpri:hover{background:#1d4ed8;transform:translateY(-1px);}
.bsec{background:#fff;color:var(--ts);border:1px solid var(--bd);}.bsec:hover{background:#f8fafc;}
.bsm{padding:5px 9px;font-size:11px;}
.bdng{background:#fff;color:var(--ro);border:1px solid #fecdd3;}.bdng:hover{background:#fff1f2;}
.bdg{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:600;}
.bb{background:#dbeafe;color:#1d4ed8;}.bg2{background:#d1fae5;color:#065f46;}.bgo{background:#fef3c7;color:#92400e;}.br2{background:#ffe4e6;color:#be123c;}.bsl{background:#f1f5f9;color:#475569;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.dvdr{height:1px;background:var(--bd);margin:12px 0;}
.sg{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;}
.sc{background:#fff;border:1px solid var(--bd);border-radius:11px;padding:14px 16px;position:relative;overflow:hidden;}
.sc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.sb2::before{background:linear-gradient(90deg,var(--ac),var(--ab));}
.sg22::before{background:linear-gradient(90deg,var(--go),var(--gl));}
.sg32::before{background:linear-gradient(90deg,var(--em),#34d399);}
.sr2::before{background:linear-gradient(90deg,var(--ro),#fb7185);}
.sp2::before{background:linear-gradient(90deg,#7c3aed,#a78bfa);}
.sl2{font-size:9.5px;font-weight:700;color:var(--tm);letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;}
.sv{font-size:22px;font-family:'DM Mono',monospace;font-weight:500;}
.ss3{font-size:10.5px;color:var(--tm);margin-top:2px;}
.itg{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:18px;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid var(--bd);background:#fff;color:var(--ts);}
.itg.active,.itg:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.dt{width:100%;border-collapse:collapse;font-size:12.5px;}
.dt th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--tm);padding:7px 11px;border-bottom:1px solid var(--bd);background:#fafafa;}
.dt td{padding:10px 11px;border-bottom:1px solid #f1f5f9;vertical-align:middle;}
.dt tr:last-child td{border-bottom:none;}
.dt tr:hover td{background:#f8fafc;}
.inp{width:100%;padding:8px 11px;border:1.5px solid var(--bd);border-radius:7px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--tp);}
.inp:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 2px rgba(37,99,235,.08);}
.ta{width:100%;border:1.5px solid var(--bd);border-radius:8px;padding:10px 12px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--tp);resize:vertical;min-height:80px;line-height:1.6;}
.ta:focus{outline:none;border-color:var(--ac);}
.psel{padding:6px 8px;border:1.5px solid var(--bd);border-radius:7px;font-size:12px;color:var(--tp);background:#fff;cursor:pointer;}

/* ── MODALS ── */
.mo{position:fixed;inset:0;background:rgba(10,22,40,.65);backdrop-filter:blur(4px);z-index:500;display:none;align-items:center;justify-content:center;}
.mo.open{display:flex;}
.md{background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.3);overflow:hidden;max-height:92vh;overflow-y:auto;animation:su .22s cubic-bezier(.34,1.56,.64,1);}
@keyframes su{from{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.mh{background:linear-gradient(135deg,var(--navy),var(--royal));padding:18px 22px;display:flex;align-items:center;justify-content:space-between;}
.mt2{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:#fff;}
.mc{width:26px;height:26px;background:rgba(255,255,255,.11);border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.65);font-size:13px;border:none;}
.mc:hover{background:rgba(255,255,255,.2);color:#fff;}
.mb{padding:22px;}
.field{margin-bottom:14px;}
.label{font-size:10.5px;font-weight:600;color:var(--tm);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;}

/* ── CONTACTS ── */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.ccard{background:#fff;border:1px solid var(--bd);border-radius:11px;padding:14px;transition:all .15s;cursor:pointer;}
.ccard:hover{border-color:var(--ab);box-shadow:0 4px 16px rgba(37,99,235,.1);transform:translateY(-1px);}
.cav{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;}

/* ── TODO ── */
.ti{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid #f1f5f9;}
.ti:last-child{border-bottom:none;}

/* ── PIPELINE ── */
.pcol{min-width:190px;background:#f8fafc;border-radius:11px;padding:12px;}
.pcard{background:#fff;border:1px solid var(--bd);border-radius:9px;padding:11px;margin-bottom:7px;cursor:pointer;transition:all .15s;}
.pcard:hover{border-color:var(--ac);}

/* ── PORTFOLIO ── */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.pc{background:#fff;border:1px solid var(--bd);border-radius:13px;overflow:hidden;}

/* ── ADMIN PANEL ── */
.user-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f1f5f9;}
.user-row:last-child{border-bottom:none;}
.role-pill{padding:3px 9px;border-radius:12px;font-size:10px;font-weight:700;}

/* ── LOADING ── */
.spin{animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-overlay{position:fixed;inset:0;background:rgba(255,255,255,.8);backdrop-filter:blur(4px);z-index:400;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;}
.loading-spinner{width:36px;height:36px;border:3px solid var(--bd);border-top-color:var(--ac);border-radius:50%;animation:spin .7s linear infinite;}

/* ── TOAST ── */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 18px;border-radius:9px;font-size:12.5px;font-weight:600;z-index:600;animation:toastIn .3s ease;box-shadow:0 8px 28px rgba(0,0,0,.2);}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ── QUICK NOTE ── */
.qn{position:fixed;bottom:20px;right:24px;z-index:300;}
.qnbtn{width:46px;height:46px;background:var(--ac);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;cursor:pointer;box-shadow:0 4px 18px rgba(37,99,235,.4);border:none;}
.qnbtn:hover{transform:scale(1.08);}
.qnpad{position:fixed;bottom:78px;right:24px;width:310px;background:#fff;border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.18);z-index:300;display:none;overflow:hidden;}
.qnpad.open{display:block;}

::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;}

@keyframes pulse2{0%,100%{opacity:1}50%{opacity:.4}}
