:root{--ink:#18323b;--muted:#71848a;--line:#e4ebec;--bg:#f4f8f7;--teal:#087f79;--pale:#e4f3ef}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px "DM Sans",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.hide{display:none!important}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 10%,#dcefeb,transparent 35%),var(--bg)}.loginbox{background:white;border:1px solid var(--line);border-radius:22px;padding:42px;width:min(440px,100%);box-shadow:0 16px 45px #19343b12}.logo{width:45px;height:45px;border-radius:13px;background:var(--ink);color:white;display:grid;place-items:center;font:800 15px Manrope;margin-bottom:27px}.loginbox small,header small,.modalhead small{font-size:10px;font-weight:700;letter-spacing:1.4px;color:var(--teal)}h1{font:800 42px/1 Manrope;letter-spacing:-2px;margin:12px 0}h1 em{color:var(--teal);font-style:normal}.loginbox p{color:var(--muted);line-height:1.7;margin:18px 0 28px}.loginbox label,.fields label{display:block;font-size:11px;font-weight:700}.loginbox input,.fields input,.fields select,.fields textarea,#search,#filter{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;margin:7px 0 13px;background:white;color:var(--ink);outline:none}.primary{background:var(--teal);color:white;padding:11px 15px;border-radius:8px;font-weight:700}.loginbox .primary{width:100%;margin-top:5px}.hint{font-size:11px;color:var(--muted);margin-top:15px}.layout{min-height:100vh;display:grid;grid-template-columns:225px 1fr}aside{background:white;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;margin:0 7px 48px;font:700 14px Manrope}.brand .logo{width:36px;height:36px;margin:0}.brand small{font-size:9px;letter-spacing:2px;color:var(--muted)}.navlabel{font-size:9px;letter-spacing:1.5px;color:#9aa8aa;margin:0 10px 12px}.nav{display:block;width:100%;text-align:left;padding:12px;background:transparent;color:#657a80;border-radius:8px;margin:2px 0;font-weight:600}.nav.active{background:var(--pale);color:var(--teal)}.sidefoot{margin-top:auto;font-size:11px;color:var(--muted)}.sidefoot button{display:block;background:transparent;color:var(--muted);padding:14px 0}.main{padding:34px 40px;max-width:1600px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}header h2{font:800 27px Manrope;margin:5px 0}#who{font-size:10px;color:var(--muted);margin-right:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:34px}.stats article,.card{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.stats small{display:block;color:#87999d;font-size:9px;letter-spacing:1px;font-weight:700}.stats strong{display:block;font:800 29px Manrope;margin:8px 0 3px}.stats span{font-size:10px;color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px;gap:15px}.sectionhead h3{font:800 18px Manrope;margin:0 0 5px}.sectionhead p{font-size:11px;color:var(--muted);margin:0}.sectionhead input,.sectionhead select{display:inline-block;width:auto;min-width:150px;margin:0 0 0 7px}.tablebox{background:white;border:1px solid var(--line);border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:750px}th{text-align:left;font-size:9px;letter-spacing:1px;color:#8a999c;background:#fbfcfc;padding:14px;border-bottom:1px solid var(--line)}td{padding:14px;border-bottom:1px solid #edf1f1;font-size:11px}td small{display:block;color:var(--muted);font-size:10px;max-width:290px;margin-top:4px;line-height:1.4}.empty{text-align:center;color:var(--muted);padding:40px}.tag{display:inline-block;background:#eef4f3;color:#54716f;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700}.star{background:transparent;color:#aab5b5;font-size:17px}.star.on{color:#e4a33f}.linkbtn{background:transparent;color:var(--teal);font-size:10px;font-weight:700;padding:4px}.nowrap{white-space:nowrap}.cards{display:grid;gap:12px}.grid{grid-template-columns:repeat(3,1fr)}.card h4{font:700 14px Manrope;margin:10px 0}.card p{font-size:11px;line-height:1.6;color:#60767b;white-space:pre-wrap}.card a{color:var(--teal);font-size:10px}.cardtop{display:flex;justify-content:space-between;align-items:center}.cardtop small{color:var(--muted);font-size:10px}.emptybox{padding:35px;text-align:center;background:white;border:1px dashed #cad8d8;border-radius:12px;color:var(--muted)}footer{margin-top:45px;color:#9aabad;font-size:9px;letter-spacing:1px}footer span{float:right;letter-spacing:0}dialog{border:0;border-radius:15px;width:min(640px,calc(100% - 28px));padding:0;box-shadow:0 20px 70px #0b242b44}dialog::backdrop{background:#0e282e88;backdrop-filter:blur(3px)}dialog form{padding:25px}.modalhead{display:flex;justify-content:space-between;margin-bottom:20px}.modalhead h3{font:800 20px Manrope;margin:5px 0}.x{border-radius:50%;width:30px;height:30px;font-size:20px;background:#eff4f3}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.fields label.wide{grid-column:1/-1}.fields input,.fields select,.fields textarea{font-size:11px}.fields textarea{resize:vertical}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.secondary{background:white;border:1px solid var(--line);padding:10px 14px;border-radius:8px}#toast{position:fixed;bottom:22px;right:22px;background:#183a40;color:white;padding:12px 17px;border-radius:8px;font-size:11px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1}@media(max-width:950px){.main{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:185px 1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.layout{display:block}aside{padding:12px;display:block;border:0;border-bottom:1px solid var(--line)}.brand{margin:0 4px 12px}.navlabel,.sidefoot{display:none}.nav{display:inline-block;width:auto;font-size:10px;padding:8px}.main{padding:20px 12px}header h2{font-size:20px}#who{display:none}.stats{gap:7px}.stats article{padding:12px}.stats strong{font-size:23px}.sectionhead{display:block}.sectionhead>div:last-child{margin-top:13px}.sectionhead input{width:55%}.sectionhead select{width:40%}.grid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.fields label.wide{grid-column:auto}.loginbox{padding:30px 23px}}