@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700;800&display=swap');

:root{
  --ink-900:#04231f;
  --ink-800:#0a2f29;
  --mint-500:#10c98f;
  --mint-400:#2be3a8;
  --mint-100:#d7fbef;
  --line: rgba(255,255,255,0.14);
  --muted: rgba(255,255,255,0.62);
}

*{box-sizing:border-box; margin:0; padding:0;}
html,body{height:100%;}
body{
  font-family:'IBM Plex Sans Arabic', sans-serif;
  background: var(--ink-900);
  color:#fff;
  min-height:100vh;
  padding: 28px 16px;
}

.stage{ width:100%; max-width: 1180px; margin:0 auto; }

.topnav{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px; padding: 0 4px; flex-wrap:wrap; gap:12px;
}
.brandmark{ display:flex; align-items:center; gap:8px; font-weight:800; font-size:16px; }
.brandmark .dot{
  width:9px;height:9px;border-radius:50%; background: var(--mint-400);
  box-shadow: 0 0 0 4px rgba(43,227,168,0.18);
}
.tabs{ display:flex; gap:4px; background: rgba(255,255,255,0.04); border:1px solid var(--line); border-radius:12px; padding:4px; }
.tab-btn{
  appearance:none; border:none; cursor:pointer; font-family:inherit; font-size:13.5px; font-weight:700;
  color: var(--muted); background:transparent; border-radius:9px; padding:10px 18px;
  text-decoration:none; display:inline-block; transition: background .18s ease, color .18s ease;
}
.tab-btn.active{ background: linear-gradient(180deg, var(--mint-400), var(--mint-500)); color: var(--ink-900); }

.card{
  position:relative; background: linear-gradient(135deg, var(--ink-800) 0%, var(--ink-900) 62%);
  border-radius: 22px; overflow:hidden; display:grid; grid-template-columns: 0.92fr 1.08fr;
  min-height: 560px; box-shadow: 0 30px 80px -30px rgba(0,0,0,0.7); border: 1px solid rgba(255,255,255,0.06);
}
.hero{ position:relative; background: var(--ink-800); overflow:hidden; }
.hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position: 60% 30%; }
.hero::after{ content:""; position:absolute; inset:0; background: linear-gradient(100deg, var(--ink-900) 0%, rgba(10,47,41,0.72) 18%, rgba(10,47,41,0.0) 46%); }
.seam{ position:absolute; inset:0; background: var(--ink-900); clip-path: polygon(0 0, 38% 0, 0 46%); z-index:2; pointer-events:none; }
.seam2{ position:absolute; inset:0; background: var(--ink-900); clip-path: polygon(0 100%, 0 55%, 46% 100%); z-index:2; pointer-events:none; }

.panel{ position:relative; padding: 34px 38px 30px; display:flex; flex-direction:column; gap:18px; z-index:3; }
.eyebrow{ font-size:13.5px; font-weight:600; color: var(--mint-400); }
h1{ font-size: 30px; font-weight:800; line-height:1.25; margin-top:2px; }
h1 span{ color: var(--mint-400); }

form{
  margin-top:8px; background: rgba(255,255,255,0.03); border:1px solid var(--line);
  border-radius:18px; padding:20px; display:flex; flex-direction:column; gap:16px;
}
.field-label{ font-size:13px; font-weight:700; margin-bottom:9px; display:flex; align-items:center; gap:4px; }
.field-label .req{ color: var(--mint-400); font-size:12px; }

.segment{ display:grid; grid-template-columns: repeat(var(--cols,2), 1fr); background: var(--ink-900); border:1px solid var(--line); border-radius:12px; padding:4px; gap:4px; }
.seg-btn{
  appearance:none; border:none; cursor:pointer; font-family:inherit; font-size:13.5px; font-weight:600;
  color: var(--muted); background:transparent; border-radius:9px; padding:11px 8px;
  display:flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap;
}
.seg-btn.active{ background: linear-gradient(180deg, var(--mint-400), var(--mint-500)); color: var(--ink-900); }
.seg-btn .info{ width:15px;height:15px;border-radius:50%;border:1px solid currentColor;font-size:10px;display:inline-flex;align-items:center;justify-content:center;opacity:.7; }

.row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.icon-input{ position:relative; background: var(--ink-900); border:1px solid var(--line); border-radius:12px; display:flex; align-items:center; height:52px; padding:0 14px; }
.icon-input:focus-within{ border-color: var(--mint-400); }
.icon-input.invalid{ border-color:#ff8a80; }
.icon-input svg{ flex:0 0 auto; opacity:.75; }
.icon-input input, .icon-input select{ flex:1; background:transparent; border:none; outline:none; color:#fff; font-family:inherit; font-size:14px; padding-inline-start:10px; min-width:0; }
.icon-input select option{ background: var(--ink-800); color:#fff; }
.icon-input input::placeholder{ color: rgba(255,255,255,0.4); }
.cc{ font-size:14px; color: var(--muted); padding-inline-end:8px; border-inline-end:1px solid var(--line); margin-inline-end:8px; }
.err-msg{ font-size:11.5px; color:#ff9d90; margin-top:6px; min-height:14px; }

.agree{ display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color: var(--muted); line-height:1.6; }
.agree input{ margin-top:3px; accent-color: var(--mint-500); width:15px; height:15px; }
.agree a{ color: var(--mint-400); }

.submit-btn{
  appearance:none; border:none; cursor:pointer; font-family:inherit; font-size:16px; font-weight:800;
  color: var(--ink-900); background: linear-gradient(180deg, var(--mint-400), var(--mint-500));
  border-radius:12px; padding:15px;
}
.submit-btn:hover{ filter:brightness(1.06); }

.success{ display:flex; align-items:center; gap:12px; background: rgba(43,227,168,0.1); border:1px solid rgba(43,227,168,0.4); border-radius:14px; padding:16px 18px; font-size:14px; font-weight:600; color: var(--mint-100); }
.error-box{ display:flex; align-items:center; gap:12px; background: rgba(255,138,128,0.1); border:1px solid rgba(255,138,128,0.4); border-radius:14px; padding:16px 18px; font-size:13.5px; font-weight:600; color: #ff9d90; }

/* login page */
.login-wrap{ max-width:380px; margin: 60px auto; }
.login-card{ background: linear-gradient(135deg, var(--ink-800) 0%, var(--ink-900) 62%); border:1px solid var(--line); border-radius:20px; padding:32px 28px; box-shadow: 0 30px 80px -30px rgba(0,0,0,0.7); }
.login-card h1{ font-size:22px; margin-bottom:22px; }
.login-card form{ background:transparent; border:none; padding:0; gap:14px; }
.plain-input{ background: var(--ink-900); border:1px solid var(--line); border-radius:12px; height:50px; padding:0 14px; color:#fff; font-family:inherit; font-size:14px; }
.plain-input:focus{ outline:none; border-color: var(--mint-400); }

/* dashboard */
.dash-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:10px; }
.dash-head h2{ font-size:20px; font-weight:800; }
.dash-count{ font-size:13px; color:var(--muted); background:rgba(255,255,255,0.05); border:1px solid var(--line); padding:8px 14px; border-radius:10px; }
.dash-empty{ text-align:center; padding:60px 20px; color: var(--muted); background: rgba(255,255,255,0.03); border:1px dashed var(--line); border-radius:18px; font-size:14px; }
.dash-list{ display:flex; flex-direction:column; gap:12px; }
.req-card{ background: rgba(255,255,255,0.03); border:1px solid var(--line); border-radius:16px; padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.req-main{ display:flex; flex-direction:column; gap:6px; min-width:200px; }
.req-dest{ font-size:15.5px; font-weight:800; }
.req-meta{ font-size:12.5px; color:var(--muted); display:flex; gap:10px; flex-wrap:wrap; }
.badge{ font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:999px; background: rgba(43,227,168,0.12); color: var(--mint-400); border:1px solid rgba(43,227,168,0.3); }
.req-right{ display:flex; align-items:center; gap:14px; }
.req-time{ font-size:11.5px; color:var(--muted); text-align:left; }
.req-right form{ background:transparent; border:none; padding:0; margin:0; }
.del-btn{ appearance:none; cursor:pointer; background: rgba(255,138,128,0.1); border:1px solid rgba(255,138,128,0.35); color:#ff9d90; border-radius:9px; padding:8px 12px; font-family:inherit; font-size:12px; font-weight:700; }
.del-btn:hover{ background: rgba(255,138,128,0.2); }
.user-chip{ font-size:12.5px; color:var(--muted); display:flex; align-items:center; gap:10px; }
.user-chip a{ color:#ff9d90; text-decoration:none; }

@media (max-width: 860px){
  body{ padding:14px 10px; }
  .card{ grid-template-columns:1fr; min-height:auto; }
  .hero{ height:220px; }
  .seam,.seam2{ display:none; }
  .panel{ padding:24px 20px 26px; }
  h1{ font-size:24px; }
  .row2{ grid-template-columns:1fr; }
}
