:root{color:#e8eef8;font-synthesis:none;text-rendering:optimizelegibility;--bg:#091321;--surface:#111f32;--surface-2:#172940;--surface-3:#1d3450;--border:#263c56;--text:#e8eef8;--muted:#91a4bb;--blue:#3296e5;--blue-light:#75c2ff;--green:#35bd86;--red:#ed737d;background:#091321;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, #142943 0%, transparent 45%), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:all .2s}button:disabled{opacity:.6;cursor:not-allowed}.app-container{width:100%;max-width:1700px;min-height:100vh;margin:0 auto;padding:0 34px 30px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:86px;margin-bottom:30px;display:flex}.header-brand,.header-user{align-items:center;gap:13px;display:flex}.header-logo,.login-logo-icon{color:#fff;background:linear-gradient(145deg,#329be9,#15558e);border-radius:13px;place-items:center;width:48px;height:48px;font-size:18px;font-weight:900;display:grid;box-shadow:0 6px 20px #0004}.header-brand h1{letter-spacing:1px;margin:0;font-size:21px;font-weight:850}.header-brand p{color:var(--muted);margin:4px 0 0;font-size:11px}.header-user{gap:18px}.user-information{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.user-information strong{font-size:13px}.user-information span{color:var(--blue-light);font-size:11px}.logout-button{border:1px solid var(--border);background:var(--surface-2);color:#d9e4f2;border-radius:8px;padding:10px 17px;font-size:11px;font-weight:800}.logout-button:hover{border-color:var(--red);color:#ff9299}.welcome-section{justify-content:space-between;align-items:center;gap:20px;margin:30px 0 25px;display:flex}.section-eyebrow{color:var(--blue-light);letter-spacing:1.5px;font-size:10px;font-weight:850}.welcome-section h2,.occurrences-heading h2{color:#fff;letter-spacing:-.5px;margin:8px 0 5px;font-size:25px;font-weight:750}.welcome-section p,.occurrences-heading p{color:var(--muted);margin:0;font-size:13px}.today-indicator{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:7px;padding:13px 18px;display:flex}.today-indicator span{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:800}.today-indicator strong{color:var(--blue-light);font-size:15px}.message{border:1px solid;border-radius:9px;margin:15px 0;padding:13px 16px;font-size:13px}.message-error{color:#ffb0b5;background:#351f2a;border-color:#85434c}.message-success{color:#9ce5bd;background:#17382d;border-color:#286c51}.dashboard-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);align-items:start;gap:22px;margin-top:25px;display:grid}.form-card,.dashboard-total-card,.dashboard-chart-card,.dashboard-quote-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;box-shadow:0 8px 24px #0002}.form-card{min-width:0;padding:25px}.card-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.card-heading h2{color:#fff;margin:7px 0 5px;font-size:21px}.card-heading p{color:var(--muted);margin:0;font-size:12px}.form-heading-icon{width:43px;height:43px;color:var(--blue-light);background:#1b3c5d;border-radius:12px;flex-shrink:0;place-items:center;font-size:25px;font-weight:600;display:grid}.occurrence-form{flex-direction:column;gap:17px;width:100%;display:flex}.form-field{flex-direction:column;gap:7px;width:100%;min-width:0;display:flex}.form-field label,.login-card label{color:#cbd8e8;font-size:12px;font-weight:650}.form-field input,.form-field textarea,.form-field select,.login-card input{color:#fff;background:#0b192a;border:1px solid #314963;border-radius:8px;outline:none;width:100%;min-height:43px;padding:11px 13px;font-size:13px;transition:border .2s,box-shadow .2s}.form-field textarea{resize:vertical;min-height:105px;line-height:1.5}.form-field input::placeholder,.form-field textarea::placeholder,.login-card input::placeholder{color:#73869e}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3296e526}.form-field select option{background:var(--surface);color:#fff}.form-actions{flex-wrap:wrap;gap:10px;margin-top:5px;display:flex}.primary-button,.secondary-button{letter-spacing:.3px;border:0;border-radius:8px;min-height:43px;padding:12px 19px;font-size:11px;font-weight:850}.primary-button{color:#fff;background:linear-gradient(135deg,#329be9,#1768a9);box-shadow:0 5px 14px #1675b533}.primary-button:hover{background:linear-gradient(135deg,#4aaff7,#247cbd);transform:translateY(-1px)}.secondary-button{border:1px solid var(--border);background:var(--surface-3);color:#d4e0ef}.secondary-button:hover{background:#294665}.dashboard-side{flex-direction:column;gap:15px;min-width:0;display:flex}.dashboard-total-card{background:linear-gradient(130deg,#175487,#123452);min-height:145px;padding:23px;position:relative;overflow:hidden}.dashboard-label{color:#c3e3ff;letter-spacing:1.2px;font-size:10px;font-weight:850}.dashboard-total-card>strong{color:#fff;margin-top:15px;font-size:43px;line-height:1;display:block}.dashboard-total-caption{color:#b5d6f0;margin-top:8px;font-size:11px;display:block}.dashboard-total-icon{color:#ffffff24;font-size:58px;position:absolute;top:25px;right:22px}.dashboard-chart-card{padding:21px}.dashboard-card-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;display:flex}.dashboard-card-heading h3{color:#fff;margin:7px 0 0;font-size:15px}.chart-icon{color:var(--blue-light);font-size:24px}.city-chart{flex-direction:column;gap:18px;display:flex}.city-chart-row{flex-direction:column;gap:8px;display:flex}.city-chart-info{color:#c6d4e4;justify-content:space-between;font-size:11px;display:flex}.city-chart-info strong{color:var(--blue-light);font-size:13px}.city-chart-track{background:#273c54;border-radius:20px;height:8px;overflow:hidden}.city-chart-fill{background:linear-gradient(90deg,#2588d1,#73c6ff);border-radius:20px;height:100%;transition:width .3s}.chart-caption{color:#8195ad;margin:19px 0 0;font-size:10px}.dashboard-quote-card{background:#172b41;padding:18px 21px}.quote-mark{color:var(--blue-light);font-family:Georgia,serif;font-size:42px;line-height:.8}.dashboard-quote-card p{color:#e2ebf6;margin:9px 0 15px;font-size:12px;font-weight:600;line-height:1.7}.quote-caption{color:#83a9c9;letter-spacing:.6px;font-size:9px;font-weight:800}.occurrences-section{margin-top:42px}.occurrences-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.total-counter{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-width:83px;padding:10px 15px;display:flex}.total-counter strong{color:var(--blue-light);font-size:22px}.total-counter span{color:var(--muted);font-size:9px;font-weight:800}.occurrences-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:17px;display:grid}.occurrence-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;min-width:0;transition:border .2s,transform .2s,box-shadow .2s;display:flex;overflow:hidden}.occurrence-card:hover{border-color:#4387b9;transform:translateY(-3px);box-shadow:0 10px 25px #0003}.occurrence-card-top{border-bottom:1px solid var(--border);background:#162941;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;display:flex}.occurrence-number{color:var(--blue-light);font-size:15px;font-weight:850}.city-tag{color:#b8e0ff;text-overflow:ellipsis;white-space:nowrap;background:#234565;border-radius:5px;max-width:60%;padding:5px 8px;font-size:9px;font-weight:850;overflow:hidden}.occurrence-content{flex-direction:column;flex:1;gap:17px;padding:16px 14px;display:flex}.occurrence-detail{min-width:0}.detail-label{color:#8197b0;letter-spacing:1px;font-size:9px;font-weight:850}.occurrence-location,.occurrence-description{color:#e0e9f4;overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.55}.occurrence-meta{border-top:1px solid var(--border);color:var(--muted);flex-direction:column;gap:7px;padding:12px 14px;font-size:10px;display:flex}.occurrence-meta strong{color:#d6e3f1}.occurrence-actions{border-top:1px solid var(--border);align-items:center;gap:7px;padding:11px 12px;display:flex}.copy-button,.edit-button,.occurrence-actions .delete-button{border:0;border-radius:7px;min-height:34px;font-size:10px;font-weight:850}.copy-button{color:#a8d9ff;background:#1c4265;flex:1}.copy-button:hover{background:#285d89}.edit-button{color:#d0deed;background:#293e57;width:37px;font-size:16px}.edit-button:hover{background:#3b5775}.occurrence-actions .delete-button{color:#faa;background:#492c38;width:37px;font-size:20px}.occurrence-actions .delete-button:hover{background:#693a49}.empty-state{background:var(--surface);text-align:center;border:1px dashed #354b64;border-radius:13px;padding:45px 20px}.empty-icon{font-size:35px}.empty-state h3{color:#fff;margin:13px 0 7px;font-size:17px}.empty-state p{color:var(--muted);margin:0;font-size:12px}.app-footer{border-top:1px solid var(--border);color:#71869e;text-align:center;margin-top:45px;padding:20px 0;font-size:10px}.login-container{background:radial-gradient(at 50% 15%,#1b4770,#0000 55%),#091321;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#111f32;border:1px solid #304761;border-radius:17px;flex-direction:column;width:100%;max-width:390px;padding:38px;display:flex;box-shadow:0 25px 70px #0006}.login-logo{justify-content:center;margin-bottom:15px;display:flex}.login-logo-icon{width:58px;height:58px;font-size:21px}.login-card h1{color:#fff;text-align:center;letter-spacing:2px;margin:0;font-size:27px}.login-subtitle{color:var(--muted);text-align:center;margin:7px 0 20px;font-size:12px}.login-divider{background:var(--border);height:1px;margin-bottom:23px}.login-card label{margin-bottom:7px}.login-card input{margin-bottom:17px}.login-button{color:#fff;letter-spacing:.7px;background:linear-gradient(135deg,#329be9,#1768a9);border:0;border-radius:8px;min-height:46px;margin-top:5px;font-size:11px;font-weight:900}.login-button:hover{background:linear-gradient(135deg,#4aaff7,#247cbd)}.login-footer{color:#71869e;text-align:center;margin:20px 0 0;font-size:10px}.vhps-extra-section{border:1px solid var(--border);background:var(--surface);border-radius:16px;margin:28px 0;padding:26px;box-shadow:0 8px 24px #0003}.vhps-extra-heading,.vhps-users-heading,.vhps-report-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.vhps-extra-heading h2{color:#fff;margin:5px 0}.vhps-extra-heading p{color:var(--muted);margin:0}.vhps-extra-icon{color:var(--blue-light);font-size:28px}.vhps-report-filters,.vhps-user-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.vhps-user-form .primary-button{align-self:end;min-height:46px}.vhps-report-footer{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.vhps-report-footer>span{color:var(--muted)}.vhps-report-footer>span strong{color:var(--blue-light);font-size:20px}.vhps-report-note{color:var(--muted);margin:12px 0 0;font-size:12px}.vhps-users-heading{margin:26px 0 14px}.vhps-users-heading h3{color:#fff;margin:0}.vhps-users-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vhps-user-card{border:1px solid var(--border);background:#15263b;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.vhps-user-details{flex-direction:column;gap:4px;min-width:0;display:flex}.vhps-user-details strong{color:#fff}.vhps-user-details span{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.vhps-user-controls{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.vhps-user-status{letter-spacing:.04em;font-size:11px;font-weight:700}.vhps-user-status.is-active{color:#55d69b}.vhps-user-status.is-blocked{color:#ff9299}.vhps-block-button,.vhps-unblock-button{cursor:pointer;border:0;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:700}.vhps-block-button{color:#faa;background:#492c38}.vhps-unblock-button{color:#9ce5bd;background:#17382d}@media (width<=1250px){.app-container{padding-left:24px;padding-right:24px}.occurrences-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=950px){.dashboard-layout{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-chart-card,.dashboard-quote-card{grid-column:span 2}.occurrences-grid,.vhps-report-filters,.vhps-user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vhps-users-grid{grid-template-columns:1fr}}@media (width<=600px){.app-container{padding:0 14px 20px}.app-header{min-height:75px;margin-bottom:23px}.header-logo{width:41px;height:41px}.header-brand h1{font-size:18px}.header-brand p{font-size:9px}.header-user{gap:9px}.user-information strong{text-overflow:ellipsis;max-width:105px;font-size:10px;overflow:hidden}.user-information span{font-size:9px}.logout-button{padding:9px 11px;font-size:9px}.welcome-section{flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}.welcome-section h2,.occurrences-heading h2{font-size:21px}.today-indicator{width:100%}.form-card{padding:18px}.card-heading h2{font-size:19px}.dashboard-side{flex-direction:column;display:flex}.dashboard-total-card{min-height:125px}.occurrences-section{margin-top:30px}.occurrences-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.occurrence-card-top{flex-direction:column;align-items:flex-start;padding:11px 10px}.city-tag{max-width:100%}.occurrence-content{gap:12px;padding:12px 10px}.occurrence-meta{padding:10px;font-size:9px}.occurrence-actions{flex-wrap:wrap;padding:9px}.copy-button{min-width:100%}.edit-button,.occurrence-actions .delete-button{flex:1}.occurrences-heading{align-items:flex-start}.total-counter{min-width:65px;padding:8px}.form-actions{flex-direction:column}.form-actions button{width:100%}.login-card{padding:28px 22px}.vhps-extra-section{padding:18px}.vhps-report-filters,.vhps-user-form{grid-template-columns:1fr}.vhps-report-footer,.vhps-user-card{flex-direction:column;align-items:stretch}.vhps-user-controls{align-items:flex-start}.vhps-report-footer .primary-button{width:100%}}@media (width<=350px){.occurrences-grid{grid-template-columns:1fr}}
