*{box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;color:#1a1a1a;max-width:960px;margin:0 auto;padding:0 20px 60px;line-height:1.5}a{color:#1565c0}h1{font-size:22px;margin:0 0 4px}h2{font-size:15px;margin:26px 0 10px;padding-bottom:4px;border-bottom:2px solid #ddd}.sub{color:#666;font-size:12px;margin:0 0 16px}.appbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;margin-bottom:8px;border-bottom:1px solid #e2e2e2}.appbar .brand{font-size:16px;font-weight:700}.appbar nav{display:flex;align-items:center;gap:16px}.appbar nav a{font-size:13px;text-decoration:none}.appbar-user{font-size:12px;color:#666}.appbar-logout{margin:0}.btn-link{background:none;border:none;padding:0;font:inherit;font-size:13px;color:#1565c0;cursor:pointer}.login{max-width:360px;margin:60px auto 0}.login .actions{margin-top:18px}.login .btn-primary{width:100%;text-align:center}.row{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}.field{flex:1 1 220px;min-width:200px;margin-bottom:12px}label{display:block;font-size:12px;font-weight:700;margin-bottom:4px}input[type=text],input[type=url],input[type=date],select,textarea{width:100%;padding:7px 9px;border:1px solid #aaa;border-radius:4px;font:inherit;font-size:13px}select{background:#fff;height:34px}textarea{resize:vertical;min-height:64px}table{width:100%;border-collapse:collapse;margin-top:6px}th,td{border:1px solid #bbb;padding:6px 8px;text-align:left;font-size:13px}th{background:#f3f3f3;font-size:12px}td input[type=text]{border:none;padding:4px}.checks label{display:inline-block;font-weight:400;margin-right:18px}.checks input{margin-right:5px}.validation td{text-align:center}.validation td:first-child{text-align:left}.sig{margin-top:14px;font-size:12px;color:#444;text-align:right}.sig-line{display:inline-block;border-bottom:1px solid #888;width:240px;margin-left:8px}.actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}button,.btn{padding:8px 16px;font-size:13px;border:1px solid #888;border-radius:4px;background:#fafafa;cursor:pointer;text-decoration:none;color:#1a1a1a;display:inline-block}.btn-primary{background:#1565c0;border-color:#1565c0;color:#fff}.btn-danger{background:#fff;border-color:#c62828;color:#c62828}.list-table td,.list-table th{font-size:13px}.list-table tr:hover td{background:#fafafa}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid #ccc;background:#f3f3f3;text-transform:capitalize}.badge.submitted{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.badge.draft{background:#fff8e1;border-color:#ffb300;color:#ef6c00}.badge.approve{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.badge.reject{background:#ffebee;border-color:#ef5350;color:#c62828}.badge.yes{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.badge.no{background:#ffebee;border-color:#ef5350;color:#c62828}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px}.home-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid #ccc;border-radius:6px;text-decoration:none;color:#1a1a1a;background:#fafafa}.home-card:hover{border-color:#1565c0;background:#f0f6fd}.home-card-title{font-size:16px;font-weight:700;color:#1565c0}.home-card-desc{font-size:13px;color:#555}.filters{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;padding:14px;margin:16px 0;border:1px solid #e2e2e2;border-radius:6px;background:#fafafa}.filters .field{flex:1 1 150px;min-width:140px;margin-bottom:0}.filter-actions{display:flex;gap:8px}.vitals-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 8px}.vital-card{border:1px solid #ccc;border-radius:6px;padding:12px;background:#fafafa}.vital-card .metric-name{font-size:12px;font-weight:700;color:#555}.vital-card .metric-value{font-size:22px;font-weight:700;margin:4px 0 6px}.vital-card .metric-meta{font-size:11px;color:#888;margin-top:6px}.rating{display:inline-block;font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid #ccc;background:#f3f3f3;text-transform:capitalize}.rating.good{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.rating.needs-improvement{background:#fff8e1;border-color:#ffb300;color:#ef6c00}.rating.poor{background:#ffebee;border-color:#ef5350;color:#c62828}.rating.unknown{background:#eee;border-color:#bbb;color:#666}.badge.install,.badge.live{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.badge.uninstall{background:#ffebee;border-color:#ef5350;color:#c62828}.badge.test{background:#fff8e1;border-color:#ffb300;color:#ef6c00}.badge.activity{background:#e3f2fd;border-color:#42a5f5;color:#1565c0}.badge.error{background:#ffebee;border-color:#ef5350;color:#c62828}.badge.api{background:#f3e5f5;border-color:#ab47bc;color:#6a1b9a}.badge.system{background:#eceff1;border-color:#90a4ae;color:#37474f}.activity-summary{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px}.activity-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;min-width:100px}.activity-count{font-size:24px;font-weight:600;margin-top:6px}.activity-table .event-name{font-size:12px;word-break:break-all}.metadata-preview{margin:0;font-size:11px;line-height:1.4;max-width:320px;max-height:120px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f5f5f5;padding:6px 8px;border-radius:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-start;justify-content:center;padding-top:70px;z-index:50}.modal{background:#fff;border-radius:8px;padding:20px 22px;width:480px;max-width:92vw;box-shadow:0 12px 40px #0000004d}.modal h2{margin-top:0;border:none;padding:0}.modal .recipients{font-size:12px;color:#555;background:#f5f5f5;border-radius:4px;padding:8px 10px;max-height:96px;overflow:auto;margin-bottom:14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.note{font-size:12px;color:#2e7d32;background:#e8f5e9;border-radius:4px;padding:8px 10px;margin-top:10px}.error{color:#c62828;font-size:13px;margin:10px 0}.muted{color:#888}.readonly-value{font-size:13px;min-height:18px;white-space:pre-wrap}.empty{padding:40px;text-align:center;color:#888}@media print{.appbar,.actions,nav{display:none!important}body{max-width:none;margin:0}a{color:#1a1a1a;text-decoration:none}}
