.lion-mascot-layer[data-v-a98a3b8d]{position:fixed;inset:0;z-index:12;overflow:hidden;pointer-events:none}.lion-mascot[data-v-a98a3b8d]{position:absolute;left:0;top:0;width:170px;height:190px;padding:0;border:0;background:transparent;pointer-events:none;will-change:transform}.lion-direction[data-v-a98a3b8d]{display:block;width:100%;height:100%;transform:scaleX(var(--lion-direction));transition:transform .16s ease}.lion-art[data-v-a98a3b8d]{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 9px 8px rgb(27 55 44 / 20%));transform-origin:50% 92%;animation:lion-idle-a98a3b8d 2.4s ease-in-out infinite alternate}.lion-mascot.is-running .lion-art[data-v-a98a3b8d]{animation:lion-run-a98a3b8d .34s ease-in-out infinite}.lion-mascot.is-welcoming .lion-art[data-v-a98a3b8d]{animation:lion-welcome-a98a3b8d .68s cubic-bezier(.2,.85,.25,1.2) 3}.lion-mascot.is-grumpy .lion-art[data-v-a98a3b8d]{animation:lion-grumpy-a98a3b8d .16s ease-in-out 7;filter:drop-shadow(0 9px 8px rgb(27 55 44 / 20%)) saturate(1.18)}.lion-mascot.is-eating .lion-art[data-v-a98a3b8d]{animation:lion-eat-a98a3b8d .52s ease-in-out infinite}.lion-mascot.is-stretching .lion-art[data-v-a98a3b8d]{animation:lion-stretch-a98a3b8d 1.7s cubic-bezier(.2,.8,.25,1)}.lion-mascot.is-tail-chasing .lion-art[data-v-a98a3b8d]{animation:lion-tail-chase-a98a3b8d .46s ease-in-out infinite alternate}.lion-mascot.is-grooming .lion-art[data-v-a98a3b8d]{animation:lion-groom-a98a3b8d .62s ease-in-out infinite}.lion-mascot.is-yawning .lion-art[data-v-a98a3b8d]{animation:lion-yawn-a98a3b8d 1.9s ease-in-out}.lion-mascot.is-pouncing .lion-art[data-v-a98a3b8d]{animation:lion-pounce-a98a3b8d .62s cubic-bezier(.2,.85,.25,1.16) 2}.lion-speech[data-v-a98a3b8d]{position:absolute;z-index:2;left:88px;top:4px;min-width:126px;padding:8px 11px;border:2px solid #edc98d;border-radius:15px 15px 15px 4px;background:#fffaf0;color:#285c49;box-shadow:0 4px #5e442524;font-size:12px;line-height:1.35;white-space:nowrap;transform:scaleX(var(--lion-direction, 1))}.is-workspace .lion-speech[data-v-a98a3b8d]{border-color:#f0c484}.lion-mascot.is-corner .lion-speech[data-v-a98a3b8d]{right:92px;left:auto;border-radius:15px 15px 4px}.lion-snack[data-v-a98a3b8d]{position:absolute;z-index:3;right:24px;bottom:32px;font-size:34px;filter:drop-shadow(0 3px 2px rgb(94 68 37 / 18%));animation:lion-snack-a98a3b8d .8s ease-in-out infinite alternate}@keyframes lion-idle-a98a3b8d{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}@keyframes lion-run-a98a3b8d{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(3deg)}}@keyframes lion-welcome-a98a3b8d{0%,to{transform:translateY(0) rotate(-3deg) scale(1)}45%{transform:translateY(-24px) rotate(5deg) scale(1.05)}}@keyframes lion-grumpy-a98a3b8d{0%,to{transform:translate(0) rotate(-2deg)}50%{transform:translate(7px) rotate(3deg)}}@keyframes lion-eat-a98a3b8d{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(2px) rotate(2deg) scale(.985)}}@keyframes lion-snack-a98a3b8d{0%{transform:translateY(0) rotate(-5deg) scale(.96)}to{transform:translateY(-7px) rotate(5deg) scale(1.04)}}@keyframes lion-stretch-a98a3b8d{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(7px) scaleX(1.1) scaleY(.9) rotate(-2deg)}68%{transform:translateY(-5px) scaleX(.96) scaleY(1.08) rotate(2deg)}}@keyframes lion-tail-chase-a98a3b8d{0%{transform:translate(-7px) rotate(-9deg)}to{transform:translate(7px) rotate(10deg)}}@keyframes lion-groom-a98a3b8d{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(3px) rotate(4deg) scale(.98)}}@keyframes lion-yawn-a98a3b8d{0%,to{transform:translateY(0) scale(1)}35%,65%{transform:translateY(5px) scaleX(1.06) scaleY(.94)}}@keyframes lion-pounce-a98a3b8d{0%,to{transform:translateY(0) rotate(-3deg) scale(1)}45%{transform:translateY(-25px) rotate(5deg) scale(1.04)}}@media(max-width:800px){.lion-mascot[data-v-a98a3b8d]{width:124px;height:142px}.lion-speech[data-v-a98a3b8d]{left:66px;min-width:108px;padding:7px 9px;font-size:11px}.lion-mascot.is-corner .lion-speech[data-v-a98a3b8d]{right:66px}.lion-snack[data-v-a98a3b8d]{right:18px;bottom:24px;font-size:27px}}@media(prefers-reduced-motion:reduce){.lion-art[data-v-a98a3b8d],.lion-mascot.is-running .lion-art[data-v-a98a3b8d],.lion-mascot.is-welcoming .lion-art[data-v-a98a3b8d],.lion-mascot.is-grumpy .lion-art[data-v-a98a3b8d],.lion-mascot.is-eating .lion-art[data-v-a98a3b8d],.lion-mascot.is-stretching .lion-art[data-v-a98a3b8d],.lion-mascot.is-tail-chasing .lion-art[data-v-a98a3b8d],.lion-mascot.is-grooming .lion-art[data-v-a98a3b8d],.lion-mascot.is-yawning .lion-art[data-v-a98a3b8d],.lion-mascot.is-pouncing .lion-art[data-v-a98a3b8d],.lion-snack[data-v-a98a3b8d]{animation-duration:1ms;animation-iteration-count:1}}:root{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:#26352f;background:#f6f2e9;font-synthesis:none}body{margin:0}button,input{font:inherit}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;position:relative;background:radial-gradient(circle at 20% 20%,#fffaf0 0,#f4efe4 42%,#e8eee7)}.intro{padding:10vh 9vw;display:flex;flex-direction:column;justify-content:center}.seal{width:52px;height:52px;border:1px solid #b87272;color:#a65f65;display:grid;place-items:center;font-family:serif;font-size:26px;margin-bottom:36px}.eyebrow{letter-spacing:.22em;color:#64786f;font-size:13px}.intro h1{font-family:Yu Mincho,"Noto Serif JP",serif;font-size:clamp(45px,6vw,78px);font-weight:500;letter-spacing:.1em;margin:12px 0;color:#1f493b}.subtitle{font-family:serif;font-size:18px;color:#68736d}.brush-line{height:1px;width:220px;background:linear-gradient(90deg,#315b4b,transparent);margin-top:30px}.login-panel{display:grid;place-items:center;padding:32px;background:#ffffff59;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card{width:min(390px,100%);background:#fffdf8f0;padding:46px 42px;border-radius:4px;box-shadow:0 20px 60px #293f361f;border:1px solid rgba(61,92,80,.12)}.kicker{color:#a6676c;letter-spacing:.18em;font-size:12px}.card h2{font-family:serif;font-size:30px;font-weight:500;margin:8px 0}.hint{color:#7b8580;margin-bottom:28px}.submit{width:100%;margin-top:8px;letter-spacing:.12em}.error{color:#b34c55;font-size:13px}.footnote{text-align:center;color:#9aa19d;font-size:12px;margin:26px 0 0}.assistant{position:fixed;right:28px;bottom:24px;border:0;border-radius:30px;background:#244d3f;color:#fff;padding:12px 18px;display:flex;gap:8px;align-items:center;box-shadow:0 8px 22px #244d3f40}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.shell aside{background:#193d33;color:#eef3ed;padding:40px 28px}.shell aside h2{font-family:serif;letter-spacing:.18em}.shell aside p{font-size:12px;color:#b9c7c1;margin-bottom:38px}.shell nav{display:grid;gap:8px}.shell nav a{padding:11px 14px;border-radius:4px;color:#c9d5d0}.shell nav .active{background:#ffffff18;color:#fff}.dashboard{padding:48px 6vw}.dashboard header{display:flex;justify-content:space-between;align-items:center}.dashboard header h1{font-family:serif;font-size:38px;margin:6px 0}.dashboard header button{border:1px solid #9aa9a3;background:transparent;padding:8px 16px}.welcome{margin-top:46px;background:#fffdf8;border-left:4px solid #b77a7d;padding:26px 30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.stats article{background:#fff;padding:28px;border:1px solid #e4e4dd;display:grid;gap:6px}.stats strong{font-size:34px;color:#244d3f}.stats span{color:#7b8580}@media(max-width:800px){.login-page{grid-template-columns:1fr}.intro{padding:50px 28px 20px}.login-panel{padding:20px 20px 80px}.shell{grid-template-columns:1fr}.shell aside{display:none}.stats{grid-template-columns:1fr}}:root{--forest:#174537;--forest2:#0f3329;--cream:#f7f4ed;--line:#e7e8e3;--muted:#7f8a84;--shadow:0 8px 28px rgba(26,61,49,.07)}*{box-sizing:border-box}.workspace{min-height:100vh;background:var(--cream);color:#263b33;font-family:Inter,Microsoft YaHei,sans-serif}.side{position:fixed;inset:0 auto 0 0;width:224px;padding:28px 20px;color:#fff;background:linear-gradient(160deg,var(--forest),var(--forest2));z-index:4}.brand{font:28px STSong,serif}.brand span{display:inline-block;width:7px;height:7px;margin-left:4px;border-radius:50%;background:#6bd296;vertical-align:top}.side h2{font:18px STSong,serif;margin:35px 0 7px}.side>small{color:#adc3ba;font-size:10px}.rule{height:1px;background:#ffffff18;margin:25px 0}.side>label{font-size:11px;color:#a9beb6}.side nav{display:grid;gap:4px;margin:10px 0}.side nav button{border:0;background:transparent;color:#e5efeb;text-align:left;border-radius:7px;padding:11px 8px}.side nav button:hover,.side nav button.active{background:#ffffff18}.side nav i{display:inline-block;width:32px;font-style:normal}.storage{position:absolute;left:16px;right:16px;bottom:88px;padding:14px;border-radius:10px;background:#ffffff0b;font-size:11px}.storage p span{float:right}.storage>div{height:6px;border-radius:4px;background:#ffffff1c}.storage>div i{display:block;width:61%;height:100%;border-radius:4px;background:#71d2aa}.side footer{position:absolute;left:18px;right:18px;bottom:20px;display:flex;align-items:center;gap:9px}.portrait{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f0d8c8;font-size:23px}.side footer b{font-size:13px}.side footer small{display:block;color:#b7c9c2;font-weight:400;margin-top:3px}.side footer button{margin-left:auto;border:0;background:transparent;color:#d4e2dc}.content{margin-left:224px;padding:22px 30px 60px;min-height:100vh}.top{height:54px;display:flex;align-items:center;gap:12px}.search{display:flex;align-items:center;gap:8px;width:min(470px,55vw);padding:0 14px;height:42px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.search input{border:0;outline:0;flex:1}.top>.plain{margin-left:auto}.plain{border:0;background:transparent}.primary{border:0;border-radius:7px;background:var(--forest);color:#fff;padding:11px 17px}.heading{margin:24px 0}.heading p{font-size:11px;letter-spacing:.15em;color:#557268}.heading h1{font:32px STSong,serif;margin:9px 0}.heading span{font-size:13px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats article,.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.stats article{padding:18px}.stats span,.stats em{display:block;font-size:11px;color:var(--muted);font-style:normal}.stats b{display:block;font-size:25px;margin:14px 0 6px}.stats small{font-size:11px}.dashboard-grid{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:14px;margin-top:16px}.card{padding:18px}.card h3{margin:0 0 16px;font-size:14px}.continue{display:flex;gap:15px}.book{width:70px;height:92px;padding:18px 8px;background:#eee5d5;border:1px solid #ded1b9;border-radius:5px;font:12px serif;text-align:center}.continue p{font-size:11px;color:var(--muted)}.continue button,.library-tools button{border:0;border-radius:6px;padding:9px 12px}.mini-file{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0ec;font-size:11px}.mini-file i,.file-name i{width:32px;height:35px;display:grid;place-items:center;border-radius:5px;color:#fff;font-size:9px;font-style:normal}.pdf{background:#c95550}.ppt{background:#d88b39}.doc{background:#4d82ba}.mp3{background:#9569b5}.mini-file small{display:block;color:var(--muted);margin-top:4px}.mini-file em{font-style:normal;color:#3e785f}.note textarea{width:100%;height:116px;border:0;resize:none;background:#fffaf0;padding:12px;line-height:1.8;outline:0}.section-title{font-size:17px;margin-top:28px}.folders{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.folders article,.folders>button{min-height:82px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:16px;text-align:left}.folders article{display:grid;grid-template-columns:36px 1fr}.folders article span{font-size:23px;grid-row:1/3}.folders small{font-size:10px;color:var(--muted);margin-top:5px}.folders>button{border-style:dashed;color:#34705a;text-align:center}.library-tools{display:flex;justify-content:space-between;margin-bottom:14px}.library-tools>div button{background:transparent}.library-tools>div .active{background:#e9f0eb;color:#225640}.material-table{padding:5px 16px}.table-head,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr .7fr 34px;gap:16px;align-items:center;padding:14px 8px;font-size:12px}.table-head{color:var(--muted);border-bottom:1px solid var(--line)}.table-row{border-bottom:1px solid #f0f0ec}.table-row:last-child{border:0}.file-name{display:flex;align-items:center;gap:10px}.table-row>button{border:0;background:transparent;color:#c7953e;font-size:19px}.tasks{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.tasks article>label{display:block;padding:13px 0;border-bottom:1px solid var(--line)}.tasks input{margin-right:10px}.tasks .primary{margin-top:18px}.calendar>div{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.calendar span,.calendar b{padding:12px}.calendar .today{background:#215642;color:#fff;border-radius:50%}.empty-state{text-align:center;padding:80px}.empty-state>span{font-size:46px}.ai-fab{position:fixed;right:24px;bottom:24px;z-index:10;border:0;border-radius:28px;background:var(--forest);color:#fff;padding:10px 18px;box-shadow:0 10px 30px #173f3344}.ai-fab span{font-size:22px;margin-right:7px}.assistant-panel{position:fixed;right:18px;top:18px;bottom:18px;width:355px;z-index:20;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px #173f3340;overflow:hidden}.assistant-panel header{display:flex;justify-content:space-between;padding:18px;background:#f2f6f2}.assistant-panel header small{display:block;color:var(--muted);margin-top:4px}.assistant-panel header button,.modal-x{border:0;background:transparent;font-size:22px}.chat{flex:1;overflow:auto;padding:16px}.chat article{max-width:88%;margin:12px 0;padding:11px 13px;border-radius:10px;font-size:12px;line-height:1.65}.chat .assistant{background:#f2f5f1}.chat .user{margin-left:auto;background:#dcebe3}.quick{display:flex;gap:5px;padding:0 12px}.quick button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px;font-size:10px}.assistant-panel footer{display:flex;padding:12px}.assistant-panel footer input{flex:1;border:1px solid #b7c9c1;border-radius:9px 0 0 9px;padding:11px;outline:0}.assistant-panel footer button{width:45px;border:0;background:var(--forest);color:#fff;border-radius:0 9px 9px 0}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#183c3055}.modal>section{position:relative;width:min(480px,90vw);padding:28px;background:#fff;border-radius:13px}.modal-x{position:absolute;right:18px;top:14px}.modal>section>p{color:var(--muted);font-size:12px}.drop{margin:20px 0;padding:45px;text-align:center;border:2px dashed #b8cbc2;border-radius:10px;font-size:28px}.drop b,.drop small{display:block;font-size:13px;margin-top:8px}.drop small{color:var(--muted);font-weight:400}.modal-actions{text-align:right}.modal-actions button{border:0;padding:10px 17px;border-radius:7px;margin-left:8px}@media(max-width:1100px){.folders{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid .note{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.side{width:72px;padding:24px 10px}.side h2,.side>small,.side>label,.side nav button:not(.active),.side nav button.active{font-size:0}.side nav i{font-size:18px;width:100%;text-align:center}.brand{font-size:20px}.storage,.side footer b,.side footer button{display:none}.content{margin-left:72px;padding:16px}.folders{grid-template-columns:1fr 1fr}.dashboard-grid,.tasks{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.assistant-panel{left:82px;width:auto}.table-head,.table-row{grid-template-columns:1.8fr 1fr 34px}.table-head span:nth-child(3),.table-head span:nth-child(4),.table-row>span:nth-child(3),.table-row>span:nth-child(4){display:none}}.login-page .card{width:min(390px,100%);padding:46px 42px;border-radius:4px}.workspace .card{padding:18px;border-radius:10px}.tasks label.done{text-decoration:line-through;color:#96a09b}.drop{display:block;cursor:pointer;background:#fbfcfa;transition:.2s}.drop:hover{border-color:#54816f;background:#f4f8f5}.drop input,.file-select input{display:none}.file-select{display:inline-block;cursor:pointer}@media(max-width:800px){.intro{padding:34px 28px 14px}.intro .seal{margin-bottom:18px}.intro h1{font-size:38px}.brush-line{margin-top:12px}.login-panel{padding:14px 18px 74px}.login-page .card{padding:28px}.assistant{right:18px;bottom:16px}}.workspace .material-table{width:100%;max-width:none;padding:6px 18px}.workspace .table-head,.workspace .table-row{grid-template-columns:minmax(320px,2.4fr) minmax(110px,.8fr) minmax(120px,.8fr) 90px 150px}.workspace .file-name{min-width:0}.workspace .file-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.row-actions button{height:32px;border:1px solid #dfe5e0;border-radius:6px;background:#fff;color:#315e4d;padding:0 10px;white-space:nowrap}.row-actions button:first-child{width:34px;padding:0;color:#c7953e;font-size:18px}.row-actions button:hover{background:#edf4ef;border-color:#aac0b6}.workspace .content{max-width:none}.side .rule{margin:18px 0}.side nav{gap:2px}.side nav button{padding:9px 8px}.side .storage{bottom:86px;padding:11px 14px}.side .storage p{margin:8px 0}@media(max-width:1050px){.workspace .table-head,.workspace .table-row{grid-template-columns:minmax(240px,2fr) 110px 110px 130px}.workspace .table-head>span:nth-child(4),.workspace .table-row>span:nth-child(4){display:none}}.login-page{background:#f5f4ef}.login-page .intro{background:linear-gradient(155deg,#174537,#0f3329);color:#fff}.login-page .intro h1{color:#fff;letter-spacing:.08em}.login-page .eyebrow,.login-page .subtitle{color:#c7d8d1}.login-page .seal{border-color:#79a994;color:#fff}.login-page .brush-line{background:linear-gradient(90deg,#8fbaa8,transparent)}.login-page .login-panel{background:#f5f4ef;-webkit-backdrop-filter:none;backdrop-filter:none}.login-page .card{border-radius:10px;border:1px solid #e1e5df;box-shadow:0 14px 45px #14372c1f}.login-page .kicker{color:#3b6b59}.login-page .submit{border-radius:7px}.workspace .heading{margin:20px 0}.workspace .heading h1{font-family:Microsoft YaHei,sans-serif;font-size:28px;font-weight:600}.workspace .stats article,.workspace .card,.workspace .folders article,.workspace .folders>button{box-shadow:none}.workspace .stats article{padding:16px}.workspace .dashboard-grid{margin-top:14px}.workspace .file-name i{background:#61766d}.workspace .file-name i.pdf{background:#c95550}.workspace .file-name i.ppt{background:#d88b39}.workspace .file-name i.doc{background:#4d82ba}.workspace .file-name i.mp3{background:#9569b5}.drop{font-size:14px;padding:38px}.drop b{font-size:15px}@media(max-width:800px){.login-page .intro{background:linear-gradient(155deg,#174537,#0f3329)}.login-page .intro h1{font-size:34px}.login-page .login-panel{background:#f5f4ef}}.side .storage{display:none}.side footer{padding-top:14px;border-top:1px solid #ffffff18}.library-tools{min-height:40px;align-items:center}.page-message{position:fixed;top:18px;right:24px;z-index:120;max-width:min(430px,calc(100vw - 32px));margin:0;padding:12px 16px;border:1px solid #cfe2d7;border-radius:12px;background:#f0f8f3;color:#285a46;font-size:13px;line-height:1.5;box-shadow:0 12px 32px #1946362e;animation:toast-in .18s ease-out;pointer-events:none}.page-message:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#d8ecdf;font-weight:700}.page-message.error{border-color:#efc9c5;background:#fff3f1;color:#9b4741}.page-message.error:before{content:"!";background:#f7d9d5}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.workspace .table-head,.workspace .table-row{grid-template-columns:minmax(320px,2.4fr) minmax(110px,.8fr) minmax(120px,.8fr) 90px 220px}.row-actions button:last-child{color:#9b4a45}.library-tools small{color:#7f8a84}.empty-row{padding:42px;text-align:center;color:#8a9690}.row-actions button:disabled{opacity:.5;cursor:not-allowed}.task-row{display:grid;grid-template-columns:24px 1fr 145px 30px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #eceeea}.task-row input{margin:0}.task-row .task-text,.task-row .task-date{height:38px;border:1px solid #dfe4df;border-radius:6px;padding:0 10px;background:#fff}.task-row.done .task-text{text-decoration:line-through;color:#96a09b}.task-row>button{border:0;background:transparent;color:#9b4a45;font-size:18px}.task-row+.primary{margin-top:16px}.cute-confirm{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#13312759;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cute-confirm section{width:min(390px,90vw);padding:30px 28px 24px;text-align:center;background:#fffdf8;border:1px solid #e2e8e2;border-radius:20px;box-shadow:0 24px 70px #11352940;animation:pop-in .18s ease-out}.cute-mascot{width:68px;height:68px;margin:-4px auto 14px;display:grid;place-items:center;border-radius:50%;background:#e5f1e9;font-size:34px}.cute-confirm h3{margin:0;color:#214d3d;font-size:20px}.cute-confirm p{margin:13px 0 7px;padding:9px 12px;border-radius:9px;background:#f4f2ec;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.cute-confirm small{display:block;color:#7a8882;line-height:1.6}.cute-confirm section>div:last-child{display:flex;justify-content:center;gap:10px;margin-top:22px}.cute-confirm button{border:1px solid #dce4de;border-radius:9px;background:#fff;padding:10px 18px;color:#375b4d}.cute-confirm .danger-soft{border-color:#e9c5c1;background:#fff0ee;color:#9b4741}.cute-confirm button:hover{transform:translateY(-1px)}.cute-confirm button:disabled{opacity:.55}@keyframes pop-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:none}}:root{--forest:#4f8d70;--forest2:#39755b;--cream:#fff6e8;--line:#eadbc7;--muted:#817b72;--shadow:0 8px 0 #6f52310f,0 16px 32px #5b442717}body{background:#fff6e8;color:#445247;font-family:Arial Rounded MT Bold,Microsoft YaHei,sans-serif}.workspace{background:radial-gradient(circle at 78% 8%,#fff0d8 0 130px,transparent 131px),linear-gradient(180deg,#fff9ef,#fff4e3)}.side{background:linear-gradient(165deg,#5b9b7a,#3d795e);border-right:4px solid #f5d49f;box-shadow:7px 0 #764d2310}.brand{font-family:Microsoft YaHei,sans-serif;font-weight:900}.brand span{background:#ffe18d;border:2px solid #fff;width:10px;height:10px}.side h2{font-family:Microsoft YaHei,sans-serif;font-weight:800}.side nav button{border:2px solid transparent;border-radius:13px;font-weight:700}.side nav button:hover{transform:translate(2px)}.side nav button.active{background:#fff9e9;color:#3d725b;border-color:#f2d5a7;box-shadow:0 4px #d5b886}.portrait{border:3px solid #fff8e9;box-shadow:0 3px #d7b47d}.top .search{border:2px solid #ead6b8;border-radius:15px;background:#fffdf7;box-shadow:0 5px #eadcc8}.primary,.top .primary{border:2px solid #fff4df;border-radius:13px;background:#4e8b6d;box-shadow:0 5px #30644e;font-weight:800}.primary:hover,.top .primary:hover{transform:translateY(2px);box-shadow:0 3px #30644e}.workspace .heading h1{color:#416c58;font-weight:900}.workspace .stats article,.workspace .card,.workspace .folders article,.workspace .folders>button{background:#fffdf8;border:2px solid #ead9bf;border-radius:18px;box-shadow:var(--shadow)}.workspace .stats article:nth-child(2){background:#f1faef}.workspace .stats article:nth-child(3){background:#fff2ea}.workspace .stats article:nth-child(4){background:#f3f0ff}.workspace .stats b{color:#477b63}.workspace .folders article:hover{transform:translateY(-3px) rotate(-.4deg);border-color:#e2ba7f}.library-tools>div{display:flex;gap:8px;padding:5px;border:2px solid #eadbc7;border-radius:16px;background:#fffdf8}.library-tools>div button{border-radius:11px;font-weight:700}.library-tools>div .active{background:#dff1e5;color:#3c745a;box-shadow:0 3px #b9d9c4}.workspace .material-table{border-radius:19px;background:#fffdf8}.workspace .table-row:hover{background:#fff6e5}.workspace .file-name i{border:2px solid #fff;box-shadow:0 3px #0002;border-radius:9px}.row-actions button{border:2px solid #e4d7c5;border-radius:11px;background:#fffefa;box-shadow:0 3px #dfd0bc;font-weight:700}.row-actions button:last-child{background:#fff0ee;border-color:#f0c7c0;box-shadow:0 3px #dfaaa3}.modal>section,.cute-confirm section{border:3px solid #efd6ad;border-radius:22px;background:#fffdf8;box-shadow:0 9px #6b4b271f,0 24px 70px #2c483933}.drop{border:3px dashed #a9ceb7;border-radius:17px;background:#f3fbf4}.cute-mascot{background:#dff1e5;border:3px solid #fff;box-shadow:0 4px #b9d4c1}.cute-confirm button{border:2px solid #dfd3c1;border-radius:13px;box-shadow:0 3px #d4c3a9;font-weight:800}.cute-confirm .danger-soft{background:#ffe7e3;border-color:#efbeb6;box-shadow:0 3px #dca49d}.task-row .task-text,.task-row .task-date{border:2px solid #e4d8c6;border-radius:11px;background:#fffef9}.login-page{background:#fff5e6}.login-page .intro{background:linear-gradient(155deg,#5d9c7c,#3e795f);border-right:5px solid #f2d09a}.login-page .card{background:#fffdf7;border:3px solid #ecd7b7;border-radius:23px;box-shadow:0 9px #754e251a,0 24px 55px #2e4a3b29}.login-page .card h2{color:#45755e;font-family:Microsoft YaHei,sans-serif;font-weight:900}.login-form{display:grid;gap:18px}.login-field{display:grid;gap:8px;color:#3c5c4f;font-size:14px;font-weight:700}.login-input-wrap{min-height:48px;display:flex;align-items:center;gap:11px;padding:0 14px;background:#fff;border:2px solid #e7dbc8;border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease}.login-input-wrap:focus-within{border-color:#5d9c7c;box-shadow:0 0 0 3px #5d9c7c24}.login-input-icon{width:16px;color:#5d7c6e;font-size:9px;text-align:center}.login-lock{font-size:10px}.login-input-wrap input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#26352f;font-size:15px}.login-input-wrap input::placeholder{color:#a0aaa4}.login-input-wrap input:disabled{cursor:wait;opacity:.7}.login-page .submit{min-height:48px;margin-top:2px;border:2px solid #fff2d8;border-radius:13px;background:#3f8064;color:#fff;box-shadow:0 5px #30644e;font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.login-page .submit:hover:not(:disabled){background:#37765b;transform:translateY(1px);box-shadow:0 4px #30644e}.login-page .submit:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #30644e}.login-page .submit:disabled{cursor:wait;opacity:.68}.login-page .error{margin:-4px 0 0;padding:10px 12px;border-radius:10px;background:#fff0ed;color:#a34a43;line-height:1.5}.top .search{position:relative;overflow:visible}.search-clear{width:27px;height:27px;border:0;border-radius:50%;background:#f4eadb;color:#806e59;font-size:17px}.search-popover{position:absolute;left:0;right:0;top:50px;z-index:50;padding:10px;background:#fffdf7;border:2px solid #ead6b8;border-radius:16px;box-shadow:0 8px #d7bea026,0 20px 48px #58422524}.search-popover>header{display:flex;justify-content:space-between;padding:7px 9px 10px;border-bottom:1px dashed #e8d9c4}.search-popover>header small{color:#8c8275}.search-popover>button{display:grid;grid-template-columns:38px 1fr;gap:9px;width:100%;padding:9px;border:0;border-radius:11px;background:transparent;text-align:left}.search-popover>button:hover{background:#eef7f0}.search-popover>button i{width:34px;height:36px;display:grid;place-items:center;border-radius:9px;background:#70877c;color:#fff;font-size:9px;font-style:normal}.search-popover>button i.pdf{background:#c95550}.search-popover>button i.doc,.search-popover>button i.docx{background:#4d82ba}.search-popover>button i.ppt,.search-popover>button i.pptx{background:#d88b39}.search-popover>button span{min-width:0}.search-popover>button b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-popover>button small{display:block;margin-top:4px;color:#8a8378}.search-popover>p{padding:22px;text-align:center;color:#8b8277}.search-popover>footer{padding:10px;text-align:center;border-top:1px dashed #e8d9c4;color:#4c8068;font-weight:700;cursor:pointer}.tasks{display:grid;grid-template-columns:minmax(620px,1.12fr) minmax(520px,.88fr);align-items:stretch;gap:20px;width:100%;max-width:1360px}.tasks>.card{width:100%;max-width:none;min-width:0;overflow:hidden}.task-card,.calendar{padding:22px!important}.task-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.task-card-heading h3{margin-bottom:9px}.task-card-heading>b{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#edf6ef;color:#3f765d;font-size:11px}.task-tip{margin:0;color:#8b8377;font-size:11px;line-height:1.6}.task-row{display:grid;grid-template-columns:24px minmax(0,1fr) 124px 30px;align-items:center;gap:10px;width:100%;min-width:0;border:2px solid transparent;border-bottom-color:#eadfce;border-radius:13px;padding:8px;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.task-row:hover{background:#fffaf0}.task-row.selected{border-color:#83b89a;background:#eef8f1;box-shadow:0 3px #bdd9c5}.task-row>input[type=checkbox]{width:16px;height:16px;margin:0}.task-row>.task-text{width:100%;min-width:0;margin:0}.task-row.selected>.task-date-button{border-color:#5c9a79;background:#fff}.task-row>.task-date-button{display:grid;place-items:center;width:100%;min-width:0;min-height:44px;overflow:hidden;border:2px solid #ead8b9;border-radius:11px;background:#fff3dc;color:#6f5a39;font-size:inherit;cursor:pointer}.task-row>.task-date-button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}.task-row>.task-date-button small{font-size:9px;color:#9a8460}.task-row>.task-date-button.empty{border-style:dashed;background:#fffdf8;color:#4d8068}.task-delete-button{justify-self:end;width:30px;min-width:30px;padding:0!important;border:0!important;background:transparent!important;color:#ad5d55!important;font-size:19px!important}.add-task-button{margin-top:18px!important}.calendar-selection{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 10px;padding:11px 13px;border:2px solid #9fc8ae;border-radius:13px;background:#eff8f1}.calendar-selection.empty{border-style:dashed;border-color:#dfd2be;background:#fffaf1}.calendar-selection div{min-width:0;display:grid;gap:4px}.calendar-selection small{padding:0;color:#72867b;font-size:10px}.calendar-selection b{padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#315f4c;font-size:13px}.calendar-selection>button,.calendar>div.calendar-shortcuts>button{border:1px solid #d8ded8;border-radius:9px;background:#fff;padding:7px 10px;color:#49695b;cursor:pointer}.calendar>div.calendar-shortcuts{display:flex;align-items:center;gap:8px;margin-bottom:10px;text-align:left}.calendar-shortcuts button:disabled{opacity:.45;cursor:not-allowed}.calendar-shortcuts span{margin-left:auto;padding:0;color:#7b6b52;font-size:10px}.calendar-grid{display:grid!important;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-grid i,.calendar-grid button{min-height:42px}.calendar-grid button{border:2px solid transparent;border-radius:50%;background:transparent;color:#31483e;font-weight:700}.calendar-grid button:not(:disabled):hover{background:#fff0d9;border-color:#efd2a4}.calendar-grid button:disabled{cursor:not-allowed;opacity:.42}.calendar-grid button.today{border-color:#4f8d70;box-shadow:inset 0 0 0 2px #fff}.calendar-grid button.chosen{position:relative;background:#ffe5aa;border-color:#e5bd68;color:#735a28}.calendar-grid button.chosen:after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#ef8c78}.calendar-grid button.active-date{background:#4f8d70;color:#fff;border-color:#fff;box-shadow:0 3px #32684f}.calendar-grid button.active-date:after{background:#fff1bc}@media(max-width:1500px){.tasks{grid-template-columns:minmax(0,1fr);max-width:760px}}@media(max-width:620px){.task-card,.calendar{padding:16px!important}.task-card-heading{gap:8px}.task-row{grid-template-columns:22px minmax(0,1fr) 28px}.task-row>.task-date-button{grid-column:2;width:100%;min-height:36px;display:flex;justify-content:space-between;padding:6px 9px}.task-delete-button{grid-column:3;grid-row:1 / 3}.calendar-shortcuts span{display:none}}.upload-category{display:flex;flex-direction:column;gap:8px;margin:20px 0 16px;text-align:left}.upload-category>span{color:#254f42;font-size:15px;font-weight:800}.upload-category .el-select{width:100%}.upload-category .el-select__wrapper{min-height:48px;border:2px solid #ead6b5;border-radius:15px;background:#fffdf8;box-shadow:none;padding:0 14px}.upload-category .el-select__wrapper.is-focused{border-color:#5c9c7d;box-shadow:0 0 0 4px #5c9c7d21}.upload-category small{color:#8c7b68;font-size:12px}.file-select.disabled{cursor:not-allowed;opacity:.65}.category-cell{display:flex;align-items:center;gap:6px;min-width:0}.category-chip{max-width:100%;border:1px solid #d8e6dd;border-radius:999px;background:#f3faf5;color:#2f6854;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.category-chip:hover{border-color:#70a88d;background:#e9f5ed}.category-chip i{margin-left:4px;font-style:normal;color:#79a18e}.category-cell .el-select{width:100%;min-width:0}.category-cell .el-select__wrapper{border-radius:10px;background:#fffdf8;box-shadow:0 0 0 1px #d8c9ad inset}.category-cell:has(.el-select){flex-wrap:wrap}.category-edit-actions{display:flex;width:100%;gap:4px}.category-edit-actions button{flex:1;border:1px solid #cadbd1;border-radius:8px;background:#fff;color:#356b57;padding:5px 7px;cursor:pointer}.category-edit-actions button:first-child{background:#4f8c70;color:#fff;border-color:#4f8c70}.upload-category>input,.project-category>input,.project-category>select,.category-cell>input{width:100%;min-width:0;height:46px;padding:0 14px;border:2px solid #ead6b5;border-radius:13px;background:#fffdf8;color:#2b4439;outline:0}.project-category>select{cursor:pointer}.category-cell>input{height:38px;border-width:1px;border-radius:10px}.upload-category>input:focus,.project-category>input:focus,.project-category>select:focus,.category-cell>input:focus{border-color:#5c9c7d;box-shadow:0 0 0 4px #5c9c7d21}.category-cell:has(>input){flex-wrap:wrap}.module-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.module-toolbar>div{display:flex;align-items:baseline;gap:7px;color:#6d7c75}.module-toolbar b{font-size:26px;color:#2d6651}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.record-card{width:auto!important;min-height:260px;display:flex;flex-direction:column}.record-card header{display:flex;align-items:center;justify-content:space-between}.record-card header small{color:#8b9690}.record-card h3{margin:18px 0 8px;font-size:18px}.record-card>p{min-height:48px;margin:0;color:#718078;line-height:1.7;font-size:13px}.status-badge{display:inline-block;width:max-content;border-radius:999px;padding:5px 9px;background:#edf3ef;color:#49685a;font-style:normal;font-size:12px}.status-badge.active,.status-badge.submitted{background:#e0f1e6;color:#26704f}.status-badge.completed,.status-badge.published{background:#e4f3ed;color:#1f7452}.status-badge.paused,.status-badge.revision{background:#fff0df;color:#a66528}.status-badge.planning,.status-badge.draft{background:#f1eef8;color:#6b5b91}.status-badge.ready{background:#e9f2fb;color:#376d9c}.record-dates{display:flex;justify-content:space-between;gap:10px;margin:18px 0 12px;color:#7e8b85;font-size:12px}.progress-label{display:flex;justify-content:space-between;font-size:12px}.record-progress{height:8px;margin-top:7px;border-radius:999px;background:#edf0ec;overflow:hidden}.record-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#69ad89,#3e8064)}.record-card footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:20px}.record-card footer button,.record-actions button{border:1px solid #dbe4de;border-radius:8px;background:#fff;padding:7px 12px;color:#376352;cursor:pointer}.danger-text{color:#a4514a!important;border-color:#efd1cd!important;background:#fff8f6!important}.module-empty{width:100%!important;padding:70px 30px!important;text-align:center}.module-empty>span{font-size:42px;color:#4f8d70}.module-empty h2{margin:14px 0 8px}.module-empty p{color:#7d8983}.publication-list{width:100%!important;padding:4px 18px!important}.publication-head,.publication-list>article{display:grid;grid-template-columns:minmax(300px,2fr) minmax(150px,1fr) 110px 120px 130px;gap:16px;align-items:center;padding:15px 8px}.publication-head{color:#7d8983;font-size:12px;border-bottom:1px solid #e6e9e5}.publication-list>article{border-bottom:1px solid #eceeea;font-size:13px}.publication-list>article:last-child{border-bottom:0}.publication-title{min-width:0}.publication-title b,.publication-title small{display:block;overflow:hidden;text-overflow:ellipsis}.publication-title b{white-space:nowrap;font-size:14px}.publication-title small{margin-top:6px;color:#849089;white-space:nowrap}.record-actions{display:flex;gap:6px}.record-modal>section{width:min(620px,92vw)}.record-form{display:grid;gap:15px;margin:20px 0}.record-form label{display:grid;gap:7px}.record-form label>span{font-size:13px;font-weight:700;color:#365f50}.record-form input,.record-form select,.record-form textarea{width:100%;border:1px solid #d8e0da;border-radius:10px;background:#fffdf8;padding:11px 12px;outline:none;color:#263b33}.record-form input:focus,.record-form select:focus,.record-form textarea:focus{border-color:#5b9678;box-shadow:0 0 0 3px #dcece3}.record-form textarea{min-height:105px;resize:vertical;line-height:1.6}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.record-modal .modal-actions{display:flex;justify-content:flex-end;gap:8px}.record-modal .modal-actions button{margin:0}.record-modal .primary:disabled{opacity:.55}@media(max-width:1150px){.research-grid{grid-template-columns:1fr 1fr}.publication-head,.publication-list>article{grid-template-columns:minmax(240px,2fr) minmax(130px,1fr) 100px 120px}.publication-head span:nth-child(4),.publication-list>article>span:nth-child(4){display:none}}@media(max-width:760px){.research-grid,.form-columns{grid-template-columns:1fr}.publication-head{display:none}.publication-list>article{grid-template-columns:1fr;gap:9px}.record-actions{justify-content:flex-end}}.record-card footer .project-files-button{margin-right:auto;border-color:#b9d9c8;background:#eef8f2;color:#28684f;font-weight:700}.project-files-modal>section{width:min(780px,94vw);max-height:86vh;display:flex;flex-direction:column}.project-files-title{display:flex;align-items:center;gap:12px}.project-files-title>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#e7f4eb;font-size:23px}.project-files-title small{display:block;margin-bottom:2px;color:#6d8277}.project-files-title h2{margin:0}.project-files-help{margin:14px 0;color:#738179;font-size:13px}.project-upload-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid #dbe8df;border-radius:14px;background:#f4faf6}.project-category{display:grid;gap:7px}.project-category>span{color:#365f50;font-size:12px;font-weight:700}.project-file-picker{display:flex!important;align-items:center;justify-content:center;min-width:150px;height:40px;cursor:pointer}.project-file-picker input{display:none}.project-file-picker.disabled{cursor:not-allowed;opacity:.55}.project-file-list{min-height:180px;max-height:360px;margin-top:14px;overflow:auto;border:1px solid #e2e8e3;border-radius:14px;background:#fff}.project-file-list article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid #edf0ed}.project-file-list article:last-child{border-bottom:0}.project-file-list article>i{display:grid;place-items:center;width:40px;height:42px;border-radius:10px;background:#6b857b;color:#fff;font-size:10px;font-style:normal;font-weight:700}.project-file-list article>span{min-width:0}.project-file-list article>span b,.project-file-list article>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-list article>span small{margin-top:5px;color:#829087;font-size:11px}.project-file-list article>div{display:flex;gap:7px}.project-file-list article button{border:1px solid #d7e2da;border-radius:9px;background:#fff;padding:7px 10px;color:#356651;cursor:pointer}.project-files-empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:180px;color:#87938d}.project-files-empty b{color:#476457}.project-files-modal .modal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.project-files-modal .modal-actions span{color:#7a8981;font-size:12px}.project-files-modal .modal-actions button{margin:0}@media(max-width:760px){.record-card footer{flex-wrap:wrap}.record-card footer .project-files-button{width:100%;margin-right:0}.project-upload-row{grid-template-columns:1fr}.project-file-picker{width:100%}.project-file-list article{grid-template-columns:40px minmax(0,1fr)}.project-file-list article>div{grid-column:2}.project-files-modal>section{max-height:92vh}}.side{display:flex;flex-direction:column;overflow-y:auto}.side footer{position:static;margin-top:auto;flex-shrink:0}.management-nav{padding-bottom:16px}.notification-wrap{position:relative;margin-left:auto}.notification-wrap>.plain{width:42px;height:42px;border-radius:50%;cursor:pointer}.notification-wrap>.plain:hover{background:#fff1d8}.notification-popover{position:absolute;right:0;top:50px;z-index:16;width:250px;padding:17px;border:2px solid #ead7b8;border-radius:16px;background:#fffdf8;box-shadow:0 12px 34px #3f342229}.notification-popover b{color:#355e4d}.notification-popover p{margin:10px 0;color:#53695f;font-size:13px}.notification-popover small{display:block;padding-top:10px;border-top:1px solid #efe4d4;color:#8c7a65}.card-empty,.task-empty{display:grid;min-height:90px;place-items:center;color:#8c928d;font-size:13px}.task-empty{min-height:76px;border:2px dashed #e6dac6;border-radius:12px}.calendar-header{display:flex;align-items:center;justify-content:space-between}.calendar-header h3{margin:0}.calendar-header button{width:34px;height:34px;border:2px solid #e5d8c4;border-radius:50%;background:#fffdf8;color:#3f6f5a;font-size:22px;cursor:pointer}.calendar-header button:hover{border-color:#84b397;background:#edf7ef}.recycle-list{width:100%;padding:0!important;overflow:hidden}.recycle-list>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eee3d2}.recycle-list>header small{color:#837d73}.recycle-batch-toolbar{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid #eadfce;background:#fff9ef}.recycle-batch-toolbar label{display:flex;align-items:center;gap:8px;font-weight:700;color:#3d6856;cursor:pointer}.recycle-batch-toolbar>span{margin-right:auto;color:#7b847e;font-size:12px}.recycle-batch-toolbar button{border:1px solid #d9e2db;border-radius:9px;background:#fff;padding:7px 11px;color:#426b59;cursor:pointer}.recycle-batch-toolbar button:disabled{cursor:not-allowed;opacity:.48}.recycle-list input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:#4d8e6d;cursor:pointer}.recycle-list>article{display:grid;grid-template-columns:22px 44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #f1e8dc;transition:background .16s}.recycle-list>article.selected{background:#f0f8f2}.recycle-list>article>i{display:grid;width:40px;height:42px;place-items:center;border-radius:9px;background:#6c8278;color:#fff;font-size:10px;font-style:normal;font-weight:800}.recycle-list>article>span{min-width:0}.recycle-list>article>span b,.recycle-list>article>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recycle-list>article>span small{margin-top:5px;color:#899189;font-size:11px}.recycle-list>article>button{border:2px solid #dbe5dd;border-radius:10px;background:#fff;padding:8px 12px;color:#386750;cursor:pointer}.recycle-list>article>.danger-text{border-color:#efc9c2;background:#fff1ef;color:#a34c45}.recycle-error{display:grid;justify-items:center;gap:9px;padding:48px 20px;text-align:center}.recycle-error b{color:#376650}.recycle-error span{color:#827b70;font-size:13px}.recycle-error .primary{margin-top:8px;cursor:pointer}.account-grid{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(420px,1.4fr);gap:16px}.account-profile{display:flex;align-items:center;gap:18px}.account-profile .portrait{width:70px;height:70px;font-size:35px}.account-profile small{color:#829086}.account-profile h2{margin:5px 0;color:#34604d}.account-profile p{margin:0;color:#738078}.permission-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.permission-card li{display:flex;align-items:center;gap:10px}.permission-card li span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e3f2e7;color:#367255;font-weight:900}.permission-card>p{margin:18px 0 0;padding:13px;border-radius:11px;background:#fff4df;color:#806d51;font-size:12px}.confirm-symbol{width:58px;height:58px;margin:0 auto 13px;display:grid!important;place-items:center;border:3px solid #fff;border-radius:50%;background:#ffe0da;color:#a94e45;font-size:30px;font-weight:900;box-shadow:0 4px #e0aaa1}.page-message{position:fixed;top:18px;z-index:120;box-shadow:0 12px 32px #1946362e}@media(max-width:900px){.account-grid{grid-template-columns:1fr}.recycle-list>article{grid-template-columns:22px 40px minmax(0,1fr) auto auto}.notification-popover{right:-70px}.top .search{width:min(360px,50vw)}}@media(max-width:620px){.recycle-summary{align-items:flex-start!important;flex-direction:column;gap:5px}.recycle-batch-toolbar{align-items:stretch;flex-wrap:wrap}.recycle-batch-toolbar>span{width:calc(100% - 70px);margin-right:0}.recycle-batch-toolbar .danger-text{margin-left:auto}.recycle-list>article{grid-template-columns:22px 40px minmax(0,1fr) auto}.recycle-list>article>span{grid-column:3/-1}.recycle-list>article>button{grid-row:2}.recycle-list>article>button:nth-last-child(2){grid-column:3}.recycle-list>article>.danger-text{grid-column:4}}@media(max-width:760px){.top{height:auto;flex-wrap:wrap}.top .search{order:1;flex:1 0 100%;width:100%;max-width:none}.top .notification-wrap{order:2;margin-left:auto}.top>.primary{order:3}.notification-popover{right:0}.content{min-width:0;overflow-x:hidden}}.box-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.box-toolbar>div{display:flex;gap:8px;padding:5px;border:2px solid #eadbc7;border-radius:16px;background:#fffdf8}.box-toolbar button{border:0;border-radius:11px;background:transparent;padding:10px 14px;color:#315f4d;font-weight:700;cursor:pointer}.box-toolbar button.active{background:#dff1e5;box-shadow:0 3px #b9d9c4}.box-toolbar .new-box-button{border:2px solid #8ebaa3;background:#fffdf8;box-shadow:0 3px #c7dbc9}.box-grid{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:24px 20px}.category-box{position:relative;min-height:158px;padding:0;border:2px solid #ead8bb;border-radius:15px;background:#fdf7ea;box-shadow:0 7px #e9ddca,0 14px 28px #4a371e17;transition:.2s}.category-box:before,.category-box:after{content:"";position:absolute;left:10px;right:10px;height:8px;border:2px solid #ead8bb;border-bottom:0;border-radius:12px 12px 0 0;background:#fffaf0}.category-box:before{top:-8px;left:18px;right:18px}.category-box:after{top:-4px;left:11px;right:11px}.category-box:hover{transform:translateY(-3px);border-color:#d9bc8d;box-shadow:0 9px #e6d6bd,0 18px 30px #4a371e1f}.box-body{position:absolute;inset:0;z-index:2;width:100%;border:0;border-radius:13px;background:transparent;color:#285542;cursor:pointer}.box-label{position:absolute;left:18px;right:18px;top:28px;display:grid;gap:6px;padding:12px 42px 12px 14px;border:1px solid #e7d3b2;border-radius:7px;background:#fffaf2;text-align:left}.box-label b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.box-label small{color:#827664}.box-handle{position:absolute;left:23px;bottom:34px;width:54px;height:19px;border:4px solid #668d79;border-radius:5px;background:#e8efe8;box-shadow:inset 0 0 0 3px #fffdf4}.box-body em{position:absolute;right:21px;bottom:31px;font-style:normal;font-size:12px;font-weight:700}.box-more{position:absolute;right:11px;top:10px;z-index:5;border:0;background:transparent;color:#6e695f;letter-spacing:2px;cursor:pointer}.box-delete{position:absolute;right:13px;bottom:6px;z-index:5;border:0;background:transparent;color:#a96961;font-size:10px;opacity:0;cursor:pointer}.category-box:hover .box-delete,.category-box:focus-within .box-delete{opacity:1}.box-create-card{display:grid;min-height:158px;place-items:center;align-content:center;gap:9px;border:2px dashed #d9c6a8;border-radius:15px;background:#fffaf1;color:#39735b;cursor:pointer}.box-create-card span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#e3f1e7;font-size:25px}.box-create-card:hover{border-color:#82ad96;background:#f8fcf7}.box-empty{width:100%!important;max-width:none;text-align:center;padding:70px 20px!important}.box-empty>span{font-size:44px;color:#719781}.box-empty h2{margin:9px 0;color:#305f4c}.box-empty p{color:#7d877f}.recent-strip{width:100%!important;max-width:none;margin-top:28px;padding:16px 20px!important}.recent-strip h3{margin-bottom:10px!important}.recent-strip>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}.recent-strip article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0}.recent-strip article+article{border-left:1px solid #eee1d0;padding-left:16px}.recent-strip i{display:grid;width:34px;height:38px;place-items:center;border-radius:7px;background:#687f74;color:#fff;font-size:9px;font-style:normal}.recent-strip span b,.recent-strip span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-strip span small,.recent-strip time{margin-top:4px;color:#8b8e87;font-size:10px}.box-detail-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:15px}.box-detail-toolbar>button{border:2px solid #e5d7c2;border-radius:10px;background:#fffdf8;padding:9px 13px;color:#36644f;cursor:pointer}.box-detail-toolbar>span{margin-right:auto;color:#817a70;font-size:12px}.box-detail-toolbar>.primary{border-color:#fff4df;color:#fff;background:#4e8b6d}.category-cell select,.upload-category select{width:100%;height:42px;border:2px solid #e4d8c6;border-radius:10px;background:#fffef9;padding:0 32px 0 11px;color:#345c4c;outline:0}.category-cell select{height:36px}.box-editor-modal>section{width:min(430px,90vw);text-align:center}.box-editor-icon,.confirm-box-icon{display:grid;width:62px;height:50px;margin:0 auto 12px;place-items:center;border:3px solid #d9c39e;border-radius:10px;background:#fff3db;color:#47745f;font-size:29px;box-shadow:0 4px #e8dac2}.box-editor-modal .upload-category{text-align:left}.recycled-box-row>i{background:#e8dec9!important;color:#38634f!important;font-size:24px!important}.box-delete-confirm section{border-color:#e9d4ae}.box-delete-confirm .confirm-box-icon{margin-bottom:18px}@media(max-width:1250px){.box-grid{grid-template-columns:repeat(3,minmax(210px,1fr))}}@media(max-width:900px){.box-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.box-toolbar{align-items:stretch;flex-direction:column}.box-toolbar .new-box-button{align-self:flex-end}.recent-strip>div{grid-template-columns:1fr}.recent-strip article+article{border-left:0;border-top:1px solid #eee1d0;padding-left:0}.box-detail-toolbar{flex-wrap:wrap}.box-detail-toolbar>span{width:100%;order:3}}@media(max-width:620px){.box-grid{grid-template-columns:1fr}.box-toolbar>div{overflow-x:auto}.box-toolbar button{white-space:nowrap}.category-box,.box-create-card{min-height:145px}}.login-field-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.forgot-password{border:0;background:transparent;color:#4d856a;padding:2px 0;font-size:13px;font-weight:700;cursor:pointer}.forgot-password:hover{text-decoration:underline}.forgot-password:disabled{opacity:.55;cursor:wait}.password-reset-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:20px;background:#1c3a2f6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.password-reset-dialog{position:relative;width:min(460px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px 34px 28px;border:3px solid #efd6ad;border-radius:24px;background:#fffdf8;box-shadow:0 9px #6b4b2729,0 28px 80px #203e3252;animation:password-reset-pop .2s ease-out}.password-reset-close{position:absolute;right:18px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#61756c;font-size:25px;cursor:pointer}.password-reset-close:hover{background:#f4ecdf}.password-reset-icon{width:62px;height:62px;margin:0 auto 10px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#e0f1e6;color:#3f8064;box-shadow:0 4px #bdd6c5;font-size:28px;font-weight:900}.password-reset-icon.success{background:#e2f3e5;color:#39775b}.password-reset-kicker{text-align:center;margin:7px 0 3px;color:#8b7765;font-size:12px;letter-spacing:.16em}.password-reset-dialog h2{text-align:center;margin:5px 32px 8px;color:#386e57;font-size:24px}.password-reset-lead{text-align:center;color:#7c827d;line-height:1.7}.password-reset-sending{display:flex;justify-content:center;align-items:center;gap:10px;margin:26px 0 8px;padding:18px;border-radius:14px;background:#f2f8f3;color:#4b6c5e}.mail-spinner{width:18px;height:18px;border:3px solid #c9dfd0;border-top-color:#4f8d70;border-radius:50%;animation:mail-spin .75s linear infinite}.password-reset-form{display:grid;gap:16px;margin-top:20px}.mail-sent-note{margin:0;padding:12px 14px;border:1px solid #d4e5da;border-radius:12px;background:#eff8f1;color:#456353;font-size:13px;line-height:1.6}.mail-sent-note.neutral{border-color:#eadbc7;background:#fff8ec;color:#7b6c59}.reset-field{display:grid;gap:7px;color:#3e5d50;font-size:13px;font-weight:800}.verification-row,.reset-password-wrap{display:flex;align-items:stretch;border:2px solid #e7dbc8;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.verification-row:focus-within,.reset-password-wrap:focus-within{border-color:#5d9c7c;box-shadow:0 0 0 3px #5d9c7c24}.verification-row input,.reset-password-wrap input{min-width:0;flex:1;height:46px;padding:0 13px;border:0;outline:0;background:transparent;font-size:14px}.verification-row button,.reset-password-wrap button{flex:0 0 auto;border:0;border-left:1px solid #eee2d1;background:#fffaf0;color:#4f806a;padding:0 13px;font-size:12px;font-weight:800;cursor:pointer}.verification-row button:disabled{color:#a7afa9;cursor:not-allowed}.password-strength{display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:6px;margin-top:1px}.password-strength i{height:5px;border-radius:4px;background:#e6e3dc}.password-strength small{min-width:88px;text-align:right;color:#8c938e;font-weight:500}.password-strength.weak i.active{background:#df8278}.password-strength.medium i.active{background:#e1ad51}.password-strength.strong i.active{background:#55a277}.password-reset-error{margin:0;padding:10px 12px;border-radius:10px;background:#fff0ed;color:#a34a43;font-size:13px;line-height:1.5}.password-reset-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:3px}.password-reset-actions>button,.password-reset-primary{min-height:43px;padding:0 17px;border:2px solid #e4d7c5;border-radius:12px;background:#fff;color:#4c665a;font-weight:800;cursor:pointer}.password-reset-primary{border-color:#fff1d9;background:#4a896b;color:#fff;box-shadow:0 4px #30644e}.password-reset-primary.full{display:block;width:100%;margin-top:22px}.password-reset-actions button:disabled{opacity:.58;cursor:wait}@keyframes password-reset-pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes mail-spin{to{transform:rotate(360deg)}}@media(max-width:560px){.password-reset-overlay{padding:12px}.password-reset-dialog{padding:27px 20px 22px;border-radius:20px}.password-reset-actions{display:grid;grid-template-columns:1fr 1.25fr}.password-reset-actions>button{padding:0 10px}.verification-row button{padding:0 10px}.password-strength{grid-template-columns:repeat(3,1fr)}.password-strength small{grid-column:1 / -1;text-align:left}}.sidebar-profile{display:flex;align-items:center;min-width:0;gap:9px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.sidebar-profile:hover .portrait,.sidebar-profile:focus-visible .portrait{transform:translateY(-2px);box-shadow:0 5px #d7b47d}.sidebar-profile:focus-visible{outline:2px solid #fff1bd;outline-offset:5px;border-radius:10px}.portrait{overflow:hidden;flex:0 0 auto;transition:transform .16s,box-shadow .16s}.portrait img{display:block;width:100%;height:100%;object-fit:cover}.side footer>.logout-button{margin-left:auto;border:0;background:transparent;color:#d4e2dc;cursor:pointer}.side footer>.logout-button:hover{text-decoration:underline}.account-profile .account-avatar-button{padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.account-profile .account-avatar-button:focus-visible{outline:3px solid #efc77e;outline-offset:4px}.account-profile .account-avatar-button:hover .portrait{transform:translateY(-2px)}.profile-edit-link{margin-top:8px;padding:0;border:0;background:transparent;color:#4a8267;font-weight:700;cursor:pointer}.profile-edit-link:hover{text-decoration:underline}.profile-modal{z-index:110}.profile-modal>section{width:min(510px,calc(100vw - 28px));padding:32px;border:2px solid #ead6b5;border-radius:22px;background:#fffdf8;box-shadow:0 12px #6f523116,0 26px 70px #1d3b2e3b}.profile-modal-heading{display:flex;align-items:center;gap:18px}.profile-modal-heading .profile-preview{width:88px;height:88px;background:#f3ddcc;font-size:42px}.profile-modal-heading small,.crop-heading small{color:#8a7e6e}.profile-modal-heading h2,.crop-heading h2{margin:4px 0;color:#376650}.profile-modal-heading p{margin:0;color:#7c847e}.profile-photo-help{display:grid;gap:6px;margin:24px 0 14px;padding:16px;border:2px dashed #ead9bf;border-radius:14px;background:#fff8eb}.profile-photo-help b{color:#376650}.profile-photo-help span{color:#817b72;font-size:12px;line-height:1.6}.profile-message{min-height:42px;margin:12px 0;padding:11px 13px;border-radius:11px;background:#edf7f0;color:#3c6f58;font-size:12px;line-height:1.55}.profile-message.error{background:#fff0ee;color:#a04c45}.profile-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.profile-modal-actions button{min-width:110px;padding:11px 16px;border:2px solid #e6d7c0;border-radius:11px;background:#fff;color:#416553;font-weight:700;cursor:pointer}.profile-modal-actions .primary{border-color:#fff0d7;background:#4f8d70;color:#fff;box-shadow:0 4px #30644e}.profile-modal-actions button:disabled{cursor:not-allowed;opacity:.5}.crop-heading{text-align:center}.avatar-crop-stage{position:relative;width:300px;height:300px;margin:20px auto 16px;overflow:hidden;border-radius:16px;background:#e8e0d3;box-shadow:0 8px 24px #46351e1c}.avatar-crop-stage canvas{display:block;width:300px;height:300px;touch-action:none;cursor:grab}.avatar-crop-stage canvas:active{cursor:grabbing}.avatar-crop-stage i{position:absolute;inset:0;border:3px solid #fff3dc;border-radius:16px;box-shadow:inset 0 0 0 999px #283a300a;pointer-events:none}.crop-zoom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;color:#7a817b;font-size:12px}.crop-zoom input{width:100%;accent-color:#4f8d70}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.side footer .sidebar-profile b,.side footer>.logout-button{display:none}.profile-modal>section{padding:26px 20px}.avatar-crop-stage,.avatar-crop-stage canvas{width:min(300px,calc(100vw - 72px));height:min(300px,calc(100vw - 72px))}}
