*{box-sizing:border-box;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#071a2c;color:#f5f7fb}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(90deg,#073763,#092a4a);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.app-header h1{font-size:22px;font-weight:600}.app-header span{font-size:18px;opacity:.8}.app-main{flex:1;padding:16px}.card{background:#0e243a;border-radius:10px;padding:16px;margin-bottom:14px;border:1px solid rgba(255,255,255,.04)}.card h2,.card h3{margin-bottom:10px}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn{border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:16px}.btn-primary{background:#2f80ed;color:#fff}.btn-danger{background:#d32f2f;color:#fff}.btn-outline{background:transparent;color:#f5f7fb;border:1px solid rgba(255,255,255,.3)}.btn-small{padding:4px 8px;font-size:16px}.input{width:100%;border-radius:6px;padding:8px 10px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:#f5f7fb;margin-bottom:8px;font-size:16px}.label{font-size:16px;margin-bottom:4px;display:block}.table{width:100%;border-collapse:collapse;margin-top:8px;font-size:16px}.table th,.table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:16px}.badge-green{background:#43a0474d;color:#a5d6a7}.badge-red{background:#ef53504d;color:#ef9a9a}.badge-yellow{background:#ffcc0040;color:#fff59d}.badge-blue{background:#2980b966;color:#bbdefb}.text-muted{font-size:16px;opacity:.75}.flex{display:flex;gap:10px}.flex-between{display:flex;justify-content:space-between;align-items:center}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.login-container{max-width:360px;margin:40px auto}.login-title{text-align:center;margin-bottom:18px;font-size:22px}textarea.input{min-height:70px;resize:vertical}.publico-layout{display:grid;grid-template-columns:2fr 1.2fr;gap:16px}@media (max-width: 900px){.publico-layout{grid-template-columns:1fr}}
