    :root{
      --bg:#f6f8fc;
      --card:#ffffff;
      --line:#e7ecf5;
      --text:#0f172a;
      --muted:#64748b;

      --primary:#2563eb;
      --primary-weak:#e7f0ff;

      --ok:#16a34a;
      --warn:#f59e0b;
      --bad:#ef4444;

      --shadow:0 10px 30px rgba(15,23,42,.06);
      --radius:18px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
      background: radial-gradient(1000px 600px at 20% 90%, rgba(37,99,235,.08), transparent 55%),
                  radial-gradient(900px 600px at 90% 10%, rgba(34,197,94,.08), transparent 55%),
                  var(--bg);
      color:var(--text);
    }
    a{color:inherit; text-decoration:none}
    button, input, select, textarea{font:inherit}
    .wrap{
      display:grid;
      grid-template-columns: 280px 1fr;
      min-height:100vh;
    }

    /* Sidebar */
    .side{
      position:sticky; top:0;
      height:100vh;
      padding:18px 14px;
      background: rgba(255,255,255,.78);
      border-right:1px solid var(--line);
      backdrop-filter: blur(10px);
    }
    .brand{
      display:flex; align-items:center; gap:12px;
      padding:12px 10px;
    }
    .logo{
      width:44px; height:44px; border-radius:14px;
      background: linear-gradient(135deg, #22c55e, #2563eb);
      box-shadow: var(--shadow);
    }
    .brand h1{
      margin:0; font-size:16px; letter-spacing:.2px;
    }
    .brand .sub{font-size:12px;color:var(--muted); margin-top:2px}

    .navBlock{margin-top:10px}
    .navTitle{
      padding:10px 10px;
      font-size:12px;
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:.08em;
    }
    .nav a{
      display:flex; align-items:center; gap:12px;
      padding:10px 12px;
      margin:4px 6px;
      border-radius:14px;
      color:#1f2a44;
      border:1px solid transparent;
      transition:.15s;
    }
    .nav a i{width:18px; text-align:center; color:#475569}
    .nav a:hover{
      background:#fff;
      border-color: var(--line);
      box-shadow: 0 6px 18px rgba(15,23,42,.06);
    }
    .nav a.active{
      background: var(--primary-weak);
      border-color: rgba(37,99,235,.25);
    }
    .sideFooter{
      position:absolute;
      left:14px; right:14px; bottom:14px;
      padding:12px;
      border:1px solid var(--line);
      border-radius:16px;
      background:#fff;
      box-shadow: var(--shadow);
      font-size:12px;
      color:var(--muted);
    }
    .sideFooter b{color:var(--text)}
    .sideFooter .mini{
      display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;
    }

    /* Main */
    .main{
      padding:22px 22px 70px;
    }
    .topbar{
      display:flex; align-items:center; justify-content:space-between;
      gap:12px; flex-wrap:wrap;
      margin-bottom:14px;
    }
    .crumb{
      display:flex; gap:10px; align-items:center; flex-wrap:wrap;
    }
    .crumb .pill{padding:8px 12px}
    .hTitle{
      font-size:18px; font-weight:900; margin:0;
      letter-spacing:.2px;
    }
    .hSub{
      margin-top:4px; font-size:13px; color:var(--muted);
    }

    .actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
    .btn{
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      padding:10px 12px;
      border-radius:14px;
      cursor:pointer;
      display:inline-flex; gap:10px; align-items:center; justify-content:center;
      box-shadow: 0 8px 18px rgba(15,23,42,.05);
      transition:.15s;
      user-select:none;
    }
    .btn:hover{transform: translateY(-1px)}
    .btn:active{transform: translateY(0)}
    .btn.primary{
      background: linear-gradient(180deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
      border-color: rgba(37,99,235,.25);
      color:#0b2a66;
    }
    .btn.danger{
      background: linear-gradient(180deg, rgba(239,68,68,.12), rgba(239,68,68,.06));
      border-color: rgba(239,68,68,.25);
      color:#7f1d1d;
    }
    .btn.small{padding:8px 10px; border-radius:12px; font-size:13px}
    .btn.icon{width:44px; height:44px; padding:0}

    .grid{
      display:grid;
      grid-template-columns: 2fr 1fr;
      gap:14px;
    }
    .card{
      background: rgba(255,255,255,.92);
      border:1px solid var(--line);
      border-radius: var(--radius);
      padding:16px;
      box-shadow: var(--shadow);
    }
    .card h2{
      margin:0; font-size:14px; font-weight:900;
    }
    .sub{
      margin-top:6px; font-size:13px; color:var(--muted)
    }

    .row{display:flex; gap:12px; flex-wrap:wrap}
    .row > *{flex:1}
    .row .fix{flex:0 0 auto}

    .field label{
      display:block; font-size:12px; color:var(--muted); margin-bottom:6px
    }
    .input, select, textarea{
      width:100%;
      padding:10px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background:#fff;
      outline:none;
    }
    textarea{min-height:90px; resize:vertical}
    .hint{font-size:12px;color:var(--muted); margin-top:6px}

    .tableWrap{
      overflow:auto;
      border:1px solid var(--line);
      border-radius: 16px;
      background:#fff;
    }
    table{
      width:100%;
      border-collapse: collapse;
      min-width: 860px;
    }
    th,td{
      padding:12px 12px;
      border-bottom:1px solid var(--line);
      text-align:left;
      vertical-align:top;
      font-size:14px;
    }
    th{
      position:sticky; top:0;
      background:#fbfcff;
      z-index:1;
      font-size:12px;
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:.06em;
    }
    tr:hover td{background:#fafcff}
    .link{
      color:var(--primary);
      font-weight:900;
    }

    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#fff;
      font-size:13px;
      color:#1f2a44;
    }
    .pill .dot{
      width:8px;height:8px;border-radius:50%;
      background:#94a3b8;
    }
    .pill.pending .dot{background: var(--warn)}
    .pill.processing .dot{background: var(--primary)}
    .pill.done .dot{background: var(--ok)}
    .pill.rejected .dot{background: var(--bad)}

    /* Service Cards */
    .svcGrid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:12px;
      margin-top:12px;
    }
    .svc{
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      padding:14px;
      display:flex;
      gap:12px;
      align-items:flex-start;
      cursor:pointer;
      transition:.15s;
    }
    .svc:hover{transform: translateY(-1px); box-shadow: var(--shadow)}
    .svcIcon{
      width:42px;height:42px;border-radius:14px;
      display:flex;align-items:center;justify-content:center;
      background: rgba(37,99,235,.10);
      border:1px solid rgba(37,99,235,.18);
      color:#0b2a66;
      flex:0 0 auto;
    }
    .svc h3{margin:0;font-size:14px;font-weight:900}
    .svc p{margin:6px 0 0;color:var(--muted);font-size:13px; line-height:1.35}
    .svc .meta{margin-top:10px; display:flex; gap:8px; flex-wrap:wrap}

    /* Modal */
    .overlay{
      position:fixed; inset:0;
      background: rgba(15,23,42,.55);
      display:none; align-items:center; justify-content:center;
      padding:16px;
      z-index:50;
    }
    .overlay.show{display:flex}
    .modal{
      width:min(880px, 100%);
      background:#fff;
      border-radius:22px;
      border:1px solid var(--line);
      box-shadow: 0 30px 80px rgba(15,23,42,.35);
      overflow:hidden;
    }
    .modalHead{
      display:flex; align-items:center; justify-content:space-between;
      padding:14px 16px;
      border-bottom:1px solid var(--line);
      background: #fbfcff;
    }
    .modalHead b{font-size:14px}
    .modalBody{padding:16px}
    .modalFoot{
      padding:14px 16px;
      border-top:1px solid var(--line);
      display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap;
      background:#fbfcff;
    }

    /* Mobile */
    .mobileToggle{display:none}
    @media (max-width: 980px){
      .wrap{grid-template-columns: 1fr}
      .side{
        position:fixed; left:0; top:0;
        width:280px;
        transform: translateX(-110%);
        transition:.2s;
        z-index:60;
      }
      .side.show{transform: translateX(0)}
      .main{padding:16px 14px 80px}
      .grid{grid-template-columns:1fr}
      .svcGrid{grid-template-columns:1fr}
      table{min-width: 760px}
      .mobileToggle{display:inline-flex}
    }