:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#24382e;background:#f8f9f5;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.file-button{cursor:pointer;border:0;background:#294d3b;color:white;padding:12px 20px;border-radius:9px;transition:.18s}button:hover,.file-button:hover{filter:brightness(.94);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{display:block;width:100%;background:#fff;border:1px solid #dce2d9;border-radius:8px;padding:12px;color:#24382e;outline:none}input:focus,select:focus,textarea:focus{border-color:#5e8764;box-shadow:0 0 0 3px #5e876415}label{display:block;font-weight:500;margin:18px 0}label small{display:block;margin-top:7px;color:#859085;font-size:12px}label input,label select,label textarea{margin-top:8px}[hidden]{display:none!important}h1,h2,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;font-weight:550}h2{font-size:21px;font-weight:550}p{line-height:1.8;color:#7b877d}.brand{font-size:27px;font-weight:650;letter-spacing:2px}.brand span{display:block;font-size:9px;letter-spacing:4px;font-weight:400;margin:8px 0 0 33px;color:#8b998b}aside{position:fixed;left:0;top:0;width:230px;height:100vh;background:#eef2eb;border-right:1px solid #e2e7dd;padding:38px 28px;display:flex;flex-direction:column}nav{margin-top:60px;display:grid;gap:10px}.nav{background:transparent;color:#7c887c;text-align:left;padding:14px 18px}.nav.active{background:#dde6d8;color:#294d3b;font-weight:600}.aside-bottom{margin-top:auto}.tz{font-size:12px;color:#56735a;line-height:1.9;padding-bottom:22px;border-bottom:1px solid #dce3d6}.tz small{color:#929c8d;font-size:10px}.text-button{background:transparent;color:#6e806f;padding-left:0;margin-top:15px}main{margin-left:230px;padding:52px 5vw 25px;max-width:1650px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;gap:20px}header p{margin:10px 0 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#7d927e;margin-bottom:16px}.stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid #e1e6da;border-radius:15px;background:#fff;padding:25px 0}.stats>div{padding:0 30px;border-right:1px solid #e6e9e1}.stats>div:last-child{border:0}.stats span,.stats small{display:block;color:#87917f;font-size:12px}.stats strong{font-size:38px;display:block;margin:13px 0;font-weight:500}.stats .status-stat strong{font-size:23px;margin-top:22px;margin-bottom:21px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px;gap:15px}.toolbar input{width:210px;background:transparent}.tabs{display:flex;gap:10px}.tabs button{background:transparent;color:#85907e;padding:9px 17px}.tabs .selected{background:#e7ecdf;color:#34513c}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid #e1e6dc;border-radius:13px;padding:25px;position:relative}.card.disabled{opacity:.6}.card-top{display:flex;align-items:center;gap:12px}.card-icon{background:#f4efe1;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;font-size:20px;color:#af8852}.card.lunar .card-icon{background:#eceaf5;color:#8b7ba2}.card.date .card-icon{background:#eaf0eb;color:#76937a}.card h2{font-size:17px;margin:0 0 5px}.tag{font-size:10px;color:#99a08e}.card-date{display:flex;align-items:end;justify-content:space-between;margin:26px 0 20px}.card-date strong{font-size:24px;font-weight:500}.card-date small{display:block;font-size:11px;color:#899381;margin-top:7px}.countdown{color:#75916b;font-size:12px}.card-note{font-size:12px;color:#8c9586;white-space:pre-line;margin:0 0 18px;max-height:70px;overflow:auto}.card-bottom{border-top:1px solid #edf0e8;padding-top:15px;display:flex;justify-content:space-between;align-items:center}.card-bottom span{font-size:10px;color:#98a18f}.card-actions{display:flex;gap:12px}.card-actions button{background:transparent;color:#718168;font-size:11px;padding:4px}.card-actions .danger{color:#aa7970}.empty{grid-column:1/-1;text-align:center;padding:75px 25px;border:1px dashed #d4ddcd;border-radius:15px;color:#87917e}.empty strong{display:block;font-size:22px;font-weight:400;margin-bottom:12px}.panel{max-width:750px;background:#fff;border:1px solid #e1e6dc;border-radius:14px;padding:30px;margin-bottom:22px}.panel label{max-width:600px}.secondary{color:#536c50;background:#edf1e8;border:1px solid #dce4d5}.actions{display:flex;align-items:center;gap:12px}.check{display:flex;align-items:center;gap:10px}.check input{display:inline;width:16px;height:16px;margin:0;accent-color:#3c6746}.muted{color:#8b9585;font-size:12px}.notes p{font-size:12px}.file-button{display:inline-block;margin:0;font-weight:400}.section-heading{display:flex;justify-content:space-between;align-items:center}.log-row{padding:20px;background:#fff;border:1px solid #e3e8dc;display:flex;justify-content:space-between;gap:20px;margin:10px 0;border-radius:10px}.log-row small{display:block;color:#909b87;margin-top:7px}.log-row .sent{color:#507c4f}.log-row .failed,.log-row .retry{color:#b2794e}.log-row code{font:inherit;font-size:11px}footer{border-top:1px solid #e1e6d9;color:#a0a795;font-size:10px;margin-top:55px;padding-top:25px;display:flex;justify-content:space-between}dialog{border:1px solid #dde5d7;border-radius:17px;width:560px;max-width:calc(100% - 24px);max-height:92vh;padding:30px;box-shadow:0 25px 100px #1c302b26}dialog::backdrop{background:#1e302960;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.icon{background:none;color:#88987e;font-size:26px;padding:5px 10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-row label{min-width:0}.dialog-actions{justify-content:flex-end;border-top:1px solid #e5eadd;padding-top:20px;margin-top:25px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#294d3b;color:#fff;padding:14px 25px;border-radius:10px;z-index:10;max-width:90vw;box-shadow:0 5px 25px #0002}.login{max-width:470px;margin:12vh auto;padding:30px}.login h1{font-size:42px;line-height:1.5;margin-top:65px}.login form{margin-top:35px}.login form button{width:100%;margin:15px 0 35px}.login small{color:#9aa68e;font-size:11px}
@media(min-width:1500px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){aside{width:185px;padding:30px 18px}main{margin-left:185px;padding:35px 25px}.stats>div{padding:0 20px}.cards{grid-template-columns:1fr}header h1{font-size:25px}}@media(max-width:620px){aside{position:relative;width:100%;height:auto;padding:20px;display:block;border-bottom:1px solid #e0e6d9}.brand{font-size:22px}.brand span{display:none}nav{display:flex;gap:4px;margin-top:20px}.nav{flex:1;padding:10px 6px;font-size:12px;text-align:center}.aside-bottom{position:absolute;top:10px;right:20px}.aside-bottom .tz{display:none}main{margin:0;padding:30px 20px}.stats{padding:20px 0}.stats>div{padding:0 12px}.stats strong{font-size:29px}.stats .status-stat strong{font-size:17px;margin:20px 0}.stats small{font-size:9px}.stats span{font-size:10px}header{align-items:flex-start}header h1{font-size:22px}header button{padding:10px;white-space:nowrap;font-size:12px}header p{font-size:11px}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}.card{padding:22px}footer span{display:none}.panel{padding:22px}.actions{flex-wrap:wrap}dialog{padding:22px}.login{margin:6vh auto}.log-row{font-size:12px}}
