:root{--bg:#0d1422;--panel:#182438;--panel2:#101b2d;--text:#eaf0fa;--muted:#95a4ba;--accent:#6b9aff;--border:#2b3b54;--danger:#fd828a}*{box-sizing:border-box}body{font:15px/1.55 Inter,system-ui,-apple-system,sans-serif;margin:0;background:var(--bg);color:var(--text)}body.light{--bg:#eef3f9;--panel:white;--panel2:#f6f9ff;--text:#19263c;--muted:#667a96;--border:#dce4ef;--accent:#225bd4}button,input,textarea,select{font:inherit}button{background:var(--accent);color:white;border:0;border-radius:9px;padding:10px 16px;cursor:pointer}button:hover{filter:brightness(1.08)}button.outline{border:1px solid var(--border);background:var(--panel2);color:var(--text)}button.danger{background:#8e3146}input,select,textarea{display:block;width:100%;background:var(--panel2);border:1px solid var(--border);border-radius:9px;padding:10px 12px;color:var(--text);outline:none}textarea{resize:vertical}label{font-weight:600;font-size:13px;display:block}label input,label textarea,label select{margin-top:6px;font-weight:400}a{color:var(--accent)}h1{font-size:26px;letter-spacing:-.7px;margin:0}h2{font-size:18px;margin:0 0 18px}.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:2px}.login{max-width:400px;margin:15vh auto;padding:35px;background:var(--panel);border:1px solid var(--border);border-radius:22px;text-align:center}.login .logo{font-size:54px;color:var(--accent)}.login button{width:100%;margin-top:15px}.app{display:flex;min-height:100vh}.sidebar{width:258px;min-width:258px;background:var(--panel2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 14px;position:sticky;top:0;height:100vh}.brand{font-size:19px;font-weight:850;letter-spacing:1px;padding:8px 12px 30px}.brand span{color:var(--accent);font-size:27px}.brand small{display:block;margin-left:37px;font-size:10px;color:var(--muted);letter-spacing:2px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{background:transparent;text-align:left;color:var(--muted);padding:11px 13px}.sidebar nav button.active,.sidebar nav button:hover{background:#447acc30;color:var(--text)}.sidebarfoot{margin-top:auto;padding:12px;color:var(--muted)}.sidebarfoot button{width:100%;margin-top:18px}.content{width:100%;min-width:0;max-width:1700px;margin:auto;padding:26px 36px}.content header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.headeractions{display:flex;gap:10px;align-items:center}.headeractions select{min-width:220px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px}.statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}.stat b{display:block;font-size:29px;margin:8px 0}.stat small{color:var(--muted)}.progress{height:12px;border-radius:20px;background:var(--panel2);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);width:0}.hidden{display:none!important}.gridform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wide{grid-column:1/-1}.between{display:flex;align-items:center;justify-content:space-between;gap:14px}.projectgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.project{background:var(--panel2);border:1px solid var(--border);padding:20px;border-radius:12px}.project h3{margin:0}.inlineactions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.inlineactions input[type=file]{max-width:390px}.codebox{white-space:pre-wrap;word-break:break-word;padding:16px;background:var(--panel2);border-radius:10px}.linkgrid{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.linkgrid a{border:1px solid var(--border);padding:12px 15px;border-radius:10px;text-decoration:none}.filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;align-items:end;margin-bottom:23px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px;vertical-align:top}th{font-size:12px;color:var(--muted)}td{font-size:13px}td .excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:470px}.pill{font-size:11px;background:#517cdd35;padding:5px 8px;border-radius:15px;white-space:nowrap}.tablewrap button{font-size:12px;padding:7px 11px}#notice:not(:empty){background:var(--panel);padding:12px 18px;border-left:3px solid var(--accent);margin-bottom:20px}.menu{display:none}dialog{width:min(850px,94vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:17px;color:var(--text);padding:0}dialog::backdrop{background:#050914c9}.dialogcontent{padding:26px}dialog h2{margin:0}@media(max-width:950px){.sidebar{width:215px;min-width:215px}.content{padding:18px}.filters{grid-template-columns:repeat(3,1fr)}.statgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.sidebar{position:fixed;z-index:10;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}.menu{display:block}.content header{flex-wrap:wrap}.headeractions{width:100%}.headeractions select{min-width:0;flex:1}.statgrid,.gridform{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:17px}}
