@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--bg-top:#0f1c24;--bg-bottom:#1a3340;--surface:#fff9f0f5;--surface-solid:#fff9f0;--ink:#132029;--muted:#5a6b75;--accent:#0d8a6a;--accent-hover:#0a6f55;--danger:#b42318;--warn:#9a6700;--border:#1320291f;--shadow:0 24px 60px #08141c59;--sidebar-w:260px;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(ellipse 80% 50% at 10% 0%, #0d8a6a47, transparent 55%), radial-gradient(ellipse 60% 40% at 90% 100%, #e8a8382e, transparent 50%), linear-gradient(165deg, var(--bg-top), var(--bg-bottom));background-attachment:fixed;min-width:320px;margin:0}a{color:var(--accent);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}code{background:#1320290f;border-radius:4px;padding:.1em .35em;font-size:.92em}.auth-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(100%,420px);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:.85rem;padding:2rem 1.75rem 1.75rem;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);margin:0;font-family:Fraunces,Georgia,serif;font-size:1.65rem;font-weight:700}.auth-card h1{margin:0;font-size:1.35rem;font-weight:600}.subtitle{color:var(--muted);margin:-.35rem 0 .25rem;font-size:.95rem}.muted{color:var(--muted);margin:0}.auth-card label{color:var(--ink);flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;display:flex}.auth-card input{font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;padding:.7rem .85rem;font-weight:400}.auth-card input:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.auth-card button[type=submit]{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:.35rem;padding:.75rem 1rem;font-weight:600}.auth-card button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.auth-card button:disabled{opacity:.7;cursor:not-allowed}.form-error{color:var(--danger);background:#b4231814;border-radius:10px;margin:0;padding:.65rem .75rem;font-size:.9rem}.auth-footer{text-align:center;color:var(--muted);margin:.4rem 0 0;font-size:.92rem}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{color:#e8f0f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a161ceb;border-right:1px solid #ffffff14;flex-direction:column;gap:1.25rem;height:100vh;padding:1.35rem 1rem 1.15rem;display:flex;position:sticky;top:0}.sidebar-brand{flex-direction:column;gap:.15rem;padding:0 .5rem .5rem;display:flex}.sidebar-logo{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:1.45rem;font-weight:700}.sidebar-tag{color:#e8f0f28c;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;display:flex}.sidebar-link{color:#e8f0f2c7;border-radius:10px;align-items:center;gap:.7rem;padding:.7rem .85rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-icon{opacity:.85;flex-shrink:0;width:1.15rem;height:1.15rem}.sidebar-link:hover{color:#fff;background:#ffffff0f;text-decoration:none}.sidebar-link:hover .sidebar-icon,.sidebar-link.is-active .sidebar-icon{opacity:1}.sidebar-link.is-active{color:#fff;background:#0d8a6a47}.sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.sidebar-user{flex-direction:column;gap:.15rem;padding:0 .35rem;font-size:.88rem;display:flex}.sidebar-user strong{color:#fff;font-weight:600}.sidebar-user span{color:#e8f0f28c;word-break:break-all}.sidebar-logout{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;gap:.55rem;padding:.65rem .85rem;font-weight:600;display:inline-flex}.sidebar-logout:hover{background:#ffffff14}.app-main{width:100%;min-width:0;padding:1.75rem 1.75rem 2.5rem}.menu-toggle,.sidebar-backdrop{display:none}.page{width:100%;max-width:none}.page-header{margin-bottom:1.5rem}.page-kicker{letter-spacing:.08em;text-transform:uppercase;color:#fff9f0a6;margin:0 0 .25rem;font-size:.78rem;font-weight:600}.page-header h1{color:#fff9f0;letter-spacing:-.02em;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2rem);font-weight:700}.page-header .muted{color:#fff9f0b3;margin-top:.35rem}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.btn-primary,.btn-secondary{font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;padding:.65rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.btn-secondary{color:var(--ink);border:1px solid var(--border);background:0 0}a.btn-secondary{color:var(--ink)}.btn-secondary:hover:not(:disabled){background:#1320290d;text-decoration:none}.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.list-panel{flex-direction:column;gap:1rem;display:flex}.list-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.list-search{min-width:0;font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;flex:220px;padding:.7rem .85rem}.list-search:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.list-select{min-width:140px;font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;flex:0 160px;padding:.7rem .85rem}.list-select:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.list-date-field{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:.2rem;font-size:.72rem;font-weight:600;display:flex}.list-date-field input{font:inherit;text-transform:none;letter-spacing:normal;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;min-height:44px;padding:.65rem .75rem;font-weight:400}.list-date-field input:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.historico-toolbar{align-items:flex-end}.list-empty{padding:.5rem 0 .25rem}.table-wrap{border:1px solid var(--border);border-radius:12px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem .9rem}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#13202908;font-size:.75rem;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table .mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.table-link{color:var(--accent-hover);font-weight:600}.table-link:hover{text-decoration:underline}.btn-table{padding:.4rem .7rem;font-size:.85rem}.call-link-panel h2{margin:0 0 .5rem}.call-link-label{flex-direction:column;gap:.4rem;margin-top:1rem;font-size:.88rem;font-weight:600;display:flex}.call-link-row{flex-wrap:wrap;align-items:stretch;gap:.65rem;display:flex}.call-link-input{min-width:0;font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;flex:240px;padding:.7rem .85rem;font-weight:400}.call-link-input:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.call-link-example{margin-top:.85rem}.mono.wrap,code.mono.wrap{word-break:break-all}.list-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.list-pagination-actions{gap:.5rem;display:flex}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.25rem 1.2rem;box-shadow:0 12px 32px #08141c2e}.dash-panel h2{margin:0 0 .65rem;font-size:1.05rem;font-weight:600}.dash-dl{flex-direction:column;gap:.75rem;margin:0;display:flex}.dash-dl div{gap:.15rem;display:grid}.dash-dl dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem;font-weight:600}.dash-dl dd{margin:0;font-weight:500}.dash-status-line{margin:.85rem 0 0}.dash-hint{color:var(--muted);margin:.75rem 0 0;font-size:.92rem}.dash-page{flex-direction:column;gap:1rem;max-width:1200px;display:flex}.dash-page>.page-header{margin-bottom:.25rem}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dash-ready-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff9f0;background:#fff9f014;border:1px solid #fff9f02e;border-radius:999px;align-items:center;gap:.55rem;min-height:44px;padding:.55rem .95rem;font-size:.86rem;font-weight:600;display:inline-flex}.dash-ready-badge.is-ready{background:#0d8a6a47;border-color:#0d8a6a73}.dash-ready-badge.is-pending{background:#e8a83833;border-color:#e8a83866}.dash-ready-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:2.2s ease-out infinite dash-pulse;box-shadow:0 0 #fff9f073}.dash-ready-badge.is-ready .dash-ready-dot{background:#5ee4b8}.dash-ready-badge.is-pending .dash-ready-dot{background:#f0c14b}@keyframes dash-pulse{0%{box-shadow:0 0 #fff9f073}70%{box-shadow:0 0 0 10px #fff9f000}to{box-shadow:0 0 #fff9f000}}.dash-hero{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff9f0;background:linear-gradient(135deg,#0d8a6a47,#fff9f00f),#0a161c73;border:1px solid #fff9f024;border-radius:18px;grid-template-columns:minmax(0,1.4fr) auto;align-items:center;gap:1.5rem;padding:1.35rem 1.4rem;animation:.4s cubic-bezier(.22,1,.36,1) both dash-enter;display:grid;box-shadow:0 16px 40px #08141c47}.dash-hero-label{letter-spacing:.08em;text-transform:uppercase;color:#fff9f09e;margin:0 0 .35rem;font-size:.75rem;font-weight:600}.dash-hero-copy h2{letter-spacing:-.02em;margin:0 0 .45rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:700}.dash-hero-copy p{color:#fff9f0b8;max-width:48ch;margin:0;font-size:.95rem;line-height:1.5}.dash-meter-ring{width:112px;height:112px;position:relative}.dash-meter-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.dash-meter-track,.dash-meter-value{fill:none;stroke-width:8px}.dash-meter-track{stroke:#fff9f01f}.dash-meter-value{stroke:#3ecf9a;stroke-linecap:round;transition:stroke-dasharray .55s cubic-bezier(.22,1,.36,1)}.dash-meter-label{text-align:center;place-content:center;line-height:1.1;display:grid;position:absolute;inset:0}.dash-meter-label strong{letter-spacing:-.03em;font-size:1.35rem;font-weight:700}.dash-meter-label span{letter-spacing:.04em;text-transform:uppercase;color:#fff9f099;font-size:.72rem;font-weight:600}.dash-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.dash-metrics-ops{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-alerts{flex-direction:column;gap:.65rem;display:flex}.dash-alert{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.85rem 1rem;display:grid;box-shadow:0 8px 24px #08141c1f}.dash-alert svg{flex-shrink:0;width:22px;height:22px}.dash-alert strong{margin-bottom:.15rem;font-size:.95rem;display:block}.dash-alert p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.dash-alert.is-warn{color:var(--warn);background:#fff9f0f5;border-color:#9a670047}.dash-alert.is-danger{color:var(--danger);background:#fff9f0f5;border-color:#b4231847}.dash-alert .btn-secondary{color:var(--ink);white-space:nowrap}.dash-recent-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.dash-recent-head h2{margin:0}.dash-recent .dash-metric-link{min-height:auto;margin:0;padding:.35rem 0}.dash-metric{background:var(--surface);border:1px solid var(--border);min-height:100%;animation:.45s cubic-bezier(.22,1,.36,1) both dash-enter;animation-delay:calc(var(--i,0) * 60ms + 40ms);border-radius:16px;flex-direction:column;gap:.85rem;padding:1.1rem 1.05rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 28px #08141c29}.dash-metric:hover{transform:translateY(-2px);box-shadow:0 16px 36px #08141c38}.dash-metric-icon{width:40px;height:40px;color:var(--accent-hover);background:#0d8a6a1f;border-radius:12px;place-items:center;display:grid}.dash-metric-icon[data-tone=amber]{color:var(--warn);background:#9a67001f}.dash-metric-icon[data-tone=ink]{color:var(--ink);background:#13202914}.dash-metric-icon svg{width:20px;height:20px}.dash-metric-body{flex:1;min-width:0}.dash-metric-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.74rem;font-weight:600}.dash-metric-value{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:2rem;font-weight:700;line-height:1.1}.dash-metric-value-sm{padding-top:.2rem;font-size:1rem;font-weight:600}.dash-metric-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.35rem 0 0;font-size:.86rem;overflow:hidden}.dash-metric-link{min-height:44px;color:var(--accent-hover);align-items:center;gap:.35rem;margin:-.35rem 0;font-size:.88rem;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.dash-metric-link svg{width:16px;height:16px}.dash-metric-link:hover{gap:.55rem;text-decoration:none}.dash-bento{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:.85rem;display:grid}.dash-actions h2,.dash-checklist h2{margin-bottom:.9rem}.dash-action-grid{flex-direction:column;gap:.55rem;display:flex}.dash-action{border:1px solid var(--border);min-height:64px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.75rem .85rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:grid}.dash-action:hover{background:#fff;border-color:#0d8a6a59;text-decoration:none;transform:translate(2px)}.dash-action:focus-visible{outline-offset:2px;outline:2px solid #0d8a6a73}.dash-action>svg{width:18px;height:18px;color:var(--muted)}.dash-action-icon{width:38px;height:38px;color:var(--accent-hover);background:#0d8a6a1a;border-radius:10px;place-items:center;display:grid}.dash-action-icon svg{width:18px;height:18px}.dash-action-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.dash-action-copy strong{font-size:.95rem;font-weight:600}.dash-action-copy span{color:var(--muted);font-size:.82rem}.dash-steps{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.dash-steps li{border:1px solid var(--border);background:#ffffff80;border-radius:12px;grid-template-columns:auto 1fr;gap:.75rem;padding:.85rem .9rem;display:grid}.dash-steps li.is-done{background:#0d8a6a0f;border-color:#0d8a6a47}.dash-steps li.is-todo{background:#9a67000f;border-color:#9a670040}.dash-step-mark{border-radius:50%;place-items:center;width:28px;height:28px;margin-top:.1rem;display:grid}.dash-steps li.is-done .dash-step-mark{color:var(--accent-hover);background:#0d8a6a2e}.dash-steps li.is-todo .dash-step-mark{color:var(--warn);background:#9a670029}.dash-step-mark svg{width:16px;height:16px}.dash-steps strong{margin-bottom:.2rem;font-size:.95rem;display:block}.dash-steps p{color:var(--muted);margin:0 0 .45rem;font-size:.86rem;line-height:1.45}.dash-steps a{font-size:.88rem}@keyframes dash-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dash-ready-dot,.dash-hero,.dash-metric{animation:none}.dash-metric:hover,.dash-action:hover{transform:none}.dash-meter-value{transition:none}}.status-pill{border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.82rem;font-weight:600;display:inline-flex}.status-pill.is-ok{color:var(--accent-hover);background:#0d8a6a24}.status-pill.is-warn{color:var(--warn);background:#9a670024}.form-success{color:var(--accent-hover);background:#0d8a6a1f;border-radius:10px;margin:0;padding:.65rem .75rem;font-size:.9rem}.settings-layout{flex-direction:column;gap:1rem;width:100%;display:flex}.settings-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.settings-form{flex-direction:column;gap:.85rem;min-width:0;height:100%;display:flex}.settings-form-wide{width:100%}.settings-form-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.settings-form-head .muted{margin-top:.25rem}.settings-form label{color:var(--ink);flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;display:flex}.settings-form input{font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:.7rem .85rem;font-weight:400}.settings-form input:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.settings-form button[type=submit]{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-self:flex-start;margin-top:auto;padding:.7rem 1.1rem;font-weight:600}.settings-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.settings-form .form-actions{margin-top:auto}.settings-form .form-actions button[type=submit]{margin-top:0}.settings-form button:disabled{opacity:.7;cursor:not-allowed}.settings-form select{font:inherit;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;width:100%;padding:.7rem .85rem;font-weight:400}.settings-form select:focus{border-color:var(--accent);outline:2px solid #0d8a6a59}.settings-form select:disabled{opacity:.7;cursor:not-allowed}.form-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:auto;padding-top:.25rem;display:flex}.form-actions .btn-primary,.form-actions .btn-secondary{margin-top:0}@media (width<=1100px){.dash-metrics,.dash-metrics-ops{grid-template-columns:1fr 1fr}.dash-bento{grid-template-columns:1fr}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.menu-toggle{z-index:40;cursor:pointer;background:#0a161ceb;border:none;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0;display:inline-flex;position:fixed;top:1rem;left:1rem}.menu-toggle span{background:#fff;border-radius:2px;width:18px;height:2px;margin:0 auto;display:block}.sidebar{width:min(var(--sidebar-w), 86vw);z-index:50;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.app-shell.menu-open .sidebar{transform:translate(0)}.sidebar-backdrop{z-index:45;cursor:pointer;background:#00000073;border:none;padding:0;display:block;position:fixed;inset:0}.app-main{padding:4.5rem 1.15rem 2rem}.dash-grid{grid-template-columns:1fr}.dash-hero{grid-template-columns:1fr;justify-items:start}.dash-hero-meter{justify-self:start}.dash-header{flex-direction:column;align-items:flex-start}.dash-metrics,.dash-metrics-ops{grid-template-columns:1fr}.dash-alert{grid-template-columns:auto 1fr}.dash-alert .btn-secondary{grid-column:2;justify-self:start}.settings-row{grid-template-columns:1fr}.page-header-row{flex-direction:column;align-items:stretch}.page-header-row .btn-primary{align-self:flex-start}}
