:root{--navy:#071b36;--blue:#0b63ce;--cyan:#22b8cf;--bg:#f4f7fb;--text:#142238;--muted:#69778c;--line:#dce4ef;--white:#fff;--danger:#d92d20;--ok:#16845b;--warn:#d97706}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,Segoe UI,Arial,sans-serif}a{color:var(--blue);text-decoration:none}.topbar{height:70px;background:linear-gradient(115deg,var(--navy),#0c3970);color:white;display:flex;align-items:center;padding:0 max(22px,calc((100% - 1320px)/2));gap:16px;box-shadow:0 5px 20px #06172f22}.brand{font-size:19px;font-weight:800;letter-spacing:.2px}.brand small{display:block;font-size:10px;color:#a9c8eb;text-transform:uppercase;letter-spacing:1.5px}.nav{margin-left:auto;display:flex;align-items:center;gap:8px}.nav a{color:#dceafa;padding:9px 12px;border-radius:8px}.nav a:hover{background:#ffffff18}.container{max-width:1320px;margin:0 auto;padding:28px 22px}.hero{background:linear-gradient(125deg,#09264a,#0b63ce);border-radius:20px;color:white;padding:45px;display:grid;grid-template-columns:1.5fr 1fr;gap:25px;box-shadow:0 16px 45px #0b3e782e}.hero h1{font-size:38px;line-height:1.15;margin:0 0 12px}.hero p{color:#cfe2fa;font-size:16px;max-width:620px}.hero-art{display:flex;align-items:center;justify-content:center;font-size:95px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 4px 16px #10264b0a}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.stat{padding:20px}.stat .value{font-size:30px;font-weight:800}.stat .label{color:var(--muted)}h1,h2,h3{margin-top:0}h2{font-size:22px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 18px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 16px;background:var(--blue);color:white;font-weight:700;cursor:pointer}.btn.secondary{background:white;color:var(--text);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.small{padding:6px 10px;font-size:12px}label{font-weight:700;display:block;margin-bottom:6px}.field{margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #cdd7e5;border-radius:9px;padding:11px 12px;background:white;color:var(--text);font:inherit}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #0b63ce1f;border-color:var(--blue)}.help{color:var(--muted);font-size:12px;margin-top:5px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px;border-bottom:1px solid #e8edf4}th{font-size:11px;color:#65758a;text-transform:uppercase;letter-spacing:.6px;background:#f8fafc}td.wrap{white-space:normal;min-width:250px}.badge{display:inline-block;border-radius:99px;padding:4px 9px;background:#e9f1fb;color:#1558a6;font-size:11px;font-weight:800;text-transform:uppercase}.badge.selesai,.badge.ditutup{background:#ddf5e9;color:var(--ok)}.badge.kritis{background:#fee4e2;color:var(--danger)}.badge.dieskalasi{background:#fff1d6;color:var(--warn)}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px;background:#e8f7ef;color:#126b49}.alert.error{background:#feeceb;color:#a3261d}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:16px}.timeline{border-left:2px solid #d7e3f2;margin-left:8px;padding-left:22px}.timeline-item{position:relative;margin-bottom:22px}.timeline-item:before{content:'';position:absolute;left:-29px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--blue);border:3px solid white}.muted{color:var(--muted)}.login{max-width:430px;margin:55px auto}.footer{text-align:center;color:var(--muted);padding:30px}.kicker{color:var(--cyan);font-weight:800;text-transform:uppercase;letter-spacing:1px}.ticket-no{font:800 18px ui-monospace,monospace}.actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:850px){.hero{grid-template-columns:1fr;padding:28px}.hero-art{display:none}.hero h1{font-size:30px}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.filters{grid-template-columns:1fr}.nav .user-label{display:none}.container{padding:18px 12px}.topbar{padding:0 14px}}
