:root{
    --bg:#f5f4f2;
    --card:#ffffff;
    --btn:#414141;
    --btn-hover:#2c2c2c;
    --text:#211C17;
    --muted:#8a8a8a;
    --border:#e0dfdc;
    --mic-idle:#414141;
    --mic-active:#c0392b;
    --focus:#211C17;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    min-height:100vh;
    display:flex;
    justify-content:center;
    background:var(--bg);
    font-family:'Inter',sans-serif;
    color:var(--text);
    padding:32px 16px 60px;
  }
  .page{
    width:100%;
    max-width:460px;
  }
  header{
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:28px;
  }
  .logo-circle{
    width:112px;
    height:112px;
    border-radius:50%;
    box-shadow:0 6px 20px rgba(0,0,0,0.12);
    margin-bottom:12px;
  }
  h1{
    font-size:18px;
    font-weight:600;
    margin:0;
  }
  .field{
    margin-bottom:18px;
  }
  label{
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
    color:var(--text);
  }
  .input-row{
    display:flex;
    align-items:center;
    gap:8px;
  }
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea{
    flex:1;
    width:100%;
    border:1px solid var(--border);
    border-radius:10px;
    padding:13px 14px;
    font-family:'Inter',sans-serif;
    font-size:15px;
    color:var(--text);
    background:#fff;
  }
  input[type="text"]:focus,
  input[type="tel"]:focus,
  input[type="email"]:focus,
  textarea:focus{
    outline:none;
    border-color:var(--focus);
  }
  textarea{
    min-height:90px;
    resize:vertical;
  }
  .mic-btn{
    flex-shrink:0;
    width:44px;
    height:44px;
    border-radius:50%;
    border:none;
    background:var(--mic-idle);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background 0.2s ease;
  }
  .mic-btn.recording{
    background:var(--mic-active);
  }
  .mic-btn svg{
    width:18px;
    height:18px;
  }
  .hint{
    font-size:12px;
    color:var(--muted);
    margin-top:4px;
  }
  /* Photo capture */
  .photo-add{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    border:1px dashed var(--border);
    border-radius:10px;
    padding:16px;
    background:#fff;
    color:var(--text);
    font-size:14px;
    font-weight:500;
    cursor:pointer;
  }
  .photo-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
    margin-top:10px;
  }
  .photo-thumb{
    position:relative;
    aspect-ratio:1/1;
    border-radius:8px;
    overflow:hidden;
    background:#eee;
  }
  .photo-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .photo-thumb button{
    position:absolute;
    top:4px;
    right:4px;
    width:22px;
    height:22px;
    border-radius:50%;
    border:none;
    background:rgba(0,0,0,0.6);
    color:#fff;
    font-size:13px;
    line-height:1;
    cursor:pointer;
  }
  /* Submit */
  .submit-btn{
    width:100%;
    margin-top:8px;
    background:var(--btn);
    color:#fff;
    border:none;
    border-radius:12px;
    padding:16px;
    font-family:'Inter',sans-serif;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:background 0.2s ease;
  }
  .submit-btn:hover{
    background:var(--btn-hover);
  }
  footer{
    margin-top:32px;
    text-align:center;
    font-size:11px;
    color:var(--muted);
  }