:root{--bg: #F7F4EE;--surface: #FFFFFF;--surface-hover: #F1EDE4;--ink: #1C1C1C;--muted: #6E6860;--line: #DFDACB;--brand: #1C1C1C;--brand-hover: #333333;--accent: #5F6D54;--rose: #D9A79C;--rose-soft: #F1DFDA;--green: #5F6D54;--red: #A83E2B;--amber: #D9822B}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.muted{color:var(--muted)}.error{color:var(--red);font-size:13px;margin:6px 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 20px #1c1c1c0f;padding:26px}.auth{width:min(400px,92vw)}.auth h1{margin:0 0 4px;font-size:26px;font-weight:700;color:var(--ink)}.field{width:100%;font:inherit;font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);margin-top:10px;outline:none}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5f6d542e}.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:10px 18px;cursor:pointer;transition:all .2s ease}.btn:hover{background:var(--surface-hover)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover)}.btn.block{width:100%;margin-top:14px}.btn.small{padding:6px 12px;font-size:13px}.link{background:none;border:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:0}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:18px 0;text-transform:uppercase;letter-spacing:.06em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.gbtn{display:flex;justify-content:center}.switch{margin-top:16px;font-size:13px;text-align:center;color:var(--muted)}.app-container{min-height:100vh;display:flex;flex-direction:column}.header-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#f7f4edf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:14px}.brand-logo{font-weight:800;font-size:20px;color:var(--ink);letter-spacing:-.5px}.icon-btn{background:transparent;border:none;color:var(--ink);font-size:22px;cursor:pointer;padding:4px 8px;border-radius:8px}.icon-btn:hover{background:var(--surface-hover)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1c66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--bg);border-right:1px solid var(--line);z-index:101;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:20px}.drawer.open{transform:translate(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.drawer-menu{display:flex;flex-direction:column;gap:8px;flex:1}.drawer-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--muted);font-weight:600;cursor:pointer;background:transparent;border:none;text-align:left;font-size:15px;width:100%}.drawer-item:hover,.drawer-item.active{background:var(--surface);color:var(--ink)}.drawer-item.active{border-left:3px solid var(--brand);border-radius:4px 10px 10px 4px}.nav-tabs{display:flex;gap:8px;padding:10px 24px;background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto}.tab-btn{padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.tab-btn:hover{color:var(--ink);background:var(--surface-hover)}.tab-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.main-view{flex:1;max-width:1000px;width:100%;margin:0 auto;padding:24px 20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 2px 8px #1c1c1c0a}.stat-val{font-size:28px;font-weight:800;color:var(--ink);margin-top:4px}.board-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.addbar{display:flex;gap:10px;margin-bottom:20px}.addbar .field{margin-top:0}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row.done .row-title{color:var(--muted);text-decoration:line-through}.row-title{flex:1;font:inherit;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:8px;padding:6px 8px;outline:none}.row-title:focus{background:var(--bg);border-color:var(--accent)}.row select,.row-due{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--ink)}.del{color:var(--muted)}.del:hover{color:var(--red)}.empty{padding:32px;text-align:center}.profile-card{max-width:500px;margin:0 auto}.avatar-large{width:72px;height:72px;border-radius:50%;background:var(--brand);color:#fff;font-size:28px;font-weight:700;display:grid;place-items:center;margin-bottom:16px}.info-group{margin-bottom:16px}.info-group label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.info-group p{margin:0;font-size:16px;font-weight:600}.syncbar{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:6px 12px;cursor:pointer;color:var(--muted)}.syncbar .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.syncbar.ok .dot{background:var(--green)}.syncbar.busy .dot{background:var(--accent)}.syncbar.pend .dot{background:var(--amber)}.syncbar.off .dot{background:var(--muted)}.syncbar.err .dot{background:var(--red)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1c80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:200;display:grid;place-items:center;padding:20px;animation:fadeIn .2s ease-out}.modal-box{background:var(--surface);border:1px solid var(--line);border-radius:20px;max-width:400px;width:100%;padding:28px 24px;text-align:center;box-shadow:0 20px 40px #00000026;animation:popUp .25s cubic-bezier(.16,1,.3,1)}.modal-icon{font-size:36px;margin-bottom:12px}.modal-box h3{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--ink)}.modal-box p{color:var(--muted);font-size:14px;margin:0 0 20px;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popUp{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
