  :root{
    --ink:#1B1030;
    --paper:#FFF4E1;
    --violet:#241640;
    --accent:#FFC93C;
    --coral:#FF5A36;
    --font-display:'Vazirmatn', ui-sans-serif, system-ui, sans-serif;
    --font-mono:'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
  }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --paper:#FFF4E1; } }
  :root[data-theme="dark"]{ --paper:#FFF4E1; }

  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:var(--font-display);
    background:var(--violet);
    color:var(--paper);
    min-height:100vh;
    min-height:100dvh;
    display:flex; align-items:center; justify-content:center;
    padding:2rem 1.2rem;
  }
  a{ color:inherit; }
  .card{
    width:100%; max-width:420px;
    background:rgba(255,244,225,.05);
    border:1px solid rgba(255,244,225,.15);
    border-radius:14px;
    padding:clamp(1.6rem,5vw,2.4rem);
  }
  .back{
    display:inline-block; margin-bottom:1.6rem;
    font-family:var(--font-mono); font-size:.8rem; opacity:.6; text-decoration:none;
  }
  .back:hover{ opacity:1; }
  h1{
    font-size:clamp(1.8rem,6vw,2.4rem); font-weight:900; margin:0 0 .3em; line-height:1.05;
  }
  .sub{ opacity:.65; font-size:.9rem; margin:0 0 1.8rem; line-height:1.6; }

  label{ display:block; font-family:var(--font-mono); font-size:.78rem; opacity:.7; margin:0 0 .4em; }
  input[type="text"], input[type="password"], textarea{
    width:100%; font-family:var(--font-display); font-size:1rem; color:var(--ink);
    background:var(--paper); border:none; border-radius:8px;
    padding:.75em .9em; margin-bottom:1.1em;
  }
  textarea{ resize:vertical; min-height:3.6em; font-size:.92rem; }
  input:focus, textarea:focus{ outline:2px solid var(--accent); }

  button{
    font-family:var(--font-mono); font-size:.85rem; font-weight:600;
    border:none; border-radius:999px; cursor:pointer; padding:.75em 1.4em;
  }
  .btn-primary{ background:var(--accent); color:var(--ink); width:100%; }
  .btn-primary:hover{ filter:brightness(1.05); }
  .error{ color:var(--coral); font-size:.85rem; margin:-.4em 0 1em; min-height:1.2em; }
  .hint{ opacity:.4; font-size:.72rem; margin-top:1.4rem; line-height:1.6; }

  #adminPanel{ display:none; }
  .project-edit{
    border:1px solid rgba(255,244,225,.15); border-radius:10px;
    padding:1rem; margin-bottom:1rem; position:relative;
  }
  .project-edit .remove{
    background:none; color:var(--coral); opacity:.6; font-size:.75rem; padding:.2em .5em;
  }
  .project-edit .remove:hover{ opacity:1; }
  .add-row{
    display:block; width:100%; background:none; color:inherit;
    border:1px dashed rgba(255,244,225,.35); border-radius:10px;
    padding:.8em; opacity:.7; margin-bottom:1.4rem;
  }
  .add-row:hover{ opacity:1; }
  .actions{ display:flex; gap:.8em; align-items:center; }
  .actions .btn-primary{ width:auto; flex:1; }
  .btn-ghost{ background:none; color:inherit; opacity:.6; border:1px solid rgba(255,244,225,.25); }
  .btn-ghost:hover{ opacity:1; }
  .status{ font-size:.8rem; opacity:0; transition:opacity .2s ease; margin-top:.8rem; color:var(--accent); }
  .status.show{ opacity:1; }