:root { --ink:#173344; --muted:#617583; --blue:#146c94; --blue-dark:#0e5476; --sky:#eaf6fb; --line:#d9e4e9; --bg:#f6f9fa; --green:#147a55; --amber:#a66000; --red:#b63535; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,input,select,textarea { font:inherit; }
.topbar { height:66px; display:flex; align-items:center; justify-content:space-between; padding:0 max(22px,calc((100vw - 1040px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.brand { color:var(--blue); text-decoration:none; font-weight:800; font-size:1.05rem; }
.header-actions { display:flex; align-items:center; gap:6px; }
.language,.nav-link,.filter { cursor:pointer; background:transparent; border:0; color:var(--muted); padding:9px 10px; border-radius:8px; font-size:.86rem; }
.language { border:1px solid var(--line); color:var(--ink); font-weight:700; }
.nav-link.active,.filter.active { background:var(--sky); color:var(--blue-dark); font-weight:750; }
.shell { width:min(100% - 32px,680px); margin:0 auto; padding:48px 0 64px; }
.intro { text-align:center; margin-bottom:24px; }.intro h1 { font-size:clamp(1.75rem,5vw,2.25rem); line-height:1.14; letter-spacing:-.04em; margin:7px 0 9px; }.intro p { margin:0; color:var(--muted); }
.eyebrow { color:var(--blue); font-size:.82rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:0 8px 30px #153b4c0b; }
.login-view { width:min(100%,460px); margin:38px auto 0; }.form-error { color:var(--red); font-size:.86rem; margin:3px 0 0; }
.form-card { display:grid; gap:9px; }.location-pill { width:max-content; margin-bottom:3px; background:var(--sky); color:var(--blue-dark); border-radius:99px; padding:8px 12px; font-size:.9rem; }
label { font-weight:700; font-size:.92rem; margin-top:9px; } input,select,textarea { width:100%; border:1px solid #bccdd5; border-radius:9px; padding:11px 12px; color:var(--ink); background:#fff; } input:focus,select:focus,textarea:focus { outline:3px solid #9dd7ed99; border-color:var(--blue); }.helper { color:var(--muted); font-size:.83rem; margin:0; }.priority-group { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.priority-option { border:1px solid #bccdd5; border-radius:9px; padding:10px 6px; text-align:center; cursor:pointer; font-size:.88rem; }.priority-option input { position:absolute; opacity:0; width:1px; }.priority-option:has(input:checked) { border-color:var(--blue); background:var(--sky); color:var(--blue-dark); font-weight:700; }
.primary { margin-top:12px; border:0; background:var(--blue); color:#fff; border-radius:9px; padding:13px 16px; cursor:pointer; font-weight:800; }.primary:hover { background:var(--blue-dark); }
.dashboard-title { text-align:left; }.technician-select { display:grid; gap:7px; padding:15px 17px; }.technician-select label { margin:0; }.filters { display:flex; gap:7px; overflow:auto; margin:20px 0 14px; }.filter { border:1px solid var(--line); background:#fff; white-space:nowrap; }.ticket-list { display:grid; gap:12px; }.ticket { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; }.ticket-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.ticket h3 { font-size:1.02rem; margin:0 0 5px; }.ticket p { color:var(--muted); margin:0; font-size:.9rem; }.ticket-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; font-size:.8rem; }.tag { padding:5px 8px; border-radius:99px; background:#f0f4f6; color:var(--muted); }.status-new { background:#fff3df; color:var(--amber); }.status-progress { background:#e6f4fb; color:var(--blue-dark); }.status-done { background:#e6f7ef; color:var(--green); }.ticket-actions { display:flex; gap:8px; margin-top:15px; }.secondary { border:1px solid var(--line); background:#fff; color:var(--blue-dark); border-radius:8px; padding:8px 10px; cursor:pointer; font-weight:700; font-size:.84rem; }
.dialog-backdrop { position:fixed; inset:0; display:grid; place-items:center; background:#102b38a8; padding:20px; }.dialog { max-width:390px; text-align:center; background:#fff; border-radius:18px; padding:30px; }.dialog h2 { margin:12px 0 7px; }.dialog p { color:var(--muted); }.success-icon { display:grid; place-items:center; margin:auto; width:54px; height:54px; border-radius:50%; background:#e4f6ed; color:var(--green); font-size:2rem; font-weight:800; }.ticket-id { font-weight:800; color:var(--ink)!important; }
@media (max-width:650px) { .topbar { padding:0 16px; }.nav-link { display:none; }.shell { padding-top:34px; }.card { padding:20px; } }
