@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%;--radius: .5rem}}@layer base{*{@apply border-border;}body{@apply bg-background text-foreground;}}@keyframes dc-spin{to{transform:rotate(360deg)}}@keyframes dc-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.status-dashboard{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:1600px;margin:2rem auto;padding:1rem 2rem;box-sizing:border-box}@media (max-width: 640px){.status-dashboard{padding:.75rem .875rem;margin:.75rem auto}}.status-dashboard__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.5rem 1.75rem;border-radius:.75rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width: 640px){.status-dashboard__header{padding:1rem}.status-dashboard__title{font-size:1.1rem}}.status-dashboard__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#71717a;margin:0 0 .25rem;font-weight:500}.status-dashboard__title{font-size:1.4rem;font-weight:600;color:#f4f4f5;margin:0 0 .35rem;line-height:1.3}.status-dashboard__timestamp{font-size:.75rem;color:#52525b;letter-spacing:.02em}.status-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;position:relative}.status-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;animation:pulse-ring 2s ease-out infinite}.status-dot--ok{background:#34d399;box-shadow:0 0 8px #34d39999}.status-dot--ok:after{border:1px solid rgba(52,211,153,.4)}.status-dot--degraded{background:#f97316;box-shadow:0 0 8px #f9731699}.status-dot--degraded:after{border:1px solid rgba(249,115,22,.4)}.status-dot--outage{background:#f87171;box-shadow:0 0 8px #f8717199}.status-dot--outage:after{border:1px solid rgba(248,113,113,.4)}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(2.2);opacity:0}}.status-dashboard__badge{padding:.35rem .9rem;border-radius:999px;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.12em}.status-dashboard__badge--ok{background:rgba(52,211,153,.12);color:#34d399;border:1px solid rgba(52,211,153,.3)}.status-dashboard__badge--degraded{background:rgba(249,115,22,.12);color:#f97316;border:1px solid rgba(249,115,22,.3)}.status-dashboard__badge--outage{background:rgba(248,113,113,.12);color:#f87171;border:1px solid rgba(248,113,113,.3)}.status-dashboard__badge--unknown{background:rgba(255,255,255,.06);color:#71717a;border:1px solid rgba(255,255,255,.1)}.incidents-badge{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;color:#f87171;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);padding:.3rem .75rem;border-radius:999px}.incidents-badge--ok{color:#34d399;background:rgba(52,211,153,.08);border-color:#34d39933}.incidents-badge__dot{width:6px;height:6px;border-radius:50%;background:#f87171;animation:pulse-dot 1.5s ease-in-out infinite}.incidents-badge__dot--ok{background:#34d399;animation:none}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.status-dashboard__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.metric-card{padding:1rem;background:rgba(255,255,255,.04);border-radius:.5rem}.metric-card strong{font-size:1.8rem}.status-dashboard__components{background:rgba(255,255,255,.04);padding:1rem;border-radius:.5rem}.components-container{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.component-container{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--bg-elevated, rgba(255, 255, 255, .02));border:1px solid rgba(255,255,255,.08);border-radius:6px}.component-inner-container{display:flex;justify-content:space-between;align-items:center}.component-name{font-size:1rem;font-weight:500;color:var(--white, #fff)}.component-status{font-size:.85rem;font-weight:500}.component-status.ok{color:#2fcc66}.component-status.warning{color:#fb7185}.uptime-90-days-wrapper{display:flex;flex-direction:column;gap:.5rem}.availability-bars{display:flex;height:34px;gap:3px;width:100%}.availability-bar{flex:1;min-width:2px;background-color:#2fcc66;border-radius:2px;opacity:.8;transition:opacity .2s;cursor:pointer;position:relative}.availability-bar:after{content:attr(data-tooltip);position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:var(--bg-elevated, #1a202c);color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.75rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none;z-index:10;box-shadow:0 4px 6px #0000004d;border:1px solid rgba(255,255,255,.1)}.availability-bar:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:var(--bg-elevated, #1a202c) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none;z-index:10}.availability-bar:hover{opacity:1}.availability-bar:hover:after,.availability-bar:hover:before{opacity:1;visibility:visible}.availability-bar.downtime{background-color:#fb7185}.legend{display:flex;justify-content:space-between;font-size:.75rem;color:#a1a1aa}.legend-item.uptime-text{color:#a1a1aa;font-weight:500}.status-dashboard__history ul,.status-dashboard__traces ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.status-dashboard__history li,.status-dashboard__traces li{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.5rem}.status-dashboard__timestamp{font-size:.9rem;color:#a1a1aa}.status-dashboard__error{color:#fb7185;padding:.5rem 1rem;background:rgba(251,113,133,.1);border-radius:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay.secondary{z-index:1001;background-color:#00000080}.modal-content{background:var(--bg-elevated);padding:1.5rem;border-radius:8px;box-shadow:0 5px 15px #00000080;z-index:1001;width:90%;max-width:820px;max-height:90vh;overflow-y:auto;color:var(--text-primary)}.modal-content.small{max-width:400px;width:400px}.modal-content.medium{max-width:600px}.modal-content.large{max-width:90vw;width:fit-content;min-width:550px}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1rem}.modal-header h2,.modal-header h3{margin:0;font-size:1.25rem;font-weight:500;color:var(--text-primary)}.modal-body{margin-bottom:.1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.device-manager-modal-scroll{max-height:55vh;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:#4f5b66 #0f1b2b}.device-manager-modal-scroll::-webkit-scrollbar{width:10px}.device-manager-modal-scroll::-webkit-scrollbar-track{background:#0f1b2b;border-radius:999px}.device-manager-modal-scroll::-webkit-scrollbar-thumb{background:#4f5b66;border-radius:999px;border:2px solid #0f1b2b}.device-manager-modal-scroll::-webkit-scrollbar-thumb:hover{background:#667483}.modal-box{background-color:var(--bg-elevated);padding:30px;border-radius:8px;width:400px;max-width:90%;color:var(--text-primary)}.modal-title{margin-top:0;margin-bottom:20px}.modal-input-block{margin-bottom:15px}.modal-input-block label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-secondary)}.modal-input{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--input-bg);color:var(--text-primary)}.modal-buttons{display:flex;gap:10px;justify-content:flex-end}
