:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background-color:#f8fafc;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(#f8fafc 0%,#e2e8f0 100%);min-height:100vh;margin:0}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.page{flex-direction:column;gap:2rem;min-height:100vh;padding:2rem clamp(1rem,4vw,3rem);display:flex}.page__header{justify-content:space-between;align-items:center;gap:1.5rem;width:min(1200px,100%);margin-inline:auto;display:flex}.button-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.page__title{margin:0;font-size:clamp(2rem,4vw,2.5rem)}.page__subtitle{color:#475569;margin:.25rem 0 0}.page__content{gap:1.5rem;width:min(1200px,100%);margin-inline:auto;display:grid}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.admin-list{gap:10px;display:grid}.user-row{background:#f8fafcbf;border:1px solid #0f172a14;border-radius:12px;grid-template-columns:2fr 1.5fr auto auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}@media (max-width:800px){.user-row{grid-template-columns:1fr;gap:6px}}.stat-item{background:#f8fafcbf;border:1px solid #0f172a14;border-radius:12px;padding:12px}.stat-item h4{margin:0 0 6px}.page-centered{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fffffff2;border-radius:18px;padding:2rem;box-shadow:0 18px 45px #0f172a21}.card h1,.card h2{margin-top:0}.login-card{text-align:center;width:min(420px,100%)}.login-card>p{color:#475569;margin-bottom:1.5rem}.keyword-card,.keyword-list-card,.keyword-summary{align-self:start}.button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#dc2626 0%,#f97316 100%);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 25px #fb923c59}.button:disabled{opacity:.7;cursor:not-allowed}.button--secondary{color:#f8fafc;background:#0f172a}.button--ghost{color:#0f172a;box-shadow:none;background:0 0;border:1px solid #0f172a2e}.button--ghost:hover:not(:disabled){box-shadow:none;background-color:#0f172a0d;transform:none}.button--blue{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%)}.button--danger{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%)}.button--sm{padding:.4rem .9rem;font-size:.85rem}.error-text{color:#dc2626;margin-top:1rem}.info-text{color:#2563eb;margin-top:.75rem}.card__helper{color:#64748b;margin-top:.25rem;margin-bottom:1.25rem}.dashboard{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.dashboard__panel{align-self:start}.keywords{grid-template-columns:1fr}.keyword-form{flex-direction:column;gap:.75rem;display:flex}.keyword-form .button{align-self:flex-start}.input{border:1px solid #0f172a33;border-radius:12px;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border .2s,box-shadow .2s}.input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 4px #2563eb26}.keyword-list{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.keyword-list__item{background-color:#f8fafcd9;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.keyword-list__item span{font-weight:500}.keyword-list--compact{gap:.5rem;margin-top:.75rem}.keyword-list--compact .keyword-list__item{background-color:#0000;padding:0}.results-card{grid-column:1/-1}.results-list{gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.results-list__item{background-color:#f8fafcbf;border:1px solid #0f172a14;border-radius:16px;padding:1rem 1.25rem}.results-list__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.results-list__title{color:#0f172a;font-weight:600}.results-list__title:hover{text-decoration:underline}.keyword-pill{color:#1d4ed8;text-transform:uppercase;letter-spacing:.01em;background:#2563eb1f;border-radius:999px;align-self:flex-start;padding:.3rem .9rem;font-size:.85rem;font-weight:600}.results-list__meta{flex-wrap:wrap;gap:1rem;margin:1rem 0 0;display:flex}.results-list__meta dt{text-transform:uppercase;color:#94a3b8;margin:0 0 .25rem;font-size:.72rem}.results-list__meta dd{color:#475569;margin:0;font-size:.75rem;font-weight:500}.results-list__empty{color:#475569;margin-top:1.5rem}.chip{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #0f172a2e;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.chip:hover{background:#0f172a0a}.chip--active{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb59}.chip--success{color:#059669;background:#10b9811f;border-color:#10b98159;position:relative}.chip--success:before{content:"";background:#10b981;border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.4s infinite pulse-dot;box-shadow:0 0 #10b98199}@keyframes pulse-dot{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.select{appearance:none;color:#0f172a;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><path fill=\"%2364748b\" d=\"M5.516 7.548l4.484 4.484 4.484-4.484 1.416 1.416-5.9 5.9-5.9-5.9z\"/></svg>");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem;border:1px solid #0f172a33;border-radius:10px;padding:.5rem 2rem .5rem .75rem;font-size:.95rem}.select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.select--sm{border-radius:8px;padding:.35rem 1.8rem .35rem .6rem;font-size:.9rem}.button--pulse{animation:1.6s ease-in-out infinite pulse-button}@keyframes pulse-button{0%{transform:translateY(0);box-shadow:0 14px 25px #fb923c59}50%{transform:translateY(-2px);box-shadow:0 18px 30px #fb923c73}to{transform:translateY(0);box-shadow:0 14px 25px #fb923c59}}.toast{color:#f8fafc;z-index:9999;background:#0f172a;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 18px 45px #0f172a59}.toast button{color:#93c5fd;cursor:pointer;background:0 0;border:1px solid #94a3b84d;border-radius:10px;padding:6px 10px}.badge{color:#0f172a;background:#0f172a14;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill{color:#1d4ed8;background:#2563eb1f;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.85rem;font-weight:600;display:inline-flex}.keyword-item{gap:.75rem}.keyword-item__main{gap:.25rem;display:grid}.keyword-item__title{color:#0f172a;font-size:1.05rem;font-weight:700}.keyword-item__meta{color:#64748b;font-size:.9rem}.keyword-item__actions{justify-content:flex-end;align-items:center;gap:.5rem;margin-left:auto;display:inline-flex}.keyword-item__row{align-items:center;gap:.5rem;display:inline-flex}.pagination{border-top:1px solid #0f172a14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.75rem;padding-top:1.25rem;display:flex}.pagination__buttons{align-items:center;gap:.75rem;display:flex}.pagination__page{color:#475569;font-weight:500}.spinner{align-items:center;gap:.5rem;margin-top:1rem;display:inline-flex}.spinner__circle{border:3px solid #2563eb40;border-top-color:#2563eb;border-radius:50%;width:1.25rem;height:1.25rem;animation:.8s linear infinite spinner-rotate}.spinner__label{color:#475569;font-size:.9rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.back-to-top{z-index:999;position:fixed;bottom:16px;right:16px}@media (max-width:640px){.page{gap:1.25rem;padding:1.25rem clamp(.75rem,4vw,1.25rem)}.page__header{flex-direction:column;align-items:stretch}.button-group{justify-content:stretch}}
