
  :root{
    --amber:#F2A95C; --amber-deep:#C9722B; --teal:#177E7E; --teal-deep:#0F6161; --teal-dark:#173B3B;
    --sky:#4EA3E8; --sky-deep:#2E7FC2; --gold:#FFC24B; --cream:#FDEBD2; --paper:#FFF9F0;
    --ink:#2B1D12; --muted:#6b5138; --line:#F0DDC2; --coral:#F4886B; --green:#63B8A9;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Nunito',system-ui,sans-serif;background:#F6EFE3;color:var(--ink);line-height:1.5}
  h1,h2,h3{font-family:'Baloo 2',sans-serif;line-height:1.15}
  .app{display:flex;min-height:100vh}

  /* SIDEBAR */
  aside{width:230px;background:var(--teal-dark);color:#CDE4E1;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
  .side-logo{display:flex;align-items:center;gap:10px;padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
  .side-logo svg{width:40px;height:40px}
  .side-logo .wm{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.2rem}
  .side-logo .wm b{color:var(--gold)} .side-logo .wm span{color:#7FD1CB}
  .nav{padding:14px 10px;flex:1}
  .nav a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:12px;color:#B7D4D0;text-decoration:none;font-weight:700;font-size:.93rem;margin-bottom:3px;cursor:pointer;transition:background .12s}
  .nav a:hover{background:rgba(255,255,255,.07);color:#fff}
  .nav a.active{background:var(--teal);color:#fff}
  .nav a .ico{width:20px;text-align:center}
  .nav .lbl{font-size:.68rem;font-weight:800;letter-spacing:1px;color:#5f8783;padding:14px 14px 6px;text-transform:uppercase}
  .side-user{padding:14px 16px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:10px;align-items:center;font-size:.85rem}
  .ava{width:36px;height:36px;border-radius:50%;background:var(--amber);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'Baloo 2',sans-serif;flex-shrink:0}
  .ava.lg{width:84px;height:84px;font-size:1.8rem}
  .side-user b{color:#fff;display:block;line-height:1.2}
  .side-user span{color:#7fa5a1;font-size:.72rem}

  /* MAIN */
  main{flex:1;padding:28px 34px;max-width:1160px}
  .view{display:none}
  .view.on{display:block;animation:fade .25s ease}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
  .topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:14px;flex-wrap:wrap}
  .topbar h1{font-size:1.7rem}
  .topbar p{color:var(--muted);font-size:.92rem}
  .btn{font-family:'Baloo 2',sans-serif;font-weight:700;border-radius:12px;padding:10px 20px;font-size:.95rem;cursor:pointer;border:none;transition:transform .12s}
  .btn:hover{transform:translateY(-1px)}
  a.btn{display:inline-block;text-decoration:none;text-align:center;box-sizing:border-box}
  a.btn-block{display:block}
  .btn-teal{background:var(--teal);color:#fff}
  .btn-gold{background:var(--gold);color:var(--ink)}
  .btn-line{background:#fff;border:2px solid var(--teal);color:var(--teal);padding:8px 18px}
  .btn-sm{padding:6px 14px;font-size:.8rem;border-radius:9px}

  .grid{display:grid;gap:18px}
  .g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
  .g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
  .g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
  .panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
  .panel h3{font-size:1.05rem;margin-bottom:14px}
  .stat b{font-family:'Baloo 2',sans-serif;font-size:1.9rem;color:var(--amber-deep);display:block;line-height:1.1}
  .stat span{font-size:.8rem;color:var(--muted);font-weight:700}
  .stat .up{color:var(--teal);font-size:.75rem;font-weight:800}

  .chip{display:inline-block;font-size:.72rem;font-weight:800;border-radius:99px;padding:3px 11px}
  .c-sub{background:#E2F2F0;color:var(--teal)}
  .c-acc{background:#E8F2FC;color:var(--sky-deep)}
  .c-inv{background:#FFF1D6;color:var(--amber-deep)}
  .c-not{background:#F1EAE0;color:#9a8a75}
  .c-group{background:#F3E8FA;color:#8E54B8}

  table{width:100%;border-collapse:collapse;font-size:.9rem}
  th{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:#9a8a75;text-align:left;padding:8px 10px;border-bottom:2px solid var(--line)}
  td{padding:11px 10px;border-bottom:1px solid #F6EDDD;vertical-align:middle}
  tr:hover td{background:#FFFBF4}
  .rowname{display:flex;align-items:center;gap:10px;font-weight:800}
  .rowname .sub{display:block;font-size:.74rem;color:var(--muted);font-weight:600}

  .bar{height:8px;border-radius:99px;background:#F4E8D4;overflow:hidden;min-width:70px}
  .bar i{display:block;height:100%;border-radius:99px;background:var(--teal)}

  .form label{display:block;font-weight:800;font-size:.82rem;margin:14px 0 5px}
  .form input,.form select,.form textarea{width:100%;padding:10px 12px;border:2px solid var(--line);border-radius:10px;font-family:inherit;font-size:.92rem;background:#FFFDF9}
  .form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--teal)}
  .hint{font-size:.75rem;color:#9a8a75;margin-top:4px}
  .callout{background:#FFF4E2;border-left:4px solid var(--gold);border-radius:10px;padding:12px 14px;font-size:.85rem;color:#6b5138;margin-top:14px}
  .callout b{color:var(--amber-deep)}

  /* toggles */
  .togrow{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #F6EDDD;gap:10px}
  .togrow:last-child{border-bottom:none}
  .togrow .t{font-weight:800;font-size:.92rem}
  .togrow .d{font-size:.78rem;color:var(--muted)}
  .tgs{display:flex;gap:16px;align-items:center}
  .tg{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;color:#9a8a75}
  .sw{width:38px;height:22px;border-radius:99px;background:#E3D5BF;position:relative;cursor:pointer;transition:background .15s}
  .sw:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .15s}
  .sw.on{background:var(--teal)} .sw.on:after{left:19px}

  /* invite preview */
  .mailprev{border:2px dashed var(--line);border-radius:16px;overflow:hidden;background:#FFFDF9}
  .mp-head{background:var(--cream);padding:12px 18px;font-size:.78rem;color:var(--muted);font-weight:700}
  .mp-body{padding:22px}
  .mp-body .from{display:flex;gap:12px;align-items:center;margin-bottom:14px}
  .mp-body h4{font-family:'Baloo 2',sans-serif;font-size:1.15rem;margin-bottom:8px}
  .mp-body p{font-size:.88rem;color:#4a3a28;margin-bottom:10px}
  .mp-cta{display:inline-block;background:var(--teal);color:#fff;font-family:'Baloo 2',sans-serif;font-weight:700;padding:10px 22px;border-radius:11px;font-size:.9rem;margin:6px 0}
  .mp-code{background:var(--cream);border-radius:9px;padding:8px 14px;font-weight:800;letter-spacing:1px;display:inline-block;font-size:.85rem;color:var(--amber-deep)}
  .stores{display:flex;gap:8px;margin-top:10px}
  .store{background:#1b1b24;color:#fff;border-radius:8px;padding:6px 14px;font-size:.7rem;font-weight:700}

  /* content cards */
  .bank{border:2px solid var(--line);border-radius:16px;padding:18px;background:#FFFDF9;transition:border-color .15s, transform .15s}
  .bank:hover{border-color:var(--teal);transform:translateY(-3px)}
  .bank .em{font-size:1.7rem}
  .bank h4{font-family:'Baloo 2',sans-serif;font-size:1.02rem;margin:6px 0 2px}
  .bank .ct{font-size:.76rem;color:var(--muted);font-weight:700}
  .path{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#FFFDF9}
  .path .n{width:26px;height:26px;border-radius:8px;background:var(--cream);color:var(--amber-deep);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}
  .path b{flex:1;font-size:.9rem}
  .path .meta{font-size:.74rem;color:var(--muted);font-weight:700}

  /* phone preview in profile */
  .mini-phone{width:230px;background:#1b1b24;border-radius:26px;padding:9px;margin:0 auto}
  .mini-screen{background:linear-gradient(135deg,#5D3FD3,#F26AA7);border-radius:19px;padding:14px 10px 20px;position:relative}
  .mini-card{background:#FFF9F0;border-radius:14px;padding:12px}
  .mini-card .qh{display:flex;gap:8px;align-items:center;margin-bottom:8px}
  .mini-card .qh svg{width:30px;height:30px}
  .mini-card .qh .t{font-size:.55rem;color:var(--muted);font-weight:800}
  .mini-card .qh .n{font-family:'Baloo 2',sans-serif;font-size:.72rem;font-weight:700}
  .mini-card .q{font-weight:800;font-size:.8rem;margin-bottom:8px;font-family:'Baloo 2',sans-serif}
  .mini-opt{background:#fff;border:1.5px solid #EADCC5;border-radius:8px;padding:5px 8px;font-size:.7rem;font-weight:700;margin-bottom:5px}

  /* onboarding */
  .steps-nav{display:flex;gap:8px;margin-bottom:24px}
  .stepdot{flex:1;height:6px;border-radius:99px;background:#E9DCC6}
  .stepdot.done{background:var(--teal)}
  .onb-wrap{max-width:560px;margin:0 auto}

  .subchips{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
  .subchip{border:2px solid var(--line);background:#FFFDF9;border-radius:99px;padding:7px 14px;font-weight:800;font-size:.82rem;cursor:pointer;color:var(--muted);transition:all .12s;user-select:none}
  .subchip:hover{border-color:var(--teal)}
  .subchip.on{background:var(--teal);border-color:var(--teal);color:#fff}
  .subchip.on:before{content:"✓ "}
  .toast{position:fixed;bottom:26px;right:26px;background:var(--teal-dark);color:#fff;font-weight:700;font-size:.88rem;padding:13px 20px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);transition:all .25s;pointer-events:none;z-index:99}
  .toast.show{opacity:1;transform:none}
  .mock-note{position:fixed;top:0;left:0;right:0;background:var(--gold);text-align:center;font-size:.72rem;font-weight:800;padding:3px;z-index:98;color:var(--ink)}
  @media(max-width:900px){aside{display:none}}

  /* ---- app additions (auth pages, empty states) ---- */
  .empty{text-align:center;padding:34px 20px;color:#9a8a75;font-weight:700}
  .empty .big{font-size:2rem;display:block;margin-bottom:8px}
  .authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#FDEBD2 0%,#FFF9F0 55%);padding:24px}
  .authcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;width:100%;max-width:440px;box-shadow:0 18px 50px rgba(120,80,30,.12)}
  .authcard .logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:8px}
  .authcard .logo svg{width:52px;height:52px}
  .authcard h1{text-align:center;font-size:1.5rem;margin-bottom:4px}
  .authcard .sub{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:14px}
  .authcard .err{display:none;background:#FDE8E4;color:#B4432D;font-weight:700;font-size:.85rem;border-radius:10px;padding:10px 14px;margin-top:14px}
  .authcard .alt{text-align:center;font-size:.85rem;color:var(--muted);margin-top:18px}
  .authcard .alt a{color:var(--teal);font-weight:800}
  .btn-block{width:100%;margin-top:18px}
  .ava img{width:100%;height:100%;object-fit:cover;border-radius:50%}
  .rowactions{display:flex;gap:6px;flex-wrap:wrap}
