@import url('/assets/layout.css');
:root{color-scheme:dark;--bg:#111519;--panel:#171c21;--raised:#20262d;--line:#2b333b;--text:#e5e9ed;--muted:#8a959f;--accent:#bcf087;--danger:#ff999b;--vh:100dvh;font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:7px;background:transparent;color:inherit;padding:8px 12px;transition:background .15s}button:hover{background:#ffffff0b}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{background:#101419;border:1px solid var(--line);border-radius:7px;color:var(--text);padding:10px 12px;outline:none;max-width:100%}input:focus,textarea:focus,select:focus{border-color:#829f64}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}label{display:block;margin:14px 0 7px;color:#bac4ce;font-size:13px}a{color:var(--accent);text-underline-offset:3px}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h2{font-size:20px}h3{font-size:15px}small,.small{font-size:12px}.muted{color:var(--muted)}.primary{background:var(--accent);color:#1b2b13;font-weight:650}.primary:hover{background:#cafa9b}.secondary{border-color:var(--line);background:var(--raised)}.danger{color:var(--danger)}.danger:hover{background:#f55d5d18}.wide{width:100%;margin-top:14px}.error{color:var(--danger);font-size:13px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:6px;font-size:22px;flex-shrink:0}.icon{width:19px;height:19px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-.8px}.brand img{width:33px;height:33px}.brand-dot{color:var(--accent)}.badge{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;background:var(--accent);color:#203013;border-radius:6px;font-size:11px;font-weight:700;padding:0 5px}.avatar{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#303a35;color:#ccdfbd;font-size:13px;font-weight:650;flex-shrink:0}.avatar.admin{background:#3b3548;color:#d8c5f8}.tag{font-size:10px;color:#9aa7b3;border:1px solid #3c4650;border-radius:4px;padding:1px 4px}.empty{padding:30px 20px;color:var(--muted);text-align:center;font-size:13px}.connection{width:7px;height:7px;border-radius:50%;background:#d9a65d}.connection.connected{background:var(--accent)}.login-view{height:var(--vh);min-height:550px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,#28312680,transparent 55%)}.login-card{width:360px;max-width:calc(100% - 48px)}.login-card .brand{margin-bottom:40px}.login-card h1{font-size:32px;letter-spacing:-1px;margin-bottom:10px}.login-card>p{margin-bottom:26px}.login-card input{width:100%;height:44px}.role-tabs{display:flex;background:#0e1216;border:1px solid var(--line);padding:4px;border-radius:8px}.role-tabs button{width:50%;color:var(--muted)}.role-tabs button.active{background:var(--raised);color:var(--text)}.login-note{font-size:11px;color:#687681;text-align:center;margin-top:23px;line-height:1.9}.login-footer{position:absolute;bottom:20px;font-size:10px;letter-spacing:2px;color:#64717c}.login-footer span{letter-spacing:0;margin-left:20px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:90vw;border:1px solid #485544;border-radius:9px;background:#273126;color:#e5f6d6;box-shadow:0 6px 35px #0007;padding:12px 20px;z-index:200}.toast.error{border-color:#704347;background:#39272a;color:#ffc4c4}
dialog{width:640px;max-width:calc(100vw - 32px);max-height:85dvh;border:1px solid #3a454f;border-radius:14px;padding:0;background:var(--panel);color:var(--text);box-shadow:0 25px 100px #0009}dialog.large{width:1020px}dialog::backdrop{background:#05090dbb;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}.dialog-heading h2{font-size:16px;margin:0}#dialog-content{padding:20px 22px}.dialog-form input,.dialog-form textarea,.dialog-form select{width:100%}.dialog-form label:first-child{margin-top:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.form-note{font-size:12px;color:var(--muted);margin-top:10px}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}.toolbar input{flex:1;min-width:120px}.toolbar select{padding:8px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.tabs .active{background:#bcf08716;color:var(--accent)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{color:var(--muted);font-weight:500;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid #252d34;vertical-align:middle}td button{padding:5px 8px;font-size:12px}td .filename{display:block;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-mini{width:32px;height:32px;object-fit:cover;border-radius:5px}.cell-name{display:flex;align-items:center;gap:9px}.file-actions{white-space:nowrap}.request-card,.alert-card{padding:14px;border:1px solid var(--line);border-radius:9px;margin-bottom:10px}.request-card p,.alert-card p{font-size:12px;margin:7px 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.alert-card.error{border-left:3px solid var(--danger)}.alert-card.info{border-left:3px solid var(--accent)}.item-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.member-item .grow{flex:1}.grant-row{display:flex;align-items:center;gap:9px;padding:8px 0}.grant-row input{width:16px}.media-view{display:block;max-width:100%;max-height:65dvh;margin:auto}.confirm-text{white-space:pre-wrap;color:#b9c3cc;line-height:1.7}.dialog-meta{font-size:12px;color:var(--muted);margin-top:12px}
