:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;color:#0f172a;background:radial-gradient(circle at top,rgba(37,99,235,.08),transparent 32%),#eef2f7;--surface: #ffffff;--surface-muted: #f8fafc;--border: #e2e8f0;--text-muted: #64748b;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--shadow: 0 10px 30px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--primary)}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(226,232,240,.9);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header-inner{max-width:1040px;margin:0 auto;padding:.85rem 1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.75rem;min-width:180px}.brand-mark{width:2.4rem;height:2.4rem;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;font-weight:700;font-size:.85rem}.brand strong{display:block;font-size:.98rem}.brand-sub{display:block;color:var(--text-muted);font-size:.78rem}.nav{display:flex;gap:.35rem;flex:1}.nav-link{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:#475569;font-weight:600;font-size:.92rem;padding:.45rem .75rem;border-radius:999px;transition:background .15s ease,color .15s ease}.nav-link:hover{background:#f1f5f9;color:#0f172a}.nav-link.active{background:#dbeafe;color:var(--primary)}.header-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.user-email{color:var(--text-muted);font-size:.85rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.page-grid{display:grid;gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.35rem 1.4rem;box-shadow:var(--shadow)}.card-header{margin-bottom:1.25rem}.card-header h1,.card-header h2,.page-title{margin:0 0 .35rem;font-size:1.35rem}.auth-layout{min-height:calc(100vh - 3rem);display:grid;place-items:center;padding:2rem 0}.auth-card{width:min(100%,440px)}.auth-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.92rem}input[type=email],input[type=password],input[type=text]{width:100%;padding:.72rem .85rem;border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px #2563eb1f}.btn{border:none;border-radius:10px;padding:.72rem 1rem;background:var(--primary);color:#fff;font-weight:600;white-space:nowrap;transition:background .15s ease,transform .15s ease}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:#475569}.btn-secondary:hover:not(:disabled){background:#334155}.btn-danger{background:var(--danger)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:#475569;border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#0f172a}.btn-sm{padding:.45rem .75rem;font-size:.88rem}.btn-with-icon{display:inline-flex;align-items:center;gap:.45rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:10px;background:transparent;color:inherit;transition:background .15s ease,color .15s ease,transform .15s ease}.btn-icon:hover:not(:disabled){transform:translateY(-1px)}.btn-icon:disabled{opacity:.6;cursor:not-allowed}.btn-icon-secondary{background:#f1f5f9;color:#334155}.btn-icon-secondary:hover:not(:disabled){background:#e2e8f0}.btn-icon-danger{background:#fef2f2;color:#dc2626}.btn-icon-danger:hover:not(:disabled){background:#fee2e2}.btn-icon-ghost{background:transparent;color:#475569;border:1px solid var(--border)}.btn-icon-ghost:hover:not(:disabled){background:#f8fafc;color:#0f172a}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:10px;color:var(--primary);background:#eff6ff;text-decoration:none;transition:background .15s ease}.icon-link:hover{background:#dbeafe}.btn:disabled{opacity:.6;cursor:not-allowed}.keyword-form{display:flex;gap:.75rem;margin-bottom:1rem}.keyword-form input{margin-bottom:0;flex:1}.keyword-list,.notification-list,.admin-list{list-style:none;padding:0;margin:0}.keyword-item,.notification-item,.admin-list-item{display:flex;align-items:center;gap:.75rem;padding:.9rem 0;border-bottom:1px solid var(--border)}.keyword-item:last-child,.notification-item:last-child,.admin-list-item:last-child{border-bottom:none}.keyword-item-main,.notification-item-main{flex:1;min-width:0}.keyword-actions{display:flex;gap:.5rem;flex-wrap:wrap}.muted{color:var(--text-muted);font-size:.92rem}.error{color:var(--danger);margin-bottom:1rem;padding:.75rem .9rem;border-radius:10px;background:#fef2f2}.success{color:#047857;margin-bottom:1rem;padding:.75rem .9rem;border-radius:10px;background:#ecfdf5}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#dbeafe;color:#1d4ed8}.badge-inactive{background:#f1f5f9;color:#64748b}.empty-state{padding:1.5rem;border-radius:12px;background:var(--surface-muted);border:1px dashed var(--border);text-align:center}.empty-state strong{display:block;margin-bottom:.35rem}.empty-state-icon{font-size:1.5rem;margin-bottom:.5rem}.section{margin-bottom:2rem}.section:last-child{margin-bottom:0}.section-title{margin:0 0 .5rem;font-size:1.05rem}.link-button{color:var(--primary);font-weight:600;text-decoration:none}.link-button:hover{text-decoration:underline}@media(max-width:768px){.app-header-inner{align-items:flex-start}.nav{order:3;width:100%;overflow-x:auto}.header-actions{width:100%;justify-content:space-between;margin-left:0}.nav-link span{display:none}.nav-link{padding:.55rem}.keyword-form{flex-direction:column}.keyword-item,.notification-item,.admin-list-item{flex-direction:column;align-items:flex-start}.keyword-actions{width:100%}.keyword-actions .btn{flex:1}}
