:root{--bg: #F3F4F6;--surface: #FFFFFF;--surface-2: #F7F8FA;--border: #E4E6EA;--border-soft: #F1F2F4;--border-strong: #DADDE2;--text: #1B1D21;--text-2: #33363C;--text-3: #4A4F57;--muted: #5F646D;--accent: #3B5BDB;--accent-strong: #2B44A8;--danger: #B42318;--danger-soft: #FEF3F2;--success: #12A27A;--success-text: #067647;--success-soft: #ECFDF3;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.45 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:default}a{color:var(--accent-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.light{font-weight:300}.strike{text-decoration:line-through;color:var(--muted)!important}.push-right{margin-left:auto}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 14px;border-radius:8px;border:0;font-weight:600;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.icon-btn{width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.icon-btn:hover{background:#f0f1f3;color:var(--text)}.icon-btn.sm{width:26px;height:26px}.link-btn{border:0;background:none;padding:0 4px;height:24px;color:var(--accent-strong);font-size:12px;font-weight:600}.link-btn.subtle{color:var(--text-3);font-weight:500}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.account-tag{display:inline-flex;align-items:center;height:18px;padding:0 7px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.topbar{height:48px;display:flex;align-items:center;gap:16px;padding:0 16px 0 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;min-width:0}.logo{width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.modules{display:flex;gap:2px;flex-wrap:wrap}.module-link{height:30px;padding:0 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-weight:500;text-decoration:none}.module-link:hover{background:var(--surface-2)}.module-link.active{background:#f3f4f6;color:var(--text);font-weight:600}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:6px}.sync-error{height:24px;padding:0 8px;border-radius:999px;background:var(--danger-soft);color:var(--danger);font-size:12px;font-weight:600;display:inline-flex;align-items:center;text-decoration:none;margin-right:4px}.content{width:100%;max-width:1320px;margin:0 auto;padding:20px 20px 40px;display:flex;flex-direction:column;gap:16px}.hello{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.hello h1{margin:0;font-size:34px;line-height:1.15;font-weight:700;letter-spacing:-.8px}.hello span{color:var(--muted);font-size:15px;font-weight:300}.hello span:first-letter{text-transform:uppercase}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.tile{text-align:left;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.tile:hover{border-color:var(--border-strong)}.tile-top{display:flex;align-items:center;gap:8px;width:100%}.tile-quota{margin-left:auto;font-size:11px;color:var(--muted)}.tile-count{font-size:12px;color:var(--text-3)}.tile-count strong{font-size:26px;font-weight:700;letter-spacing:-.5px;color:var(--text);margin-right:4px}.columns{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.columns>.card,.side{flex:1 1 460px;min-width:0}.side{display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.card-head{display:flex;align-items:center;gap:10px;padding:12px 16px 10px;border-bottom:1px solid #ECEEF1;flex-wrap:wrap;min-height:49px}.card-head h2{margin:0;font-size:15px;font-weight:700}.card-foot{padding:10px 16px}.strong-link{font-size:12px;font-weight:600;text-decoration:none}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.group-head{display:flex;align-items:center;gap:8px;padding:10px 16px 4px}.mail-row{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 16px;border-bottom:1px solid var(--border-soft)}.mail-row:hover{background:#fafbfc}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto}.mail-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;color:inherit;text-decoration:none}.mail-from{flex:0 0 160px;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-subject{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-time{font-size:12px;color:var(--accent-strong);font-weight:600;flex:0 0 auto}.row-actions{display:inline-flex;gap:1px;flex:0 0 auto}.segmented{display:inline-flex;gap:4px;padding:3px;background:#f3f4f6;border-radius:8px}.segmented button{height:24px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #10182814}.task-group{padding:10px 16px 2px;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.task-group.late{color:var(--danger)}.task-row{display:flex;align-items:center;gap:10px;padding:7px 16px}.round-check{width:18px;height:18px;flex:0 0 auto;border-radius:50%;padding:0;border:2px solid #B8BDC5;background:var(--surface);color:#fff;display:flex;align-items:center;justify-content:center}.round-check.done{border-color:var(--success);background:var(--success)}.task-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.task-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-origin{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:300;color:var(--muted);min-width:0;overflow:hidden;white-space:nowrap}.due{flex:0 0 auto;font-size:11px;font-weight:600;height:18px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;background:#f1f2f4;color:var(--text-2)}.due.urgent{background:var(--danger-soft);color:var(--danger)}.due.done{background:var(--success-soft);color:var(--success-text)}.add-task{padding:8px 16px 12px;border-top:1px solid var(--border-soft);margin:0}.input-box{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;color:var(--muted)}.input-box input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text)}.quick{margin:0;padding:12px 16px 14px;display:flex;flex-direction:column;gap:8px}.quick input,.quick select,.quick textarea{height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);outline:none;min-width:0}.quick textarea{height:auto;padding:8px 10px;line-height:1.5;resize:vertical}.quick input:focus,.quick select:focus,.quick textarea:focus{border-color:var(--accent)}.quick-line{display:flex;gap:8px}.quick-line select{flex:0 0 150px}.to-wrap{flex:1;min-width:0;position:relative;display:flex}.to-wrap input{flex:1}.suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #10182824;padding:4px;display:flex;flex-direction:column}.suggest button{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:6px 10px;border:0;border-radius:7px;background:transparent;text-align:left}.suggest button:hover{background:#f2f4fd}.suggest span{font-size:12px;font-weight:300;color:var(--muted)}.quick-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.subtle-link{font-size:12px;font-weight:500;color:var(--text-3);text-decoration:none}.sent{padding:8px 10px;border-radius:8px;background:var(--success-soft);color:var(--success-text);font-size:12px;font-weight:500}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px}.login-logo{width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.login-card h1{margin:6px 0 0;font-size:22px;letter-spacing:-.4px}.login-card p{margin:0 0 8px;color:var(--muted)}.login-card label{font-size:12px;font-weight:600;color:var(--text-2)}.login-card input{height:38px;padding:0 12px;border:1px solid var(--border-strong);border-radius:8px;outline:none}.login-card .btn{height:38px;margin-top:6px}.form-error{padding:8px 10px;border-radius:8px;background:var(--danger-soft);color:var(--danger);font-size:12px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:14px;padding:10px 14px 10px 16px;border-radius:10px;background:var(--text);color:#fff;box-shadow:0 12px 32px #10182833;max-width:calc(100% - 32px)}.toast-error{background:var(--danger)}.toast button{height:26px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#b4c3ff;font-weight:600}@media (max-width: 640px){.content{padding:14px 12px 32px}.hello h1{font-size:28px}.mail-from{flex-basis:110px}.quick-line{flex-direction:column}.quick-line select{flex:none}.topbar-right .small{display:none}}.select{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;height:34px;padding:0 10px 0 11px;min-width:0;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.select:hover:not(:disabled){border-color:#c5c9d0}.select:focus-visible,.select.open{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #eef1fc}.select:disabled{cursor:default;opacity:.55}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-chevron{flex:none;color:var(--muted);transition:transform .15s}.select.open .select-chevron{transform:rotate(180deg);color:var(--accent)}.quick-line .quick-from{flex:0 0 150px}.select-menu{position:fixed;z-index:1000;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #1118271f,0 2px 6px #1118270f;padding:4px;display:flex;flex-direction:column;gap:1px;min-width:200px}.select-menu .menu-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border:0;border-radius:7px;background:transparent;text-align:left;width:100%;cursor:pointer}.select-menu .menu-item.active{background:#f2f4fd}.select-menu .menu-text{display:flex;flex-direction:column;min-width:0;flex:1}.select-menu .menu-label{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu .menu-hint{font-size:12px;font-weight:300;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu .menu-item.on .menu-label{color:var(--accent);font-weight:600}.select-check{flex:none;color:var(--accent)}@media (max-width: 640px){.quick-line .quick-from{flex:none;width:100%}}
