*{box-sizing:border-box}:root{--bg: #1e1e1e;--surface: #2d2d30;--surface2: #3e3e42;--border: #555;--accent: #268bd2;--accent2: #2aa198;--text: #d4d4d4;--text-muted: #858585;--green: #859900;--red: #dc322f;--radius: 10px;--font: "Inter", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", "Fira Code", monospace}#app{min-height:100vh}.login-wrap{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 24px #0003}.login-logo{font-size:3rem;margin-bottom:.5rem}.login-title{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.login-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.form-group{margin-bottom:1rem;text-align:left}.form-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:.4rem;letter-spacing:.05em}.form-input{width:100%;padding:.7rem .85rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.95rem}.form-input:focus{outline:none;border-color:var(--accent)}.form-submit{width:100%;padding:.75rem;background:var(--accent);color:var(--bg);border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:1rem;margin-top:.5rem}.form-submit:hover{opacity:.9}.form-submit:disabled{opacity:.6;cursor:not-allowed}.error-msg{background:#ff50501a;color:var(--red);padding:.7rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.container{max-width:1400px;margin:0 auto;padding:2rem}.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.search-bar{display:flex;gap:.75rem}.search-bar .form-input{flex:1}.search-bar .form-submit{width:auto;margin-top:0}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2rem}.stat-val{font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.85rem}.section{margin-bottom:2.5rem}.section-title{font-size:1.2rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.date-group{margin-bottom:1.5rem}.date-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.file-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}.file-card:hover{border-color:var(--accent);transform:translateY(-1px)}.file-icon{font-size:1.6rem}.file-name{font-weight:600;font-size:.95rem}.file-meta{color:var(--text-muted);font-size:.8rem;margin-top:.2rem}.badge{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.7rem;font-weight:600}.badge-md{background:#50a0f033;color:#60a5fa}.badge-pdf{background:#f0505033;color:#f87171}.badge-workshop{background:#a3d63f33;color:#a3d63f}.badge-folder{background:#c8a0ff33;color:#c084fc}.badge-doc-tag{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.file-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.badge-counts{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}.badge-tag{background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font:inherit}.badge-tag:hover{border-color:var(--accent);color:var(--text)}.badge-tag.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.badge-count-n{opacity:.75;margin-left:.2rem}.history-entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.2rem}.history-entry-meta{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.85rem}.history-entry-content{background:var(--bg);border-left:3px solid var(--accent);padding:.85rem 1rem;border-radius:4px;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;font-family:var(--mono);font-size:.85rem}.btn-ghost{display:inline-block;padding:.5rem 1rem;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:6px;text-decoration:none;cursor:pointer;font-size:.9rem}.btn-ghost:hover{border-color:var(--accent)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#272822;color:#ddd}.hljs-tag,.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-strong,.hljs-number,.hljs-name{color:#f92672}.hljs-code{color:#66d9ef}.hljs-attribute,.hljs-attr,.hljs-symbol,.hljs-regexp,.hljs-link{color:#bf79db}.hljs-string,.hljs-bullet,.hljs-subst,.hljs-title,.hljs-section,.hljs-emphasis,.hljs-type,.hljs-built_in,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:#a6e22e}.hljs-title.class_,.hljs-class .hljs-title{color:#fff}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:#75715e}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-title,.hljs-section,.hljs-type,.hljs-selector-id{font-weight:700}
