/* Anvilscript */
::selection { background: rgba(99,102,241,.4); }
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(255,255,255,.2); }

.form-input { width:100%; padding:.625rem .875rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:.5rem; color:#e2e8f0; font-size:.875rem; transition:all .15s; }
.form-input:hover { border-color:rgba(255,255,255,.15); }
.form-input:focus { border-color:rgba(99,102,241,.5); background:rgba(255,255,255,.05); box-shadow:0 0 0 3px rgba(99,102,241,.1); outline:none; }
.form-input::placeholder { color:rgba(148,163,184,.5); }
.form-label { display:block; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:#94a3b8; margin-bottom:.375rem; }
.form-select { appearance:none; background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E"); background-position:right .5rem center; background-repeat:no-repeat; background-size:1.5em 1.5em; padding-right:2.5rem; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.625rem 1.25rem; font-size:.875rem; font-weight:500; border-radius:.5rem; transition:all .15s; cursor:pointer; border:1px solid transparent; text-decoration:none; white-space:nowrap; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.btn-primary { background:#4f46e5; color:#fff; border-color:rgba(99,102,241,.3); }
.btn-primary:hover:not(:disabled) { background:#6366f1; box-shadow:0 4px 12px rgba(99,102,241,.3); }
.btn-secondary { background:rgba(255,255,255,.05); color:#e2e8f0; border-color:rgba(255,255,255,.1); }
.btn-secondary:hover:not(:disabled) { background:rgba(255,255,255,.1); }
.btn-danger { background:rgba(239,68,68,.1); color:#ef4444; border-color:rgba(239,68,68,.2); }
.btn-danger:hover:not(:disabled) { background:rgba(239,68,68,.2); }
.btn-sm { padding:.375rem .75rem; font-size:.75rem; }
.btn-lg { padding:.75rem 1.75rem; font-size:1rem; }

.card { background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:.75rem; transition:all .2s; }
.card:hover { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); }

.badge { display:inline-flex; align-items:center; gap:.25rem; padding:.125rem .625rem; font-size:.75rem; font-weight:500; border-radius:9999px; border:1px solid transparent; }
.badge-brand { background:rgba(99,102,241,.1); color:#818cf8; border-color:rgba(99,102,241,.2); }
.badge-green { background:rgba(34,197,94,.1); color:#4ade80; border-color:rgba(34,197,94,.2); }
.badge-amber { background:rgba(245,158,11,.1); color:#fbbf24; border-color:rgba(245,158,11,.2); }

.stat-card { background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06); border-radius:.75rem; padding:1.25rem 1.5rem; }
.stat-value { font-size:1.875rem; font-weight:700; background:linear-gradient(135deg,#e2e8f0,#94a3b8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.stat-label { font-size:.75rem; font-weight:500; text-transform:uppercase; letter-spacing:.05em; color:#64748b; margin-top:.25rem; }

.empty-state { text-align:center; padding:3rem 1.5rem; }

.prose { color:#cbd5e1; line-height:1.75; font-size:1rem; }
.prose h1 { font-size:2rem; font-weight:700; color:#f1f5f9; margin:2rem 0 1rem; }
.prose h2 { font-size:1.5rem; font-weight:700; color:#f1f5f9; margin:1.75rem 0 .75rem; }
.prose h3 { font-size:1.25rem; font-weight:600; color:#f1f5f9; margin:1.5rem 0 .5rem; }
.prose p { margin:0 0 1rem; }
.prose a { color:#818cf8; text-decoration:underline; }
.prose ul,.prose ol { margin:0 0 1rem; padding-left:1.5rem; }
.prose blockquote { border-left:3px solid #6366f1; padding:.5rem 1rem; margin:1rem 0; background:rgba(99,102,241,.05); color:#94a3b8; }
.prose code { background:rgba(255,255,255,.06); padding:.125rem .375rem; border-radius:.25rem; font-size:.875em; }
.prose pre { background:rgba(0,0,0,.3); padding:1rem; border-radius:.5rem; overflow-x:auto; margin:1rem 0; }
.prose pre code { background:none; padding:0; }
.prose img { max-width:100%; border-radius:.5rem; margin:1rem 0; }
.prose hr { border:none; border-top:1px solid rgba(255,255,255,.06); margin:2rem 0; }

/* Quill dark overrides */
.ql-toolbar.ql-snow { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08)!important; border-radius:.5rem .5rem 0 0; }
.ql-container.ql-snow { border:1px solid rgba(255,255,255,.08)!important; border-top:none!important; border-radius:0 0 .5rem .5rem; background:rgba(255,255,255,.02); font-size:1rem; color:#cbd5e1; min-height:300px; }
.ql-editor { min-height:300px; }
.ql-snow .ql-stroke { stroke:#94a3b8!important; }
.ql-snow .ql-fill { fill:#94a3b8!important; }
.ql-snow .ql-picker-label { color:#94a3b8!important; }
.ql-snow .ql-picker-options { background:#1e293b!important; border-color:rgba(255,255,255,.1)!important; }
.ql-snow .ql-picker-item { color:#cbd5e1!important; }
.ql-editor.ql-blank::before { color:rgba(148,163,184,.4)!important; font-style:normal!important; }

@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.fade-in { animation:fadeIn .3s ease-out; }
