    :root{
      --bg:#0b0f14;
      --card:#111821;
      --card2:#151e28;
      --orange:#f59a23;
      --orange2:#ffad42;
      --text:#f7f8fa;
      --muted:#aab4c0;
      --line:rgba(255,255,255,.11);
      --green:#44d17d;
      --yellow:#f6c453;
      --red:#ff7171;
      --shadow:0 28px 80px rgba(0,0,0,.32);
    }
    *{box-sizing:border-box}
    html{background:var(--bg)}
    body{
      margin:0;
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:
        radial-gradient(circle at 10% 0%, rgba(245,154,35,.13), transparent 28%),
        var(--bg);
      color:var(--text);
    }
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    .app{min-height:100dvh;display:flex;flex-direction:column}
    header{
      width:min(760px,calc(100% - 32px));
      margin:0 auto;
      padding:26px 0 8px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
    }
    .brand{display:flex;align-items:center;gap:12px;min-width:0}
    .brand img{height:52px;width:auto;object-fit:contain}
    .brand-fallback{font-weight:800;letter-spacing:.08em;font-size:14px}
    .secure{font-size:12px;color:var(--muted);white-space:nowrap}
    main{
      width:min(760px,calc(100% - 32px));
      margin:auto;
      padding:18px 0 42px;
    }
    .progress-wrap{margin-bottom:18px}
    .progress-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--muted);font-size:12px}
    .progress{height:5px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
    .progress > div{height:100%;background:linear-gradient(90deg,var(--orange),var(--orange2));width:12%;transition:width .35s ease}
    .card{
      background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),var(--card);
      border:1px solid var(--line);
      border-radius:24px;
      padding:clamp(24px,5vw,42px);
      box-shadow:var(--shadow);
      animation:enter .24s ease;
    }
    @keyframes enter{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
    .eyebrow{color:var(--orange2);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
    h1,h2{margin:0;letter-spacing:-.035em}
    h1{font-size:clamp(32px,7vw,52px);line-height:1.02}
    h2{font-size:clamp(27px,5vw,38px);line-height:1.08}
    .lead{font-size:16px;line-height:1.65;color:var(--muted);margin:16px 0 0}
    .hello{font-size:15px;color:var(--muted);margin-bottom:8px}
    .field{margin-top:26px}
    label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}
    input,select,textarea{
      width:100%;
      background:#0d131b;
      border:1px solid rgba(255,255,255,.13);
      color:var(--text);
      border-radius:14px;
      padding:15px 16px;
      outline:none;
      transition:border-color .18s,box-shadow .18s;
    }
    input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(245,154,35,.11)}
    textarea{min-height:148px;resize:vertical;line-height:1.5}
    .hint{color:var(--muted);font-size:12px;line-height:1.55;margin-top:8px}
    .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .actions{display:flex;gap:12px;align-items:center;margin-top:30px}
    .btn{
      border:0;border-radius:14px;padding:14px 19px;font-weight:800;min-height:50px;
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
    }
    .btn-primary{background:var(--orange);color:#111;flex:1}
    .btn-primary:hover{background:var(--orange2)}
    .btn-secondary{background:rgba(255,255,255,.07);color:var(--text);border:1px solid var(--line)}
    .btn-ghost{background:none;color:var(--muted);padding-left:4px;padding-right:4px}
    .choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:25px}
    .choice{
      text-align:left;background:#0e151d;border:1px solid var(--line);color:var(--text);
      border-radius:16px;padding:18px;min-height:72px;font-weight:750;
    }
    .choice:hover,.choice.selected{border-color:var(--orange);background:rgba(245,154,35,.08)}
    .upload{
      margin-top:14px;border:1px dashed rgba(255,255,255,.21);border-radius:16px;padding:18px;
      background:rgba(255,255,255,.025);
    }
    .upload input{padding:0;background:none;border:0;box-shadow:none}
    .previews{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
    .preview{position:relative;width:72px;height:72px;border-radius:11px;overflow:hidden;border:1px solid var(--line);background:#0b1016}
    .preview img,.preview video{width:100%;height:100%;object-fit:cover}
    .file-chip{position:relative;font-size:11px;color:var(--muted);padding:10px 34px 10px 10px;background:#0b1016;border-radius:10px;border:1px solid var(--line)}
    .preview-remove{position:absolute;right:4px;top:4px;width:23px;height:23px;border-radius:50%;border:0;background:rgba(0,0,0,.72);color:#fff;display:grid;place-items:center;font-size:14px;line-height:1;padding:0}
    .file-chip .preview-remove{right:5px;top:50%;transform:translateY(-50%)}
    .notice{margin-top:18px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:15px;padding:15px 16px;font-size:13px;line-height:1.55;color:#dce2e8}
    .notice strong{display:block;margin-bottom:5px;color:var(--text)}
    .notice-warning{border-color:rgba(246,196,83,.42);background:rgba(246,196,83,.07)}
    .notice ul{margin:8px 0 0;padding-left:18px}
    .schedule-box{margin-top:25px;padding:18px;border-radius:17px;border:1px solid rgba(245,154,35,.25);background:rgba(245,154,35,.045)}
    .schedule-box .field{margin-top:16px}

    .slot-day{margin-top:18px}
    .slot-date{font-size:13px;font-weight:850;color:#eef2f6;margin-bottom:10px;text-transform:capitalize}
    .slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
    .slot{
      border:1px solid var(--line);background:#0d141c;color:var(--text);border-radius:12px;
      min-height:44px;padding:10px 8px;font-size:13px;font-weight:800;
    }
    .slot:hover,.slot.selected{border-color:var(--orange);background:rgba(245,154,35,.11);color:#fff}
    .scheduler-confirmed{margin-top:22px;border:1px solid rgba(68,209,125,.35);background:rgba(68,209,125,.07);border-radius:18px;padding:20px}
    .scheduler-confirmed strong{display:block;font-size:18px;margin-bottom:7px}
    .whatsapp-btn{background:#1fba63;color:#07120b;flex:1}
    .whatsapp-btn:hover{filter:brightness(1.05)}
    @media(max-width:560px){.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

    .analysis-box{margin-top:24px;border-radius:18px;padding:20px;border:1px solid var(--line);background:var(--card2)}
    .analysis-head{display:flex;align-items:flex-start;gap:12px}
    .status-dot{width:12px;height:12px;border-radius:50%;margin-top:5px;flex:0 0 auto;background:var(--yellow)}
    .status-dot.green{background:var(--green)} .status-dot.red{background:var(--red)} .status-dot.yellow{background:var(--yellow)}
    .analysis-title{font-weight:850;font-size:18px;margin:0}
    .analysis-copy{color:#d4dae0;line-height:1.6;font-size:14px;margin:8px 0 0}
    .analysis-section{border-top:1px solid var(--line);margin-top:17px;padding-top:16px}
    .analysis-section strong{display:block;margin-bottom:7px;font-size:13px}
    .analysis-section ul{padding-left:18px;margin:8px 0 0;color:#d4dae0;font-size:14px;line-height:1.6}
    .disclaimer{margin-top:16px;font-size:11px;line-height:1.5;color:var(--muted)}
    .thinking{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px;margin-top:20px}
    .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.16);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}
    @keyframes spin{to{transform:rotate(360deg)}}
    .incident-list{display:grid;gap:12px;margin-top:22px}
    .incident-item{background:#0d141c;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;gap:14px;align-items:flex-start}
    .incident-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(245,154,35,.12);color:var(--orange2);font-weight:900;font-size:13px;flex:0 0 auto}
    .incident-main{min-width:0;flex:1}
    .incident-name{font-weight:800;margin-bottom:5px}
    .incident-desc{color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;margin-top:9px;background:rgba(246,196,83,.1);color:#ffe29a}
    .remove{background:none;border:0;color:#8d99a7;font-size:18px;padding:2px 5px}
    .summary{margin-top:22px;display:grid;gap:10px}
    .summary-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
    .summary-row span:first-child{color:var(--muted)}
    .success-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(68,209,125,.12);color:var(--green);font-size:30px;margin-bottom:20px}
    .error{font-size:12px;color:#ff9c9c;margin-top:8px;display:none}
    .hidden{display:none !important}
    .foot{font-size:11px;color:#75808c;text-align:center;line-height:1.5;margin-top:20px;padding:0 16px}
    .home-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
    .home-action{background:#0d141c;border:1px solid var(--line);border-radius:18px;padding:22px;text-align:left;color:var(--text);min-height:158px;transition:.18s}
    .home-action:hover{border-color:var(--orange);transform:translateY(-1px);background:rgba(245,154,35,.055)}
    .home-icon{font-size:27px;display:block;margin-bottom:18px}
    .home-action strong{display:block;font-size:18px;margin-bottom:7px}
    .home-action span{display:block;color:var(--muted);font-size:13px;line-height:1.5;font-weight:500}
    .top-link{background:none;border:0;color:var(--muted);font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
    .portal-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
    .summary-pill{border:1px solid var(--line);background:#0d141c;border-radius:999px;padding:8px 11px;font-size:12px;color:#dce2e8;font-weight:750}
    .ticket-grid{display:grid;gap:14px;margin-top:24px}
    .ticket-card{background:#0d141c;border:1px solid var(--line);border-radius:18px;padding:19px;text-align:left;color:var(--text);width:100%;transition:.18s}
    .ticket-card:hover{border-color:rgba(245,154,35,.55);background:#101922}
    .ticket-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
    .ticket-folio{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.035em}
    .ticket-title{font-size:17px;font-weight:850;margin-top:5px;line-height:1.3}
    .ticket-property{font-size:12px;color:var(--muted);margin-top:5px}
    .client-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;white-space:nowrap;background:rgba(255,255,255,.06)}
    .client-status .dot{width:8px;height:8px;border-radius:50%;background:var(--yellow)}
    .status-received .dot,.status-solution .dot{background:#65b9ff}
    .status-pending .dot,.status-quote .dot{background:var(--yellow)}
    .status-visit .dot{background:#b78cff}
    .status-repair .dot{background:var(--orange)}
    .status-resolved .dot{background:var(--green)}
    .next-step{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
    .next-step-label{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#7f8a96;font-weight:900;margin-bottom:5px}
    .next-step-copy{font-size:13px;line-height:1.5;color:#dce2e8}
    .action-needed{margin-top:10px;color:var(--orange2);font-size:12px;font-weight:850}
    .timeline{display:grid;gap:0;margin-top:22px}
    .timeline-item{display:grid;grid-template-columns:24px 1fr;gap:12px;position:relative;padding-bottom:20px}
    .timeline-item:not(:last-child):before{content:'';position:absolute;left:5px;top:13px;bottom:0;width:1px;background:var(--line)}
    .timeline-dot{width:11px;height:11px;border-radius:50%;background:#64717e;margin-top:3px;z-index:1}
    .timeline-item.current .timeline-dot{background:var(--orange)}
    .timeline-title{font-size:13px;font-weight:800}
    .timeline-date{font-size:11px;color:#7d8995;margin-top:3px}
    .timeline-copy{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}
    .portal-note{border-left:3px solid var(--orange);padding:10px 13px;background:rgba(245,154,35,.06);border-radius:0 10px 10px 0;margin-top:18px;color:#d9e0e6;font-size:13px;line-height:1.55}
    .code-box{letter-spacing:.25em;text-align:center;font-size:24px;font-weight:850}
    .section-title{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#8995a1;font-weight:900;margin-top:30px;margin-bottom:10px}

    .voice-wrap{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
    .voice-btn{border:1px solid rgba(245,154,35,.42);background:rgba(245,154,35,.08);color:var(--text);border-radius:14px;padding:12px 15px;font-weight:800;display:inline-flex;align-items:center;gap:8px;min-height:46px}
    .voice-btn:hover{background:rgba(245,154,35,.14);border-color:var(--orange)}
    .voice-btn.recording{background:rgba(255,113,113,.12);border-color:rgba(255,113,113,.65);color:#ffd5d5}
    .voice-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);display:inline-block}
    .voice-btn.recording .voice-dot{background:var(--red);animation:pulseVoice 1s ease-in-out infinite}
    @keyframes pulseVoice{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.35)}}
    .voice-status{font-size:12px;color:var(--muted);line-height:1.4;flex:1;min-width:180px}
    .voice-status.live{color:#ffd7a0}
    @media(max-width:620px){
      header{padding-top:18px}.brand img{height:42px}.secure{display:none}
      main{padding-top:10px}.card{border-radius:20px;padding:25px 20px}
      .grid2,.choice-grid,.home-actions{grid-template-columns:1fr}.actions{flex-wrap:wrap}.btn-secondary{flex:1}.btn-ghost{width:100%}
      .ticket-top{display:block}.client-status{margin-top:12px}.home-action{min-height:auto}
    }
