:root{--suite-h:56px}.suite-bar{z-index:20;height:calc(var(--suite-h) + env(safe-area-inset-top));padding:0 16px;padding-top:env(safe-area-inset-top);background:var(--surface,#fff);border-bottom:1px solid var(--line,#e5e7eb);align-items:center;gap:12px;display:flex;position:sticky;top:0}.suite-brand{color:var(--brand-dark,var(--brand,#333));white-space:nowrap;gap:8px;font-weight:700;text-decoration:none}.suite-brand,.suite-brand-mark{align-items:center;display:inline-flex}.suite-brand-mark{background:var(--brand,#333);color:#fff;border-radius:9px;justify-content:center;width:30px;height:30px;font-size:.95rem}.suite-apps{align-items:center;gap:4px;margin-left:8px;display:none}.suite-app-link{color:var(--muted,#666);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.suite-app-link:hover{background:var(--bg,#f3f4f6);color:var(--text,#111)}.suite-app-link.active{background:var(--brand-soft,#eee);color:var(--brand-dark,var(--brand,#333))}.suite-spacer{flex:1}.suite-menu{position:relative}.suite-menu-button{cursor:pointer;color:var(--text,#111);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:4px;display:inline-flex}.suite-menu-button:hover,.suite-menu-button[aria-expanded=true]{background:var(--bg,#f3f4f6)}.suite-grid-button{width:38px;height:38px;color:var(--muted,#666);justify-content:center;font-size:1.1rem}.suite-avatar{background:var(--brand-soft,#eee);width:34px;height:34px;color:var(--brand-dark,#333);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex;overflow:hidden}.suite-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.suite-dropdown{background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);z-index:30;border-radius:14px;min-width:240px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000001f}.suite-dropdown-head{border-bottom:1px solid var(--line,#e5e7eb);margin-bottom:6px;padding:10px 12px 8px}.suite-dropdown-head strong{display:block}.suite-dropdown-head span{color:var(--muted,#666);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.suite-dropdown-item{text-align:left;width:100%;color:var(--text,#111);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.suite-dropdown-item:hover{background:var(--bg,#f3f4f6)}.suite-dropdown-item.active{background:var(--brand-soft,#eee)}.suite-dropdown-item small{color:var(--muted,#666);font-size:.78rem;display:block}.suite-dropdown-icon{background:var(--bg,#f3f4f6);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.suite-dropdown-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#666);padding:8px 12px 4px;font-size:.72rem;font-weight:700}@media (width>=760px){.suite-apps{display:inline-flex}.suite-grid-button{display:none}}:root{--brand:#3b5bdb;--brand-dark:#2b44a8;--brand-soft:#e7ecfb;--bg:#f5f7fb;--surface:#fff;--text:#1c2130;--muted:#6b7385;--line:#e1e5ef;--danger:#c0392b;--ok:#2e8b57;--p1:#d6336c;--p2:#e8893a;--p3:#3b5bdb;--p4:#9aa1b3;--radius:14px;--nav-h:64px;--sidebar-w:260px;--shadow:0 2px 12px #3b5bdb14}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}a{color:inherit}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.1rem}h3{font-size:1rem}p{margin:0 0 12px}button,input,select,textarea{font:inherit}.page{max-width:760px;padding:16px;padding-bottom:calc(24px + var(--nav-h) + env(safe-area-inset-bottom));margin:0 auto}@media (width>=900px){.page{padding-bottom:40px}}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.muted{color:var(--muted);font-size:.925rem}.small{font-size:.85rem}.error{color:var(--danger);background:#fdecea}.error,.notice{border-radius:10px;margin:12px 0;padding:10px 12px;font-size:.925rem}.notice{color:var(--ok);background:#e8f5ee}.btn{background:var(--brand-soft);color:var(--brand-dark);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 18px;font-weight:600;text-decoration:none;transition:filter .15s;display:inline-flex}.btn:hover{filter:brightness(.96)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--brand);color:#fff}.btn-ghost{border-color:var(--line);color:var(--muted);background:0 0}.btn-danger{color:var(--danger);background:#fdecea}.btn-sm{min-height:36px;padding:7px 14px;font-size:.875rem}.btn-icon{border-radius:50%;width:36px;min-height:36px;padding:0}.btn-block{width:100%}.btn-dark{color:#fff;background:#111}.btn-white{color:#333;background:#fff;border-color:#ddd}.input,select.input,textarea.input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:12px;min-height:44px;padding:11px 14px}textarea.input{resize:vertical;line-height:1.5}.input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:#0000}.field{margin-bottom:14px;display:block}.field>span{margin-bottom:5px;font-size:.85rem;font-weight:600;display:block}.field-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:16px}.list li,.row{align-items:center;gap:12px;display:flex}.list li,.row-between{justify-content:space-between}.wrap{flex-wrap:wrap}.list{margin:0;padding:0;list-style:none}.list li{border-top:1px solid var(--line);padding:12px 0}.list li:first-child{border-top:0}.avatar{background:var(--brand-soft);width:40px;height:40px;color:var(--brand-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.empty{text-align:center;color:var(--muted);padding:40px 16px}.empty .big{margin-bottom:8px;font-size:2.5rem}.tag{background:var(--brand-soft);color:var(--brand-dark);align-items:center;gap:4px;padding:2px 9px;font-size:.75rem;display:inline-flex}.chip,.tag{border-radius:999px;font-weight:600}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;padding:6px 12px;font-size:.85rem}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.modal-backdrop{z-index:50;background:#1c213073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:600px;max-height:92vh;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto}@media (width>=560px){.modal-backdrop{align-items:center}.modal{border-radius:20px}}.check{border:2px solid var(--p4);cursor:pointer;color:#0000;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .15s,color .15s;display:inline-flex}.check.p1{border-color:var(--p1);background:#fbe4ec}.check.p2{border-color:var(--p2);background:#fdeedd}.check.p3{border-color:var(--p3);background:var(--brand-soft)}.check:hover{color:var(--muted)}.check.done{background:var(--p4);border-color:var(--p4);color:#fff}.done-text{color:var(--muted);text-decoration:line-through}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.overdue{color:var(--danger)}.due-today{color:var(--ok)}
