html,body{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,"San Francisco","Segoe UI",sans-serif}nav.app-nav{display:flex;align-items:center;gap:4px;padding:0 20px;background:#1a1a1a;height:56px;position:sticky;top:0;z-index:200;box-shadow:0 1px 0 rgba(0,0,0,.3)}nav.app-nav .app-nav-brand{font-size:14px;font-weight:700;color:#fff;text-decoration:none;margin-right:20px;letter-spacing:-0.01em}nav.app-nav a{color:hsla(0,0%,100%,.7);text-decoration:none;font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px;transition:background .15s,color .15s}nav.app-nav a:hover{background:hsla(0,0%,100%,.1);color:#fff}nav.app-nav a.active{background:hsla(0,0%,100%,.15);color:#fff}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:13px;font-weight:500;text-decoration:none;border:1px solid #c9cccf;background:#fff;color:#202223;white-space:nowrap;cursor:pointer;transition:background .1s,border-color .1s}.btn:hover{background:#f6f6f7;color:#202223}.btn.btn-primary{background:#008060;border-color:#006e52;color:#fff}.btn.btn-primary:hover{background:#006e52}.btn.btn-danger{background:#d82c0d;border-color:#c4281c;color:#fff}.btn.btn-danger:hover{background:#c4281c}.btn.btn-plain{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);color:#2c6ecb;padding:4px 6px}.btn.btn-plain:hover{background:#f2f7fe}.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.store-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(480px, 1fr));gap:16px}.store-card{border:1px solid #e1e3e5;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05)}.store-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#f6f6f7;border-bottom:1px solid #e1e3e5}.store-card-header h3{margin:0;font-size:14px;font-weight:600;color:#202223}.job-row{display:grid;grid-template-columns:1fr max-content max-content;gap:16px;align-items:center;padding:10px 20px;border-bottom:1px solid #f1f2f3}.job-row:last-child{border-bottom:none}.job-row:hover{background:#fafafa}.job-row .job-name a{font-size:13px;color:#202223;text-decoration:none;font-weight:500}.job-row .job-name a:hover{color:#2c6ecb;text-decoration:underline}.job-row .job-time{font-size:12px;color:#6d7175;white-space:nowrap}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table thead tr{border-bottom:1px solid #e1e3e5}.data-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:#6d7175;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.data-table td{padding:12px 16px;color:#202223;border-bottom:1px solid #f1f2f3;vertical-align:middle}.data-table td a{color:#2c6ecb;text-decoration:none}.data-table td a:hover{text-decoration:underline}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#fafafa}.data-table.status-rows tbody tr.status-error td:first-child{box-shadow:inset 3px 0 0 #d82c0d}.data-table.status-rows tbody tr.status-success td:first-child{box-shadow:inset 3px 0 0 #008060}.data-table.status-rows tbody tr.status-running td:first-child{box-shadow:inset 3px 0 0 #2c6ecb}.data-table.status-rows tbody tr.status-pending td:first-child{box-shadow:inset 3px 0 0 #ffc453}.typeahead-results{position:absolute;z-index:100;background:#fff;border:1px solid #c9cccf;border-radius:8px;list-style:none;padding:4px 0;margin:4px 0 0;min-width:320px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.typeahead-results li{padding:8px 14px;font-size:13px;cursor:pointer;color:#202223}.typeahead-results li:hover{background:#f2f7fe}
