@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg-app: #f7f7f7;--bg-panel: #ffffff;--bg-hover: #f4f4f4;--bg-active: #ececec;--bg-chip: #f4f4f4;--bg-row-hover: #fafafa;--bg-row-selected: #f3f7ff;--border-strong: #d6d6d6;--border-md: #e6e6e6;--border-light: #efefef;--text-0: #171717;--text-1: #333333;--text-2: #666666;--text-3: #999999;--text-4: #b8b8b8;--blue: #1961ed;--blue-bg: rgba(25, 97, 237, .08);--red: #b43232;--star: #f2b202;--radius-sm: 4px;--radius-md: 8px;--shadow-dd: 0 2px 4px rgba(0, 0, 0, .04), 0 0 4px rgba(0, 0, 0, .08);--shadow-panel: 2px 4px 16px rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-ui);font-size:13px;line-height:1.45;color:var(--text-1);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100vh}::selection{background:#1961ed26}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:4px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#c4c4c4;background-clip:content-box;border:2px solid transparent;border-radius:4px}button{font-family:inherit}a{color:inherit;text-decoration:none}input,textarea{font-family:inherit}.app{display:flex;height:100vh;overflow:hidden}.main{flex:1;display:flex;flex-direction:column;min-width:0}.page-panel{flex:1;margin:0 8px 8px 0;background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.app.sidebar-collapsed .page-panel{margin-left:8px}.sidebar{width:224px;flex:none;display:flex;flex-direction:column;padding:10px 8px 8px;overflow-y:auto;-webkit-user-select:none;user-select:none}.ws-row{display:flex;align-items:center;gap:4px;height:32px;padding:0 2px 0 4px;margin-bottom:10px}.ws-trigger{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:var(--radius-sm);cursor:pointer;min-width:0}.ws-trigger:hover{background:var(--bg-active)}.ws-logo{width:20px;height:20px;border-radius:5px;flex:none;display:grid;place-items:center;font-size:12px;background:#dcf3e5}.ws-name{font-weight:500;color:var(--text-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-row .spacer{flex:1}.side-item{display:flex;align-items:center;gap:8px;height:29px;padding:0 8px;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;font-weight:500}.side-item:hover{background:var(--bg-active)}.side-item.active{background:#e6e6e6;color:var(--text-0)}.side-item .label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-item .hint{color:var(--text-3);font-weight:400}.side-section{margin-top:18px}.side-section-title{font-size:11px;font-weight:500;color:var(--text-3);padding:0 8px 4px;letter-spacing:.02em}.soon-pill{font-size:10px;font-weight:500;color:var(--text-3);background:#e9e9e9;border-radius:3px;padding:1px 4px}.sidebar-expand-btn{position:fixed;top:10px;left:10px;z-index:40}.topbar{height:44px;flex:none;display:flex;align-items:center;gap:8px;padding:0 12px 0 6px;min-width:0}.topbar-title{display:flex;align-items:center;gap:7px;min-width:0;color:var(--text-0);font-weight:500}.topbar-title .crumb{color:var(--text-3);font-weight:400;cursor:pointer}.topbar-title .crumb:hover{color:var(--text-1)}.topbar-title .sep{color:var(--text-4);font-weight:400}.topbar .spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border-md);background:var(--bg-panel);color:var(--text-1);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--bg-hover)}.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff}.btn.blue:hover{background:#174fc4}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn.ghost:hover{background:#0000000d;color:var(--text-1)}.btn.sm{height:24px;padding:0 8px;font-size:12px}.btn.danger{color:var(--red)}.icon-btn{width:26px;height:26px;flex:none;border:none;background:transparent;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-2);cursor:pointer;padding:0}.icon-btn:hover{background:#0000000d;color:var(--text-1)}.icon-btn.sm{width:22px;height:22px}.kbd{display:inline-flex;align-items:center;justify-content:center;height:19px;min-width:19px;padding:0 4px;border:1px solid var(--border-md);border-radius:4px;background:var(--bg-panel);color:var(--text-3);font-size:11px;font-weight:500}.kbd.lg{height:26px;padding:0 8px;font-size:12px;cursor:pointer}.kbd.lg:hover{background:var(--bg-hover)}.avatar{display:inline-grid;place-items:center;flex:none;font-weight:600;overflow:hidden;-webkit-user-select:none;user-select:none}.avatar.round{border-radius:50%}.avatar.square{border-radius:4px}.rec-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 7px 0 3px;border-radius:var(--radius-sm);background:var(--bg-chip);color:var(--text-0);max-width:100%;cursor:pointer;min-width:0}.rec-chip:hover{background:var(--bg-active)}.rec-chip .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec-chip.bare{background:transparent;padding-left:2px}.rec-chip.bare:hover{background:var(--bg-hover)}.tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;cursor:default}.pill-link{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border:1px solid var(--border-md);border-radius:999px;color:var(--text-2);font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;background:var(--bg-panel)}.pill-link:hover{border-color:var(--border-strong);color:var(--text-1)}.member-cell{display:inline-flex;align-items:center;gap:6px;min-width:0}.member-cell .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bool-cell{display:inline-flex;align-items:center;gap:5px;color:var(--text-1);cursor:pointer}.bool-cell .off{color:var(--text-3)}.cbx{width:15px;height:15px;flex:none;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-panel);display:grid;place-items:center;cursor:pointer;color:#fff;padding:0}.cbx:hover{border-color:#b3b3b3}.cbx.on{background:var(--blue);border-color:var(--blue)}.view-bar{height:40px;flex:none;display:flex;align-items:center;gap:4px;padding:0 8px;border-bottom:1px solid var(--border-light)}.view-switcher{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-0);font-weight:500}.view-switcher:hover{background:var(--bg-hover)}.view-switcher .count{color:var(--text-3);font-weight:400}.filter-bar{min-height:36px;flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 8px;border-bottom:1px solid var(--border-light)}.filter-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 4px 0 8px;border:1px solid var(--border-md);border-radius:var(--radius-sm);color:var(--text-1);font-size:12px;background:var(--bg-panel)}.filter-chip .dim{color:var(--text-3)}.filter-chip .icon-btn{width:18px;height:18px}.table-wrap{flex:1;overflow:auto;position:relative}table.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;font-size:13px}table.grid th{position:sticky;top:0;z-index:3;height:32px;padding:0 8px;background:var(--bg-panel);border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);color:var(--text-2);font-weight:400;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-user-select:none;user-select:none}table.grid th:hover{background:var(--bg-row-hover)}table.grid th.cbx-col,table.grid th.add-col{cursor:default}table.grid th.cbx-col:hover,table.grid th.add-col:hover{background:var(--bg-panel)}.th-inner{display:flex;align-items:center;gap:6px;min-width:0}.th-inner .label{overflow:hidden;text-overflow:ellipsis}table.grid td{height:32px;padding:0 8px;border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-1);position:relative}table.grid .cbx-col{width:34px;border-right:none;text-align:center;padding:0 0 0 10px}table.grid .add-col{width:40px;border-right:none}table.grid td.cbx-col{border-bottom-color:transparent}table.grid tbody tr:hover td{background:var(--bg-row-hover)}table.grid tbody tr.selected td{background:var(--bg-row-selected)}td.editing{box-shadow:inset 0 0 0 1.5px var(--blue);background:var(--bg-panel)!important}.cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--text-1);padding:0}.new-row td{color:var(--text-3);cursor:pointer;border-right:none}.new-row:hover td{background:var(--bg-row-hover);color:var(--text-1)}.new-row .inner{display:flex;align-items:center;gap:6px}table.grid tfoot td{position:sticky;bottom:0;z-index:2;background:var(--bg-panel);border-top:1px solid var(--border-light);border-bottom:none;border-right:none;color:var(--text-3);font-size:12px;height:30px}tfoot .agg{display:flex;align-items:baseline;gap:4px}tfoot .agg b{color:var(--text-2);font-weight:500}.action-bar{position:absolute;bottom:18px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:2px;background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);box-shadow:var(--shadow-dd);padding:4px 6px}.action-bar .count{color:var(--text-2);padding:0 8px;font-weight:500}.action-bar .vsep{width:1px;height:16px;background:var(--border-md);margin:0 4px}.board{flex:1;overflow:auto;display:flex;align-items:flex-start;gap:12px;padding:12px}.board-col{width:228px;flex:none;display:flex;flex-direction:column;border-radius:var(--radius-md)}.board-col.drag-over{background:#1961ed0a}.board-col-head{display:flex;align-items:center;gap:8px;padding:4px 4px 10px}.board-col-head .count{color:var(--text-3);font-size:12px}.board-col-head .spacer{flex:1}.board-col-head .sum{color:var(--text-3);font-size:12px}.board-cards{display:flex;flex-direction:column;gap:8px;min-height:8px}.card{background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);padding:9px 9px 7px;display:flex;flex-direction:column;gap:7px;cursor:pointer}.card:hover{border-color:var(--border-strong)}.card.dragging{opacity:.4}.card-head{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--text-0);min-width:0}.card-head .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-row{display:flex;align-items:center;gap:6px;color:var(--text-2);min-width:0}.card-row>svg{color:var(--text-3);flex:none}.card-row .val{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-new{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;margin-top:8px;color:var(--text-3);border-radius:var(--radius-sm);cursor:pointer}.col-new:hover{background:var(--bg-hover);color:var(--text-1)}.card .title-input{border:none;outline:none;font:inherit;font-weight:500;width:100%;padding:0;color:var(--text-0);background:transparent}.record{flex:1;display:flex;min-height:0}.rec-left{width:348px;flex:none;border-right:1px solid var(--border-light);overflow-y:auto;padding:8px 12px 24px}.rec-id{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0 12px}.rec-id .name{font-size:16px;font-weight:500;color:var(--text-0);text-align:center;border-radius:var(--radius-sm);padding:2px 8px;cursor:text;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-id .name:hover{background:var(--bg-hover)}.rec-id .name-input{font-size:16px;font-weight:500;color:var(--text-0);text-align:center;border:none;outline:none;background:var(--bg-hover);border-radius:var(--radius-sm);padding:2px 8px;width:90%}.rec-id .meta{color:var(--text-3);font-size:12px}.rec-section{margin-top:10px}.rec-section-head{display:flex;align-items:center;gap:4px;height:28px;padding:0 4px;color:var(--text-3);font-size:11px;font-weight:500;letter-spacing:.02em}.field-row{display:flex;align-items:center;gap:8px;min-height:30px;padding:1px 6px;border-radius:var(--radius-sm)}.field-row:hover{background:var(--bg-hover)}.field-label{display:flex;align-items:center;gap:7px;width:132px;flex:none;color:var(--text-2)}.field-label>svg{color:var(--text-3);flex:none}.field-label .txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-value{flex:1;min-width:0;display:flex;align-items:center;cursor:pointer;height:100%}.field-value .inner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-value .empty{color:var(--text-4)}.field-value.editing{box-shadow:inset 0 0 0 1.5px var(--blue);border-radius:var(--radius-sm);background:var(--bg-panel);padding:0 6px}.rec-right{flex:1;display:flex;flex-direction:column;min-width:0}.tabs{display:flex;align-items:center;gap:2px;height:40px;flex:none;padding:0 10px;border-bottom:1px solid var(--border-light);overflow-x:auto}.tab{display:flex;align-items:center;gap:6px;height:100%;padding:0 10px;color:var(--text-2);font-weight:500;border-bottom:1px solid transparent;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text-1)}.tab.active{color:var(--text-0);border-bottom-color:var(--text-0)}.tab-body{flex:1;overflow-y:auto;padding:16px 20px}.tab-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tab-head .title{font-weight:500;color:var(--text-0)}.tl{position:relative;padding-left:2px}.tl-item{display:flex;gap:10px;position:relative;padding-bottom:18px}.tl-item:before{content:"";position:absolute;left:11px;top:24px;bottom:-2px;width:1px;background:var(--border-light)}.tl-item:last-child:before{display:none}.tl-icon{width:23px;height:23px;flex:none;border:1px solid var(--border-md);border-radius:50%;background:var(--bg-panel);display:grid;place-items:center;color:var(--text-3);z-index:1}.tl-body{flex:1;min-width:0;padding-top:2px}.tl-text{color:var(--text-2)}.tl-text b{color:var(--text-0);font-weight:500}.tl-time{color:var(--text-4);font-size:12px;flex:none;padding-top:3px}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.note-card{border:1px solid var(--border-md);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:6px;cursor:default;background:var(--bg-panel)}.note-card:hover{border-color:var(--border-strong)}.note-card .n-title{font-weight:500;color:var(--text-0)}.note-card .n-body{color:var(--text-2);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;min-height:18px}.note-card textarea{border:none;outline:none;resize:none;font:inherit;font-size:12.5px;color:var(--text-1);background:transparent;min-height:72px}.note-card .n-foot{display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:12px;margin-top:2px}.task-row{display:flex;align-items:center;gap:10px;height:36px;padding:0 8px;border-bottom:1px solid var(--border-light)}.task-row:hover{background:var(--bg-row-hover)}.task-row .t-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-0);cursor:text}.task-row .t-title.done{color:var(--text-3);text-decoration:line-through}.task-row .t-title input{width:100%;border:none;outline:none;font:inherit;background:transparent;color:var(--text-0)}.task-row .t-due{color:var(--text-3);font-size:12px;flex:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:56px 24px;text-align:center}.empty-state>svg{color:var(--text-4);margin-bottom:4px}.empty-state .e-title{font-weight:500;color:var(--text-1)}.empty-state .e-sub{color:var(--text-3)}.dd{position:fixed;z-index:120;min-width:196px;max-width:320px;background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);box-shadow:var(--shadow-dd);padding:4px;max-height:320px;overflow-y:auto}.dd-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:var(--radius-sm);color:var(--text-1);cursor:pointer;white-space:nowrap;overflow:hidden}.dd-item:hover,.dd-item.hl{background:var(--bg-hover)}.dd-item>svg:first-child{color:var(--text-2);flex:none}.dd-item .label{flex:1;overflow:hidden;text-overflow:ellipsis}.dd-item .right{color:var(--text-3);display:flex;align-items:center;gap:4px}.dd-item.danger,.dd-item.danger>svg:first-child{color:var(--red)}.dd-sep{height:1px;background:var(--border-light);margin:4px 0}.dd-title{font-size:11px;font-weight:500;color:var(--text-3);padding:6px 8px 4px}.dd-input{width:calc(100% - 8px);margin:4px;height:28px;padding:0 8px;border:1px solid var(--border-md);border-radius:var(--radius-sm);font:inherit;font-size:13px;color:var(--text-1);outline:none}.dd-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-bg)}.dd-empty{color:var(--text-3);padding:8px;text-align:center}.cmdk-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130}.cmdk{position:fixed;top:8px;right:8px;bottom:8px;width:400px;z-index:140;background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;overflow:hidden}.cmdk-search{display:flex;align-items:center;gap:10px;padding:14px 14px 13px;border-bottom:1px solid var(--border-light);color:var(--text-3)}.cmdk-search input{flex:1;border:none;outline:none;font:inherit;font-size:14px;color:var(--text-0);background:transparent}.cmdk-search input::placeholder{color:var(--text-4)}.cmdk-body{flex:1;overflow-y:auto;padding:8px}.cmdk .dd-item{height:34px}.settings{flex:1;display:flex;min-height:0}.settings-nav{width:210px;flex:none;border-right:1px solid var(--border-light);padding:12px 8px;overflow-y:auto}.settings-body{flex:1;overflow-y:auto;padding:28px 36px;max-width:720px}.settings-h1{font-size:16px;font-weight:500;color:var(--text-0);margin:0 0 4px}.settings-sub{color:var(--text-3);margin:0 0 24px}.settings-card{border:1px solid var(--border-md);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.settings-label{font-size:11px;font-weight:500;color:var(--text-3);margin-bottom:6px;letter-spacing:.02em}.text-input{height:30px;padding:0 9px;border:1px solid var(--border-md);border-radius:var(--radius-sm);font:inherit;color:var(--text-1);outline:none;width:280px;max-width:100%;background:var(--bg-panel)}.text-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-bg)}.member-row{display:flex;align-items:center;gap:10px;height:44px;border-bottom:1px solid var(--border-light)}.member-row:last-child{border-bottom:none}.member-row .m-name{font-weight:500;color:var(--text-0);width:180px}.member-row .m-mail{color:var(--text-3);flex:1}.member-row .m-role{color:var(--text-2);font-size:12px}.obj-row{display:flex;align-items:center;gap:10px;height:40px;border-bottom:1px solid var(--border-light)}.obj-row:last-child{border-bottom:none}.obj-row .o-name{font-weight:500;color:var(--text-0);width:180px}.obj-row .o-meta{color:var(--text-3);flex:1}.login-wrap{height:100vh;display:grid;place-items:center;background:var(--bg-app);padding:24px}.login-card{width:320px;max-width:100%;background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);box-shadow:var(--shadow-dd);padding:24px;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:9px;margin-bottom:20px}.login-title{font-size:15px;font-weight:500;color:var(--text-0)}.login-label{font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:.02em;margin-bottom:5px}.login-input{width:100%;margin-bottom:14px}.login-submit{justify-content:center;height:32px;margin-top:4px}.login-error{background:#fde3e3;color:var(--red);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;margin-bottom:12px}.splash{color:var(--text-3)}.store-error{background:#fde3e3;color:var(--red);padding:7px 14px;font-size:12.5px;margin:0 8px 8px 0;border-radius:var(--radius-sm)}.store-loading{color:var(--text-3);font-size:12.5px;padding:0 14px 8px}.sidebar-foot{margin-top:auto;padding-top:12px}.unread-count{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--blue);color:#fff;font-size:10px;font-weight:600;display:inline-grid;place-items:center}.inbox{flex:1;display:flex;min-height:0}.conv-list{width:290px;flex:none;border-right:1px solid var(--border-light);overflow-y:auto}.conv-list-head{display:flex;align-items:center;gap:4px;height:40px;padding:0 14px;font-weight:500;color:var(--text-0);border-bottom:1px solid var(--border-light);position:sticky;top:0;background:var(--bg-panel);z-index:1}.conv-list-head .count{color:var(--text-3);font-weight:400}.conv-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border-light);cursor:pointer}.conv-item:hover{background:var(--bg-row-hover)}.conv-item.active{background:var(--bg-hover)}.conv-mid{flex:1;min-width:0}.conv-name{font-weight:500;color:var(--text-0)}.conv-snippet{color:var(--text-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}.conv-time{color:var(--text-4);font-size:11px}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.thread{flex:1;display:flex;flex-direction:column;min-width:0}.thread-head{display:flex;align-items:center;gap:8px;height:44px;flex:none;padding:0 14px;border-bottom:1px solid var(--border-light)}.thread-name{font-weight:500;color:var(--text-0);flex:1}.thread-body{flex:1;overflow-y:auto;padding:18px 18px 10px;display:flex;flex-direction:column;gap:12px}.msg-wrap{display:flex;flex-direction:column;max-width:65%}.msg-wrap.out{align-self:flex-end;align-items:flex-end}.msg-wrap.in{align-self:flex-start;align-items:flex-start}.bubble{padding:7px 11px;border-radius:12px;white-space:pre-wrap;line-height:1.4}.bubble.out{background:#171717;color:#fff;border-bottom-right-radius:4px}.bubble.in{background:var(--bg-hover);color:var(--text-0);border-bottom-left-radius:4px}.msg-time{color:var(--text-4);font-size:11px;margin-top:3px}.msg-system{align-self:center;display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:12px;background:var(--bg-app);border:1px solid var(--border-light);border-radius:999px;padding:3px 12px}.msg-system .msg-time{margin:0}.msg-email{border:1px solid var(--border-md);border-radius:var(--radius-md);padding:12px;max-width:85%;background:var(--bg-panel)}.msg-email.out{align-self:flex-end;background:#fcfcfc}.msg-email.in{align-self:flex-start}.msg-subject{font-weight:500;color:var(--text-0);margin-bottom:6px}.msg-email-body{color:var(--text-1);white-space:pre-wrap;line-height:1.5}.composer{display:flex;align-items:center;gap:8px;padding:10px 12px;flex:none;border-top:1px solid var(--border-light)}.composer-channels{display:flex;gap:2px}.chan-on{background:var(--bg-hover);color:var(--text-0)}.composer-input{flex:1;height:30px;padding:0 10px;border:1px solid var(--border-md);border-radius:var(--radius-sm);font:inherit;color:var(--text-1);outline:none;background:var(--bg-panel)}.composer-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-bg)}.btn:disabled{opacity:.45;cursor:default}.dash{flex:1;overflow-y:auto;padding:14px}.page-caption{color:var(--text-3);font-size:12px;padding:0 2px 12px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{border:1px solid var(--border-md);border-radius:var(--radius-md);padding:12px 14px}.stat-label{font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:.02em}.stat-value{font-size:19px;font-weight:500;color:var(--text-0);margin-top:3px}.stat-sub{font-size:12px;color:var(--text-3);margin-top:1px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.dash-card{border:1px solid var(--border-md);border-radius:var(--radius-md);padding:14px;min-width:0}.dash-title{font-weight:500;color:var(--text-0);margin-bottom:10px}.hbar-row{display:flex;align-items:center;gap:10px;height:27px}.hbar-label{width:110px;flex:none;color:var(--text-2);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{flex:1;height:14px;background:#f6f6f6;border-radius:4px;overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:4px;border-right:2px solid;min-width:2px}.hbar-value{flex:none;min-width:90px;text-align:right;color:var(--text-2);font-size:12px}.mini-row{display:flex;align-items:center;gap:8px;height:32px;border-bottom:1px solid var(--border-light);cursor:pointer}.mini-row:last-child{border-bottom:none}.mini-row:hover{background:var(--bg-row-hover)}.mini-name{flex:1;min-width:0;color:var(--text-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-amount{color:var(--text-1);font-weight:500;flex:none}.mini-date{color:var(--text-3);font-size:12px;flex:none;width:78px;text-align:right}.auto-row{display:flex;align-items:center;gap:16px;border:1px solid var(--border-md);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:10px}.auto-main{width:250px;flex:none;min-width:0}.auto-name{font-weight:500;color:var(--text-0)}.auto-desc{color:var(--text-3);font-size:12px;margin-top:2px}.auto-flow{flex:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.auto-step{display:inline-flex;align-items:center;gap:6px}.auto-side{display:flex;align-items:center;gap:12px;flex:none}.auto-runs{color:var(--text-3);font-size:12px}.switch{width:30px;height:18px;flex:none;border-radius:999px;border:none;padding:2px;background:#d6d6d6;cursor:pointer;display:flex;align-items:center;transition:background .15s ease}.switch .knob{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s ease}.switch.on{background:var(--blue)}.switch.on .knob{transform:translate(12px)}.seq-banner{display:flex;align-items:flex-start;gap:8px;background:#faf1cf;color:#7a6210;border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px;line-height:1.5;margin-bottom:12px}.seq-banner.ok{background:#dcf3e5;color:#17693c}.seq-banner>svg{flex:none;margin-top:2px}.seq-banner b{font-weight:600}.seq-row{display:flex;align-items:center;gap:16px;border:1px solid var(--border-md);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:10px;cursor:pointer}.seq-row:hover{border-color:var(--border-strong);background:var(--bg-row-hover)}.seq-main{width:300px;flex:none;min-width:0}.seq-name{font-weight:500;color:var(--text-0)}.seq-desc{color:var(--text-3);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seq-shape,.seq-enroll{display:flex;align-items:center;gap:12px}.seq-shape{flex:1}.seq-enroll{width:190px;flex:none}.seq-stat{color:var(--text-3);font-size:12px}.seq-stat b{color:var(--text-1);font-weight:500}.dim{color:var(--text-4)}.seq-detail-head{display:flex;align-items:center;gap:8px}.cadence{padding-top:2px}.cad-step{display:flex;gap:12px}.cad-rail{display:flex;flex-direction:column;align-items:center;flex:none;width:24px}.cad-dot{width:24px;height:24px;flex:none;border:1px solid var(--border-md);border-radius:50%;background:var(--bg-panel);color:var(--text-2);display:grid;place-items:center}.cad-line{flex:1;width:1px;background:var(--border-light);min-height:18px}.cad-body{flex:1;min-width:0;padding-bottom:16px}.cad-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cad-day{font-weight:500;color:var(--text-0);font-size:12.5px}.cad-thread,.cad-wait{color:var(--text-3);font-size:11.5px;display:inline-flex;align-items:center;gap:3px}.cad-subject{color:var(--text-2);font-size:12.5px;margin-top:3px}.enroll{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:620px;max-width:calc(100vw - 32px);max-height:78vh;z-index:140;background:var(--bg-panel);border:1px solid var(--border-md);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;overflow:hidden}.enroll-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-light)}.enroll-title{font-weight:500;color:var(--text-0)}.enroll-controls{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-light)}.enroll-blocked{display:flex;align-items:flex-start;gap:7px;background:#fde3e3;color:var(--red);padding:8px 14px;font-size:12.5px;line-height:1.45}.enroll-blocked>svg{flex:none;margin-top:2px}.enroll-list{flex:1;overflow-y:auto;padding:4px 6px}.enroll-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer}.enroll-row:hover{background:var(--bg-hover)}.enroll-row.blocked{opacity:.55;cursor:default}.enroll-row.blocked:hover{background:transparent}.enroll-name{color:var(--text-0);min-width:140px}.enroll-email{color:var(--text-3);font-size:12px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enroll-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border-light)}.review-row{padding:13px 0;border-bottom:1px solid var(--border-light)}.review-row:last-child{border-bottom:none}.review-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.review-author{font-weight:500;color:var(--text-0)}.review-stars{display:inline-flex;gap:1px;align-items:center}.review-date{color:var(--text-4);font-size:12px;margin-left:auto}.review-text{color:var(--text-1);line-height:1.5;margin-bottom:8px}.review-reply{background:var(--bg-hover);border-radius:var(--radius-sm);padding:8px 10px;color:var(--text-2);font-size:12.5px}.review-reply b{color:var(--text-1);font-weight:500}.review-composer{display:flex;gap:8px}
