:root{--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-brand: var(--font-sans);--primary: #1D2642;--primary-hover: #2A3559;--primary-light: #EEF0F5;--primary-mid: #5B6584;--on-primary: #ffffff;--accent: #2F5BDB;--accent-hover: #2549B8;--accent-light: #EAF0FD;--on-accent: #ffffff;--surface: #ffffff;--surface-2: #F8F9FB;--bg: #F5F6F8;--border: #E5E8EC;--sidebar-bg: var(--surface);--text: #191F28;--text2: #6B7684;--text3: #9AA2AE;--green: #10b981;--green-text: #059669;--green-bg: #ecfdf5;--orange: #f59e0b;--orange-bg: #fffbeb;--red: #ef4444;--red-bg: #fef2f2;--blue: #3b82f6;--blue-bg: #eff6ff;--purple: #8b5cf6;--purple-bg: #f5f3ff;--cal-general: var(--blue);--cal-general-bg: var(--blue-bg);--cal-meeting: var(--purple);--cal-meeting-bg: var(--purple-bg);--cal-outside: var(--orange);--cal-outside-bg: var(--orange-bg);--cal-arrival: #0d9488;--cal-arrival-bg: #f0fdfa;--cal-holiday: var(--red);--cal-holiday-bg: var(--red-bg);--cal-leave: #65a30d;--cal-leave-bg: #f7fee7;--cal-sunday: var(--red);--cal-saturday: var(--blue);--on-solid: #ffffff;--green-solid: #357A5A;--orange-solid: #9A6B22;--red-solid: #B54F4F;--blue-solid: #456BB8;--purple-solid: #7360B8;--cal-arrival-solid: #2A7A71;--cal-leave-solid: #5A7A24;--cal-general-solid: var(--blue-solid);--cal-meeting-solid: var(--purple-solid);--cal-outside-solid: var(--orange-solid);--cal-holiday-solid: var(--red-solid);--pal-gray-solid: #636D7B;--pal-red-solid: #B54F4F;--pal-orange-solid: #A85A2E;--pal-yellow-solid: #71701A;--pal-green-solid: #357A5A;--pal-teal-solid: #2A7A71;--pal-sky-solid: #2F7299;--pal-blue-solid: #456BB8;--pal-indigo-solid: #5A5FB8;--pal-purple-solid: #7D52A8;--pal-pink-solid: #AD4F82;--pal-gray-bg: #f3f4f6;--pal-gray-fg: #4b5563;--pal-red-bg: #fee2e2;--pal-red-fg: #b91c1c;--pal-orange-bg: #ffedd5;--pal-orange-fg: #c2410c;--pal-yellow-bg: #fef9c3;--pal-yellow-fg: #a16207;--pal-green-bg: #dcfce7;--pal-green-fg: #15803d;--pal-teal-bg: #ccfbf1;--pal-teal-fg: #0f766e;--pal-sky-bg: #e0f2fe;--pal-sky-fg: #0369a1;--pal-blue-bg: #dbeafe;--pal-blue-fg: #1d4ed8;--pal-indigo-bg: #e0e7ff;--pal-indigo-fg: #4338ca;--pal-purple-bg: #f3e8ff;--pal-purple-fg: #7e22ce;--pal-pink-bg: #fce7f3;--pal-pink-fg: #be185d;--overlay: rgba(0, 0, 0, .55);--on-overlay: #ffffff;--lightbox-bg: rgba(0, 0, 0, .88);--radius: 8px;--radius-sm: 6px;--radius-xs: 4px;--radius-lg: 12px;--radius-pill: 999px;--shadow: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--sidebar-w: 240px;--sidebar-w-icon: 64px;--topbar-h: calc(60px + env(safe-area-inset-top, 0px)) ;--tabbar-h: 60px;--tabbar-space: 0px;--theme-color: var(--primary);--fs-post-title: 1.25rem;--lh-post-title: 1.35;--space-post-title: 8px;--font-sheet: "Malgun Gothic", "맑은 고딕", "Apple SD Gothic Neo", var(--font-sans);--sheet-border: var(--border);--sheet-strong: var(--text3);--sheet-label-bg: var(--surface-2);--sheet-cell-bg: var(--surface);--sheet-sum-bg: var(--orange-bg);--sheet-sum-fg: var(--red);--sheet-row-h: 40px;--sheet-font: 13px;--sheet-line: color-mix(in srgb, var(--sheet-border) 55%, var(--surface));--sheet-sel-bg: color-mix(in srgb, var(--accent) 10%, var(--surface));--doc-paper-bg: #ffffff;--doc-paper-fg: #000000;--doc-paper-muted: #6b7280;--doc-paper-empty: #e5e7eb;--doc-paper-shadow: 0 2px 12px rgba(0, 0, 0, .18);--doc-missing-bg: #fef08a;--doc-missing-fg: #854d0e}@media(max-width:639px){:root{--fs-post-title: 1.125rem}}html[data-theme=dark]{--primary: #9DAEE0;--primary-hover: #B4C1E8;--primary-light: #232A3E;--primary-mid: #6F7FAE;--on-primary: #10131C;--accent: #7C9CF5;--accent-hover: #9BB3F7;--accent-light: #1E2A4D;--on-accent: #10131C;--surface: #181C28;--surface-2: #141824;--bg: #10131C;--border: #2A3040;--sidebar-bg: #181C28;--text: #E6E8EE;--text2: #9AA3B2;--text3: #6B7488;--green: #7FC8A9;--green-text: #7FC8A9;--green-bg: #132A22;--orange: #E3BC7A;--orange-bg: #2E2414;--red: #E89A9A;--red-bg: #2E191C;--blue: #8FB3E8;--blue-bg: #172338;--purple: #B4A3E3;--purple-bg: #231D38;--cal-arrival: #7CC4BC;--cal-arrival-bg: #12282A;--cal-leave: #B5CF8A;--cal-leave-bg: #1E2A14;--green-solid: #427D60;--orange-solid: #8F6A30;--red-solid: #A65959;--blue-solid: #4F72A8;--purple-solid: #7364A8;--cal-arrival-solid: #387A73;--cal-leave-solid: #5F7A32;--pal-gray-solid: #565E6E;--pal-red-solid: #A65959;--pal-orange-solid: #9A5F3A;--pal-yellow-solid: #6F7020;--pal-green-solid: #427D60;--pal-teal-solid: #387A73;--pal-sky-solid: #3A7596;--pal-blue-solid: #4F72A8;--pal-indigo-solid: #5F64A8;--pal-purple-solid: #7E5CA0;--pal-pink-solid: #A0567E;--pal-gray-bg: #374151;--pal-gray-fg: #d1d5db;--pal-red-bg: #7f1d1d;--pal-red-fg: #fca5a5;--pal-orange-bg: #7c2d12;--pal-orange-fg: #fdba74;--pal-yellow-bg: #713f12;--pal-yellow-fg: #fde047;--pal-green-bg: #14532d;--pal-green-fg: #86efac;--pal-teal-bg: #134e4a;--pal-teal-fg: #5eead4;--pal-sky-bg: #0c4a6e;--pal-sky-fg: #7dd3fc;--pal-blue-bg: #1e3a8a;--pal-blue-fg: #93c5fd;--pal-indigo-bg: #312e81;--pal-indigo-fg: #a5b4fc;--pal-purple-bg: #581c87;--pal-purple-fg: #d8b4fe;--pal-pink-bg: #831843;--pal-pink-fg: #f9a8d4;--shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 8px 32px rgba(0, 0, 0, .3);--theme-color: var(--bg);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.icon{display:inline-block;flex-shrink:0;vertical-align:-.15em}.with-icon{display:inline-flex;align-items:center;gap:6px}.icon-btn,.icon-btn-sm,.card-icon-btn,.star-btn,.fi-remove,.po-x,.rc-thumb-x,.file-chip-x,.lightbox-close,.po-menu-btn,.po-month-arrow,.po-chip-btn,.tb-btn{display:inline-flex;align-items:center;justify-content:center}.tb-btn{gap:4px}input,select,textarea{font:inherit;color:inherit}.fullscreen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.login-bg{background:linear-gradient(135deg,var(--primary-light),var(--bg))}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-box{background:var(--surface);border-radius:var(--radius-lg);padding:44px 40px;width:100%;max-width:420px;box-shadow:var(--shadow-md)}.login-logo{font-family:var(--font-brand);font-size:28px;font-weight:700;color:var(--primary);letter-spacing:-.02em}.login-sub{font-size:13px;color:var(--text2);margin:4px 0 32px}.login-field{margin-bottom:16px}.login-field label{display:block;font-size:12px;font-weight:700;color:var(--text2);margin-bottom:6px}.login-field input{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;outline:none;background:var(--surface);transition:.2s}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.login-btn{width:100%;background:var(--primary);color:var(--on-primary);border-radius:var(--radius-sm);padding:13px;font-size:15px;font-weight:700;margin-top:8px;transition:.2s}.login-btn:hover:not(:disabled){background:var(--primary-hover)}.login-error{background:var(--red-bg);color:var(--red);border-radius:var(--radius-xs);padding:10px 14px;font-size:13px;margin-top:12px}.login-help{margin-top:24px;font-size:12px;color:var(--text3);text-align:center}.app{min-height:100%}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:100;transition:transform .2s}.sidebar-logo{padding:22px 20px 14px;border-bottom:1px solid var(--border)}.logo-mark{font-family:var(--font-brand);font-size:22px;font-weight:700;color:var(--primary);letter-spacing:-.02em}.logo-sub{font-size:11px;color:var(--text3)}.sidebar-profile{display:flex;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--primary-light);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center}.profile-name{font-weight:700;font-size:14px}.profile-meta{font-size:12px;color:var(--text2)}.sidebar-nav{flex:1;padding:10px}.nav-section-title{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.8px;padding:12px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text2);font-size:13px;font-weight:500;text-decoration:none;transition:.15s}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:700}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px}.nav-soon{margin-left:auto;font-size:10px;color:var(--text3)}.sidebar-footer{padding:12px 14px;border-top:1px solid var(--border)}.logout-btn{width:100%;text-align:left;color:var(--text3);font-size:13px;padding:8px 10px;border-radius:var(--radius-xs)}.logout-btn:hover{background:var(--red-bg);color:var(--red)}.main{margin-left:var(--sidebar-w);min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--sidebar-bg);border-bottom:1px solid var(--border);height:var(--topbar-h);padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.topbar-title{font-size:16px;font-weight:700}.icon-btn{width:36px;height:36px;border-radius:var(--radius-sm);font-size:17px}.icon-btn:hover:not(:disabled){background:var(--bg)}.menu-toggle{display:none}.topbar{padding-top:env(safe-area-inset-top,0px)}.topbar-left{min-width:0}.topbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-logo{display:none;font-family:var(--font-brand);font-size:17px;font-weight:700;color:var(--primary);letter-spacing:-.02em;text-decoration:none;white-space:nowrap;flex-shrink:0}.topbar-wide{display:inline-flex;align-items:center;gap:10px}.logo-compact{display:none}.theme-select{border:1px solid var(--border);border-radius:var(--radius-xs);padding:6px 8px;background:var(--surface);font-size:12px}.content{padding:28px;flex:1}.page{max-width:1200px}.page-header{margin-bottom:20px}.page-header h1{font-size:22px;font-weight:900;letter-spacing:-.5px;margin-bottom:4px}.page-header p{font-size:13px;color:var(--text2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-title{font-size:14px;font-weight:700;margin-bottom:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.muted{color:var(--text3)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--text2)}.info-list{display:grid;grid-template-columns:80px 1fr;row-gap:8px;font-size:13px}.info-list dt{color:var(--text2)}.roadmap{padding-left:20px;font-size:13px;display:grid;gap:6px;color:var(--text2)}.roadmap .done{color:var(--green-text);font-weight:700}.empty-state{text-align:center;padding:56px 20px}.empty-icon{display:flex;justify-content:center;margin-bottom:8px;color:var(--text3)}.empty-state h2{font-size:18px;margin-bottom:4px}.empty-state p{color:var(--text2)}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;transition:.2s}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);border:1.5px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--red-bg);color:var(--red)}.btn-success{background:var(--green-bg);color:var(--green-text)}.btn-sm{padding:7px 12px;font-size:12px;border-radius:var(--radius-xs)}.btn-xs{padding:4px 9px;font-size:11px;border-radius:var(--radius-sm)}.form-input{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:7px 10px;font-size:13px;background:var(--surface);outline:none}.form-input:focus{border-color:var(--accent)}.form-input.narrow{width:80px;flex-shrink:0}.form-error{color:var(--red);font-size:13px;margin:8px 0}.inline-form{display:flex;gap:8px;margin-top:12px}.simple-list{list-style:none;display:grid;gap:4px}.simple-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius-xs);background:var(--surface-2)}.table-wrap{padding:0;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:12px;color:var(--text2);font-weight:700;padding:12px;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.table td{padding:8px 12px;border-bottom:1px solid var(--border);min-width:110px}.row-inactive td{opacity:.5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:460px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px 20px;border-bottom:1px solid var(--border)}.modal-title{font-size:16px;font-weight:700}.modal-body{padding:18px 20px 20px;overflow-y:auto}.form-field{margin-bottom:14px}.form-field label{display:block;font-size:12px;font-weight:700;color:var(--text2);margin-bottom:5px}.form-hint{font-size:11px;color:var(--text3);margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notice{background:var(--green-bg);color:var(--green-text);border-radius:var(--radius-xs);padding:10px 14px;font-size:13px;margin-bottom:12px}.profile-link{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none;padding:14px 18px;border-bottom:1px solid var(--border)}.profile-link:hover{background:var(--bg)}.profile-link.active .profile-name{color:var(--primary)}textarea.form-input{resize:vertical;min-height:80px;line-height:1.5}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-wide{max-width:640px}@media(max-width:639px){.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal.modal-wide{max-width:none;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-body{overflow-x:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}.modal-title{overflow-wrap:anywhere}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.badge-red{background:var(--red-solid);color:var(--on-solid)}.badge-orange{background:var(--orange-solid);color:var(--on-solid)}.badge-green{background:var(--green-solid);color:var(--on-solid)}.badge-blue{background:var(--blue-solid);color:var(--on-solid)}.badge-purple{background:var(--purple-solid);color:var(--on-solid)}.badge-gray{background:var(--surface-2);color:var(--text2);border:1px solid var(--border)}.due-over{color:var(--red);font-weight:700}.nav-badge{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--red);color:var(--on-primary);font-size:11px;font-weight:700;text-align:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;overflow-x:auto}.tab{padding:10px 14px;font-size:13px;font-weight:700;color:var(--text2);border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-count{display:inline-block;min-width:20px;padding:0 6px;margin-left:2px;border-radius:var(--radius-pill);background:var(--bg);color:var(--text2);font-size:11px;text-align:center}.tab.active .tab-count{background:var(--primary-light);color:var(--primary)}.req-list{display:grid;gap:10px}.req-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow);transition:.15s}.req-card:hover{border-color:var(--primary)}.req-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.req-title{font-weight:700;font-size:14px;overflow-wrap:anywhere}.req-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;color:var(--text2)}.req-time{margin-left:auto}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12px}.detail-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:var(--surface-2);border-radius:var(--radius-xs);padding:10px 12px}.comments{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.comment-list{list-style:none;display:grid;gap:10px;margin-bottom:4px}.comment-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:4px}.kanban{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:16px;align-items:start}.kanban-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.kanban-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;margin-bottom:8px}.kanban-body{display:grid;gap:10px}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.task-done .task-title{text-decoration:line-through;color:var(--text2)}.task-hold{opacity:.55}.task-hold:hover,.task-hold:focus-within{opacity:.85}.task-title{font-weight:700;font-size:13px;margin-bottom:6px;overflow-wrap:anywhere}.task-desc{margin-top:6px;font-size:12px;color:var(--text2);white-space:pre-wrap;overflow-wrap:anywhere}.task-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dash-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;color:inherit;text-decoration:none;font-size:13px}.dash-row-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dash-row-side{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px}.simple-list li:has(.dash-row):hover{background:var(--primary-light)}.bell-btn{position:relative}.bell-badge{position:absolute;top:1px;right:0;min-width:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--red);color:var(--on-primary);font-size:10px;font-weight:700;line-height:17px}.nt-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000004d;animation:nt-fade .2s ease-out}.nt-panel{position:absolute;top:0;right:0;width:400px;max-width:100vw;height:100dvh;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;outline:none;animation:nt-slide .2s ease-out}@keyframes nt-slide{0%{transform:translate(100%)}to{transform:none}}@keyframes nt-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.nt-backdrop,.nt-panel{animation:none}}.nt-head{display:flex;align-items:center;gap:8px;padding:12px 10px 8px 20px}.nt-title{font-size:20px;font-weight:900;margin-right:auto}.nt-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:16px}.nt-pending{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 24px);margin:12px 12px 0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--orange-bg);color:var(--text);font-size:13px;font-weight:700;text-align:left}.nt-pending:hover{box-shadow:var(--shadow)}.nt-filter{display:flex;gap:6px;padding:12px 16px 4px}.nt-chip{padding:5px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;color:var(--text2);background:var(--surface);border:1.5px solid var(--border)}.nt-chip.active{background:var(--text);color:var(--surface);border-color:var(--text)}.nt-msg{padding:0 16px}.nt-empty{padding:48px 20px;text-align:center;color:var(--text2);font-size:13px}.nt-section-title{font-size:14px;font-weight:800;padding:14px 16px 6px}.nt-list{list-style:none}.nt-item{position:relative;display:flex;align-items:center;gap:8px;padding:0 12px 0 0}.nt-item.unread{background:var(--accent-light)}.nt-item:hover{background:var(--bg)}.nt-dot{position:absolute;left:5px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--blue)}.nt-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:9px 0 9px 16px;text-align:left;color:inherit}.nt-avatar{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700}.nt-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.nt-av-0{background:var(--blue-bg);color:var(--blue)}.nt-av-1{background:var(--purple-bg);color:var(--purple)}.nt-av-2{background:var(--orange-bg);color:var(--orange)}.nt-av-3{background:var(--green-bg);color:var(--green-text)}.nt-av-4{background:var(--red-bg);color:var(--red)}.nt-av-5{background:var(--cal-arrival-bg);color:var(--cal-arrival)}.nt-kind{position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:50%;background:var(--surface);border:1.5px solid var(--surface);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;font-size:11px}.nt-kind{color:var(--text2)}.nt-text{min-width:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.nt-text b{font-weight:700}.nt-time{color:var(--text3);white-space:nowrap}.nt-actions{flex-shrink:0;display:flex;gap:6px;align-items:center}.nt-handled{font-size:12px;font-weight:700;color:var(--text2)}@media(max-width:639px){.nt-panel{width:100vw;border-left:0}}.cal-cat-general{--c: var(--cal-general);--c-bg: var(--cal-general-bg);--c-solid: var(--cal-general-solid)}.cal-cat-meeting{--c: var(--cal-meeting);--c-bg: var(--cal-meeting-bg);--c-solid: var(--cal-meeting-solid)}.cal-cat-outside{--c: var(--cal-outside);--c-bg: var(--cal-outside-bg);--c-solid: var(--cal-outside-solid)}.cal-cat-arrival{--c: var(--cal-arrival);--c-bg: var(--cal-arrival-bg);--c-solid: var(--cal-arrival-solid)}.cal-cat-holiday{--c: var(--cal-holiday);--c-bg: var(--cal-holiday-bg);--c-solid: var(--cal-holiday-solid)}.cal-cat-leave,.cal-cat-leave_am,.cal-cat-leave_pm{--c: var(--cal-leave);--c-bg: var(--cal-leave-bg);--c-solid: var(--cal-leave-solid)}.cal-bar.is-pending{opacity:.6;border-style:dashed;border-left-style:dashed}.cal-deadline-dot{--c: var(--text3);--c-bg: var(--surface-2)}.cal-badge{background:var(--c-solid);color:var(--on-solid)}.check-row{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:12px;cursor:pointer}.cal-page{max-width:1400px}.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cal-nav{display:flex;align-items:center;gap:6px}.cal-month{font-size:20px;font-weight:900;letter-spacing:-.5px;min-width:120px;text-align:center}.cal-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.cal-chip{padding:5px 11px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;background:var(--c-bg);color:var(--c);border:1.5px solid var(--c);transition:.15s}.cal-chip-private{--c: var(--text2);--c-bg: var(--surface-2)}.cal-chip:not(.off):not(.cal-chip-private){background:var(--c-solid);color:var(--on-solid);border-color:transparent}.cal-chip.off{background:var(--surface);color:var(--text3);border-color:var(--border);text-decoration:line-through}.cal-seg{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-pill);overflow:hidden;margin-left:auto;background:var(--surface)}.cal-seg-label{font-size:12px;font-weight:700;color:var(--text2);padding:0 8px 0 12px}.cal-seg button{padding:5px 11px;font-size:12px;font-weight:700;color:var(--text2);border-left:1px solid var(--border)}.cal-seg button.active{background:var(--primary);color:var(--on-primary)}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.cal-grid{padding:0;overflow:hidden}.cal-grid.is-loading{opacity:.75}.cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface-2);border-bottom:1px solid var(--border)}.cal-weekdays div{text-align:center;font-size:12px;font-weight:700;color:var(--text2);padding:8px 0}.cal-weekdays .sun{color:var(--cal-sunday)}.cal-weekdays .sat{color:var(--cal-saturday)}.cal-week{position:relative;min-height:96px;border-bottom:1px solid var(--border)}.cal-week:last-child{border-bottom:none}.cal-week-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-cell{border-right:1px solid var(--border);padding:3px 4px;cursor:pointer;min-width:0}.cal-cell:last-child{border-right:none}.cal-cell:hover{background:var(--surface-2)}.cal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cal-cell.is-other{opacity:.45}.cal-daynum{min-width:22px;height:22px;padding:0 4px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;color:var(--text)}.cal-daynum:hover{background:var(--border)}.cal-cell.sun .cal-daynum,.cal-cell.is-holiday .cal-daynum{color:var(--cal-sunday)}.cal-cell.sat:not(.is-holiday) .cal-daynum{color:var(--cal-saturday)}.cal-cell.is-today .cal-daynum{background:var(--primary);color:var(--on-primary)}.cal-week-items{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:20px;row-gap:2px;padding:28px 0 6px;pointer-events:none}.cal-week-items>*{pointer-events:auto;min-width:0;margin:0 3px}.cal-bar,.cal-line,.cal-deadline,.cal-more{display:block;height:20px;line-height:18px;font-size:11px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius-xs);padding:0 6px}.cal-bar{background:var(--c-bg);color:var(--c);font-weight:700;border:1px solid var(--c-bg);border-left:3px solid var(--c)}.cal-bar.cont-l{border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:1px;margin-left:0}.cal-bar.cont-r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-cat-holiday.cal-bar{background:var(--c-solid);color:var(--on-solid);border-color:var(--c-solid)}.cal-line{color:var(--text)}.cal-line:hover,.cal-bar:hover{filter:brightness(.96)}.cal-line-time{color:var(--text2);font-weight:700}.cal-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c);margin-right:4px;vertical-align:1px;flex-shrink:0}.cal-deadline{border:1px dashed var(--text3);color:var(--text2);background:var(--surface)}.cal-deadline.over{border:1px solid var(--red);color:var(--red);font-weight:700}.cal-deadline.done{color:var(--text3);text-decoration:line-through;border-color:var(--border)}.cal-deadline.hold{opacity:.5}.cal-more{color:var(--text2);font-weight:700}.cal-more:hover{background:var(--bg);color:var(--primary)}.cal-grid.is-mobile .cal-week{min-height:58px}.cal-grid.is-mobile .cal-week-bg{position:static;height:100%;min-height:58px}.cal-dots{display:flex;flex-wrap:wrap;gap:2px;padding:2px 2px 0;align-items:center}.cal-dots .cal-dot{margin:0}.cal-dots .cal-deadline-dot{background:transparent;border:1.5px solid var(--text3)}.cal-dots-more{font-size:10px;color:var(--text3);font-weight:700;line-height:1}.cal-daylist{list-style:none;display:grid;gap:4px}.cal-daylist-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:var(--radius-xs);background:var(--surface-2);font-size:13px;flex-wrap:wrap}.cal-daylist-item:hover{background:var(--primary-light)}.cal-daylist-item .cal-deadline{height:auto;white-space:normal}.cal-daylist-time{color:var(--text2);font-size:12px;font-weight:700;min-width:72px}.cal-daylist-title{font-weight:700;overflow-wrap:anywhere;flex:1;min-width:0}.cal-daylist-range{font-size:11px}.cal-side{display:grid;gap:16px}.cal-side .card{padding:16px}.cal-side-list{list-style:none;display:grid;gap:2px}.cal-side-item{display:flex;gap:10px;width:100%;text-align:left;padding:7px 8px;border-radius:var(--radius-xs);font-size:13px}.cal-side-item:hover{background:var(--bg)}.cal-side-item.is-past{opacity:.45}.cal-side-date{flex-shrink:0;min-width:64px;font-size:12px;font-weight:700;color:var(--text2)}.cal-side-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.cal-layout{grid-template-columns:1fr}}@media(max-width:639px){.cal-seg{margin-left:0}.cal-month{font-size:17px;min-width:0}.cal-cell{padding:2px}.cal-daynum{font-size:11px;min-width:20px;height:20px}}.pal-gray{--p-bg: var(--pal-gray-bg);--p-fg: var(--pal-gray-fg);--p-solid: var(--pal-gray-solid)}.pal-red{--p-bg: var(--pal-red-bg);--p-fg: var(--pal-red-fg);--p-solid: var(--pal-red-solid)}.pal-orange{--p-bg: var(--pal-orange-bg);--p-fg: var(--pal-orange-fg);--p-solid: var(--pal-orange-solid)}.pal-yellow{--p-bg: var(--pal-yellow-bg);--p-fg: var(--pal-yellow-fg);--p-solid: var(--pal-yellow-solid)}.pal-green{--p-bg: var(--pal-green-bg);--p-fg: var(--pal-green-fg);--p-solid: var(--pal-green-solid)}.pal-teal{--p-bg: var(--pal-teal-bg);--p-fg: var(--pal-teal-fg);--p-solid: var(--pal-teal-solid)}.pal-sky{--p-bg: var(--pal-sky-bg);--p-fg: var(--pal-sky-fg);--p-solid: var(--pal-sky-solid)}.pal-blue{--p-bg: var(--pal-blue-bg);--p-fg: var(--pal-blue-fg);--p-solid: var(--pal-blue-solid)}.pal-indigo{--p-bg: var(--pal-indigo-bg);--p-fg: var(--pal-indigo-fg);--p-solid: var(--pal-indigo-solid)}.pal-purple{--p-bg: var(--pal-purple-bg);--p-fg: var(--pal-purple-fg);--p-solid: var(--pal-purple-solid)}.pal-pink{--p-bg: var(--pal-pink-bg);--p-fg: var(--pal-pink-fg);--p-solid: var(--pal-pink-solid)}.pal-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--p-fg);flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--p-solid);color:var(--on-solid);font-size:11px;font-weight:700;white-space:nowrap}.status-badge .pal-dot{background:var(--on-solid)}.group-badge{display:inline-block;padding:1px 7px;border-radius:var(--radius-xs);font-size:11px;font-weight:700;color:var(--p-fg);border:1px solid var(--p-bg);white-space:nowrap}.status-trigger{display:inline-flex;align-items:center;gap:2px;border-radius:var(--radius-pill);padding:1px}.status-trigger:hover:not(:disabled) .status-badge{box-shadow:0 0 0 2px var(--p-bg)}.status-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.status-caret{font-size:10px;color:var(--text3)}.floating{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.status-pop{min-width:180px;max-height:min(420px,calc(100dvh - 16px));overflow-y:auto;padding:6px}.status-pop-group+.status-pop-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.status-pop-title{font-size:11px;font-weight:700;color:var(--text3);padding:4px 8px 2px}.status-pop-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:5px 8px;border-radius:var(--radius-xs);font-size:12px;color:var(--text2)}.status-pop-item:hover,.status-pop-item:focus-visible{background:var(--bg)}.status-pop-item.active{background:var(--primary-light)}.status-pop-edit{display:block;width:100%;text-align:left;margin-top:4px;padding:8px;border-top:1px solid var(--border);font-size:12px;font-weight:700;color:var(--text2)}.status-pop-edit:hover{color:var(--primary)}.color-trigger{width:26px;height:26px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;background:var(--p-bg);flex-shrink:0}.color-trigger .pal-dot,.color-swatch .pal-dot{width:12px;height:12px}.color-pop{display:grid;grid-template-columns:repeat(6,28px);gap:4px;padding:8px}.color-swatch{width:28px;height:28px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;background:var(--p-bg);border:2px solid transparent}.color-swatch.active{border-color:var(--p-fg)}.work-tabs{margin-bottom:18px;flex-wrap:nowrap}.work-tabs .tab{font-size:14px;padding:10px 16px;text-decoration:none}.tab-count-alert,.tab.active .tab-count-alert{background:var(--red);color:var(--on-primary)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chip-count{font-weight:500;opacity:.75}.kanban-hint{margin:-4px 0 8px}.task-lock{font-size:12px}.task-dates{font-size:12px;white-space:nowrap}.check-row.is-disabled{cursor:not-allowed;color:var(--text3)}.check-hint{margin:-8px 0 12px 22px}.task-card.is-clickable{cursor:pointer;transition:border-color .15s}.task-card.is-clickable:hover{border-color:var(--primary)}.task-card.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.task-card-top{display:flex;align-items:flex-start;gap:8px}.task-card-top .task-title{flex:1;min-width:0;margin-top:6px}.task-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:10px}.task-card-bottom .req-card-meta{flex:1;min-width:0}.task-desc-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-status-slot{display:inline-flex}.task-comments{font-size:12px;color:var(--text2);white-space:nowrap}.card-icon-btn{flex-shrink:0;width:36px;height:36px;margin:-4px -4px 0 0;border-radius:var(--radius-xs);font-size:15px;color:var(--text3)}.card-icon-btn.danger:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.card-done-btn{flex-shrink:0;min-height:36px;padding:0 14px}.task-info{margin-bottom:14px;align-items:center}.activity{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.act-list{list-style:none;display:grid;gap:10px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 8px}.act-empty{font-size:12px}.act-status{font-size:12px;color:var(--text3);padding-left:38px;overflow-wrap:anywhere}.act-comment{display:flex;gap:10px;align-items:flex-start}.act-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.act-avatar img{width:100%;height:100%;object-fit:cover}.act-avatar.sm{width:22px;height:22px;font-size:11px}.act-main{flex:1;min-width:0}.act-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:12px;margin-bottom:2px}.act-tools{margin-left:auto;display:flex;gap:2px}.act-body{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-2);border-radius:var(--radius-xs);padding:8px 10px}.mention{background:var(--primary-light);color:var(--primary);font-weight:700;border-radius:var(--radius-xs);padding:0 2px}.link-btn{font-size:12px;color:var(--text2);padding:2px 6px;border-radius:var(--radius-sm)}.link-btn:hover:not(:disabled){background:var(--bg);color:var(--primary)}.link-btn.danger:hover:not(:disabled){color:var(--red);background:var(--red-bg)}.comment-editor{margin-top:10px}.comment-editor.is-edit{margin-top:4px}.comment-editor textarea.form-input{min-height:0}.comment-editor-foot{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:6px}.comment-len{margin-right:auto;font-size:11px}.mention-list{list-style:none;margin-bottom:6px;max-height:200px;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.mention-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:var(--radius-xs);font-size:13px;text-align:left}.mention-item.active{background:var(--primary-light);color:var(--primary)}.mention-hint{margin:0 0 6px}.alert-badge.with-icon{gap:4px}.alert-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-pill);font-size:11px;font-weight:800;white-space:nowrap;vertical-align:1px;text-decoration:none}.alert-mention{background:var(--accent);color:var(--on-accent)}.alert-comment{background:var(--orange-bg);color:var(--orange)}.mention-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--accent-light);margin-left:2px}.tab-count-mention,.tab.active .tab-count-mention{background:var(--accent);color:var(--on-accent)}.team-chips.is-off{opacity:.5}.mention-toggle.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.team-page{max-width:1400px}.team-toolbar{display:grid;gap:8px;margin-bottom:14px}.team-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.team-chips{margin-bottom:0}.seg{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-pill);overflow:hidden;background:var(--surface)}.seg-label{font-size:12px;font-weight:700;color:var(--text2);padding:0 8px 0 12px}.seg button{padding:5px 11px;font-size:12px;font-weight:700;color:var(--text2);border-left:1px solid var(--border)}.seg button.active{background:var(--primary);color:var(--on-primary)}.team-select{width:auto;min-width:120px}.team-check{margin-bottom:0;white-space:nowrap}.team-search{width:200px}.team-collapse{margin-left:auto}.team-table-wrap.is-loading{opacity:.75}.team-table td{min-width:0;vertical-align:middle}.team-table th:first-child,.team-table td.team-title-cell{min-width:220px}.team-nowrap{white-space:nowrap}.team-group-row td{padding:0;background:var(--surface)}.team-group-row.depth-0 td{background:var(--surface-2)}.team-group-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;text-align:left;font-weight:800;font-size:13px}.team-group-btn:hover{color:var(--primary)}.team-group-row.depth-1 .team-group-btn,.team-card-group.depth-1>.team-group-btn{padding-left:30px;font-weight:700}.team-caret{width:12px;color:var(--text3)}.team-count{font-weight:500;color:var(--text2);font-size:12px}.team-sub{font-size:11px;font-weight:500}.team-empty-row td{padding-left:48px;font-size:12px}.team-row{cursor:pointer}.team-row:hover td{background:var(--primary-light)}.team-row td.team-title-cell{padding-left:48px}.team-title{text-align:left;font-weight:700;margin-right:6px;overflow-wrap:anywhere}.team-row.task-done .team-title,.team-card.task-done .team-card-title{text-decoration:line-through;color:var(--text2)}.team-status{display:inline-flex}.team-card-list{display:grid;gap:6px}.team-card-group.depth-0{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.team-cards{list-style:none;display:grid;gap:6px;padding:0 10px 10px}.team-card-group.depth-1 .team-cards{padding-left:30px}.team-card{background:var(--surface-2);border-radius:var(--radius-xs);padding:10px 12px;cursor:pointer}.team-card:hover{background:var(--primary-light)}.team-card:focus-visible{outline:2px solid var(--accent)}.team-card-title{font-weight:700;font-size:13px;margin-bottom:6px;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.team-empty{padding:0 12px 10px 30px;font-size:12px}@media(max-width:639px){.team-search{width:100%}.team-select{flex:1}.team-collapse{margin-left:0}}.feed-page{max-width:1200px}.feed-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.feed-main{display:grid;gap:12px;min-width:0}.feed-channels{padding:8px;position:sticky;top:calc(var(--topbar-h) + 16px);max-height:calc(100dvh - var(--topbar-h) - 32px);overflow-y:auto}.feed-channels ul{list-style:none;display:grid;gap:2px}.feed-ch{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:13px;font-weight:600}.feed-ch:hover{background:var(--bg)}.feed-ch.active{background:var(--primary-light);color:var(--primary);font-weight:800}.feed-ch-icon{width:30px;height:30px;border-radius:var(--radius-xs);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.feed-ch-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-unread{flex-shrink:0}.feed-archive{margin-top:8px;border-top:1px solid var(--border);padding-top:6px}.feed-archive summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--text3);padding:6px 10px}.feed-archive .feed-ch{opacity:.7}.feed-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;grid-column:1 / -1}.feed-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 12px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);color:var(--text2);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.feed-chip.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.feed-chip.is-archived{opacity:.6}.feed-chip .nav-badge{margin-left:2px}.feed-head{display:flex;align-items:center;gap:14px;padding:16px 18px}.feed-head-icon{font-size:28px;width:48px;height:48px;border-radius:var(--radius-sm);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.feed-head-text{flex:1;min-width:0}.feed-head-text h1{font-size:18px;font-weight:900;display:flex;align-items:center;gap:8px}.feed-head-text p{font-size:13px;color:var(--text2);overflow-wrap:anywhere}.feed-ch-icon,.feed-head-icon{color:var(--text2)}.feed-access{flex-shrink:0;font-size:12px;font-weight:700;color:var(--text2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 10px}.feed-main .filter-chips{margin-bottom:0}.feed-archived-note{padding:14px 18px;color:var(--text2);font-size:13px}.feed-posts{display:grid;gap:12px}.post-card{padding:16px 18px;scroll-margin-top:calc(var(--topbar-h) + 16px);transition:box-shadow .3s,border-color .3s}.post-card.is-pinned{border-color:var(--orange)}.post-card.is-flash{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light),var(--shadow)}.post-linked{margin:-4px 0 8px}.post-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;min-width:0}.post-meta strong{font-size:13px}.post-pin{font-size:11px;font-weight:700;color:var(--orange)}.post-title{font-size:var(--fs-post-title);font-weight:700;line-height:var(--lh-post-title);margin-bottom:var(--space-post-title);overflow-wrap:anywhere;white-space:normal}.post-body{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.post-body a,.act-body a{overflow-wrap:anywhere}.post-foot{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.post-comments-btn{font-weight:700}.post-tools{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap;justify-content:flex-end}.post-comments{margin-top:10px}.post-comment-list{max-height:none;overflow:visible}.feed-more{justify-self:center}@media(max-width:899px){.feed-layout{grid-template-columns:1fr}.feed-head{flex-wrap:wrap}}.feed-write-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 18px;font-size:14px}.feed-write-btn:hover{border-color:var(--primary)}.feed-write-btn strong{color:var(--primary);font-size:15px}.feed-write-icon{width:40px;height:40px;border-radius:50%;background:var(--primary-light);display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.feed-fab{display:none}.composer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.composer{width:100%;max-width:760px;height:80vh;max-height:calc(100dvh - 32px);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden}.composer-head{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--border)}.composer-head h2{font-size:16px;font-weight:800;margin-right:auto;white-space:nowrap}.composer-room,.composer-cat{width:auto;max-width:200px}.composer-body{flex:1;min-height:0;display:flex;flex-direction:column}.composer-title-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:14px 20px;background:var(--surface)}.composer-title{flex:1;min-width:0;border:none;padding:0;font-size:var(--fs-post-title);font-weight:700;line-height:var(--lh-post-title);outline:none;background:transparent;color:var(--text)}.composer-title::placeholder{color:var(--text3);font-weight:700}.composer-title-opt{flex-shrink:0;font-size:12px;color:var(--text3)}.composer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.tb-btn{min-width:32px;height:32px;padding:0 8px;border-radius:var(--radius-xs);font-size:13px;color:var(--text2)}.tb-btn:hover{background:var(--bg);color:var(--text)}.tb-btn.active{background:var(--primary-light);color:var(--primary)}.tb-sep{width:1px;height:20px;background:var(--border);margin:0 4px}.tb-select{height:32px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);padding:0 6px;font-size:12px}.composer-editor{flex:1;min-height:0;overflow-y:auto;padding:14px 20px;cursor:text}.composer-foot{border-top:1px solid var(--border);padding:10px 16px 12px;display:grid;gap:8px}.composer-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.composer-count{margin-right:auto;font-size:12px}.composer-error{margin:0}.mention-floating{position:fixed;z-index:400;width:220px}.rich-editor{outline:none;min-height:100%;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.rich-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text3);float:left;height:0;pointer-events:none}.rich-editor p,.rich-body p{margin:0 0 4px}.rich-editor ul,.rich-editor ol,.rich-body ul,.rich-body ol{padding-left:24px;margin:4px 0 8px}.rich-editor blockquote,.rich-body blockquote{border-left:3px solid var(--border);padding:2px 0 2px 12px;margin:6px 0;color:var(--text2)}.rich-editor a,.rich-body a{color:var(--accent);text-decoration:underline}.rich-editor .mention{background:var(--primary-light);color:var(--primary);font-weight:700;border-radius:var(--radius-xs);padding:0 2px}.fs-sm{font-size:13px}.fs-lg{font-size:18px}.fs-xl{font-size:24px;font-weight:700;line-height:1.4}.rich-body{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.fi-node{margin:8px 0}.fi-frame{position:relative;width:100%;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.fi-frame img{display:block;width:100%;height:100%;object-fit:contain}.fi-node.is-selected .fi-frame{outline:2px solid var(--primary);outline-offset:2px}.fi-empty{padding:40px;text-align:center;color:var(--text3);font-size:12px}.fi-progress{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--overlay);color:var(--on-overlay);font-size:13px;font-weight:700}.fi-spinner{width:20px;height:20px;border-width:2px}.fi-remove{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;background:var(--overlay);color:var(--on-overlay);font-size:13px;opacity:0;transition:opacity .15s}.fi-node:hover .fi-remove,.fi-node.is-selected .fi-remove,.fi-remove:focus-visible{opacity:1}.file-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.file-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 4px 4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);font-size:12px}.file-chip.is-uploading{opacity:.7}.file-chip-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.file-chip-x{width:24px;height:24px;border-radius:50%;font-size:11px;color:var(--text2)}.file-chip-x:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.file-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:10px}.file-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);text-align:left;min-width:0}.file-card:hover:not(:disabled){border-color:var(--primary)}.file-card-icon{display:inline-flex;flex-shrink:0}.file-icon-pdf{color:var(--red)}.file-icon-sheet{color:var(--green)}.file-icon-doc{color:var(--blue)}.file-icon-ppt{color:var(--orange)}.file-icon-other{color:var(--text2)}.file-card-name{flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card-size{font-size:11px;flex-shrink:0}.rb-image{display:block;width:100%;margin:8px 0;padding:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);cursor:zoom-in}.rb-image img{display:block;width:100%;height:100%;object-fit:contain}.rb-image-wait{display:block;padding:40px;text-align:center;color:var(--text3);font-size:12px}.collapsible{position:relative;overflow:hidden}.collapsible.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(transparent,var(--surface));pointer-events:none}.rb-more{margin-top:4px;font-weight:700;color:var(--primary)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--lightbox-bg);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-xs)}.lightbox-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:var(--overlay);color:var(--on-overlay);font-size:16px}@media(max-width:639px){.composer-backdrop{padding:0}.composer{max-width:none;height:100dvh;max-height:none;border-radius:0}.composer-head{flex-wrap:wrap;padding:10px 10px 10px 14px}.composer-head h2{width:calc(100% - 44px)}.composer-room,.composer-cat{flex:1;max-width:none}.composer-title-row,.composer-editor{padding-left:14px;padding-right:14px}.feed-write-btn{display:none}.feed-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:20px;z-index:80;width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:22px;box-shadow:var(--shadow-md)}}.error-panel{text-align:center;padding:40px 20px;display:grid;justify-items:center;gap:8px}.error-panel h2{font-size:17px}.error-detail{margin-top:6px;max-width:560px;font-size:11px;color:var(--text3);font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.composer-error-box{width:100%;max-width:480px;display:grid;gap:8px;justify-items:center}.channel-row{display:block}.channel-row-main{display:flex;align-items:center;gap:8px}.channel-row.is-open{background:var(--surface);border-color:var(--border)}.channel-access{font-size:12px;white-space:nowrap;flex-shrink:0}.channel-desc{font-size:12px;padding:2px 0 0 54px;overflow-wrap:anywhere}.channel-editor{margin-top:10px;padding:12px;border-top:1px solid var(--border)}.member-picker{border:1px solid var(--border);border-radius:var(--radius-xs);padding:8px 12px}.member-picker legend{font-size:12px;font-weight:700;color:var(--text2);padding:0 4px}.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:2px 12px;max-height:220px;overflow-y:auto}.member-row{margin-bottom:0;padding:4px 0}.category-row{flex-wrap:wrap}.toggle-check{margin-bottom:0;font-size:12px;white-space:nowrap;color:var(--text2)}@media(max-width:639px){.channel-access{display:none}}.setting-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.setting-intro{margin:-8px 0 14px;font-size:12px}.setting-cats{display:grid;gap:18px}.setting-cat-head{margin-bottom:6px}.setting-cat-head h3{font-size:13px;font-weight:800}.setting-cat-head .form-hint{margin-top:2px}.setting-list{list-style:none;display:grid;gap:4px}.setting-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid transparent}.setting-row.is-dragging{opacity:.4}.setting-row.is-drop-target{border-color:var(--primary);background:var(--primary-light)}.setting-row.is-archived{opacity:.6}.setting-empty{padding:6px 8px;font-size:12px}.setting-sub{font-size:12px;font-weight:700;color:var(--text2);margin:16px 0 6px}.setting-add{margin-top:8px}.setting-preview{flex-shrink:0}.setting-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.name-input{flex:1;min-width:80px;padding:5px 8px;background:transparent;border-color:transparent}.name-input:hover{border-color:var(--border);background:var(--surface)}.name-input:focus{background:var(--surface)}.drag-handle{cursor:grab;color:var(--text3);font-size:14px;width:14px;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.drag-handle.is-off{cursor:default}.icon-btn-sm{width:26px;height:26px;border-radius:var(--radius-xs);font-size:11px;color:var(--text2)}.icon-btn-sm:hover:not(:disabled){background:var(--bg);color:var(--text)}.icon-btn-sm.danger:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.star-btn{width:26px;height:26px;border-radius:var(--radius-xs);font-size:15px;color:var(--text3)}.star-btn:hover:not(:disabled){background:var(--bg);color:var(--orange)}.star-btn.on{color:var(--orange)}.star-btn.on:disabled{opacity:1;cursor:default}.tip-wrap{display:inline-flex}@media(max-width:1000px){.setting-grid{grid-template-columns:1fr}}@media(max-width:639px){.setting-preview{display:none}}@media(max-width:860px){.kanban{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.page-header-row{flex-wrap:wrap}.req-time{margin-left:0}.sidebar{transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:var(--shadow-md)}.main{margin-left:0}.menu-toggle{display:inline-block}.topbar{padding:0 16px}.content{padding:16px}.grid-2{grid-template-columns:1fr}.login-box{padding:32px 22px}}.rich-editor h3,.rich-body h3{font-size:15px;font-weight:800;margin:14px 0 4px;color:var(--text)}.rich-editor h3:first-child,.rich-body h3:first-child{margin-top:0}.rich-editor ul[data-type=taskList]{list-style:none;padding-left:2px}.rich-editor ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.rich-editor ul[data-type=taskList] li>label{flex-shrink:0;display:flex;align-items:center;height:1.7em;cursor:pointer}.rich-editor ul[data-type=taskList] li>label input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.rich-editor ul[data-type=taskList] li>div{flex:1;min-width:0}.rich-editor ul[data-type=taskList] li[data-checked=true]>div{color:var(--text3);text-decoration:line-through}.rich-body .rb-tasks{list-style:none;padding-left:2px}.rb-task{display:flex;align-items:flex-start;gap:8px}.rb-task>div{flex:1;min-width:0}.rb-check{flex-shrink:0;line-height:1.7;color:var(--text2)}.rb-task.is-done>div{color:var(--text3);text-decoration:line-through}.journal-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.journal-head h1{margin-bottom:0}.journal-private{font-size:12px;color:var(--text3)}.journal-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:16px}.journal-date{font-size:18px;font-weight:800;min-width:132px;text-align:center}.journal-year{color:var(--text2);font-weight:700}.journal-picker-wrap{position:relative}.journal-picker{position:absolute;top:calc(100% + 6px);left:0;z-index:300;width:280px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.journal-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:14px}.journal-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.journal-picker-dow{text-align:center;font-size:11px;color:var(--text3);padding:4px 0}.journal-picker-day{position:relative;height:36px;border-radius:var(--radius-xs);font-size:13px;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.journal-picker-day:hover{background:var(--bg)}.journal-picker-day.is-other{color:var(--text3)}.journal-picker-day.is-today{font-weight:800;color:var(--primary)}.journal-picker-day.is-selected{background:var(--primary);color:var(--on-primary)}.journal-picker-day.is-selected .journal-dot{background:var(--on-primary)}.journal-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--primary)}.journal-picker-hint{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px}.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.journal-memo{padding:0;overflow:hidden;display:flex;flex-direction:column}.journal-memo .composer-toolbar{border-top:1px solid var(--border)}.journal-memo-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 16px}.journal-save{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text3)}.journal-save.is-saving{color:var(--text2)}.journal-save.is-error{color:var(--red);font-weight:700}.journal-notice{margin:0 16px 10px;padding:8px 12px;border-radius:var(--radius-xs);background:var(--surface-2);font-size:12px;color:var(--text2)}.journal-editor{padding:16px 20px;min-height:420px;cursor:text}.journal-foot{display:flex;justify-content:flex-end;padding:8px 16px;border-top:1px solid var(--border);font-size:12px}.journal-loading{padding:40px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.journal-side{display:flex;flex-direction:column;gap:16px}.journal-panel{padding:16px}.journal-panel .card-title{margin-bottom:10px}.journal-tasks{list-style:none;display:flex;flex-direction:column;gap:2px}.journal-task{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 8px;border-radius:var(--radius-xs);text-align:left;font-size:13px;color:var(--text)}.journal-task:hover{background:var(--bg)}.journal-task-time{flex-shrink:0;min-width:44px;font-size:12px;color:var(--text3);font-variant-numeric:tabular-nums}.journal-task-title{flex:1;min-width:0;overflow-wrap:anywhere}.journal-task.is-over .journal-task-title{color:var(--red)}@media(max-width:899px){.journal-layout{grid-template-columns:1fr}}@media(max-width:639px){.journal-date{min-width:0;font-size:16px}.journal-editor{padding:14px;min-height:320px}.journal-picker{left:auto;right:0}}.form-label{display:block;font-size:12px;font-weight:700;color:var(--text2);margin-bottom:5px}.pur-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px}.pur-chips{display:flex;flex-wrap:wrap;gap:6px}.pur-chip{padding:5px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;color:var(--text2);background:var(--surface);border:1.5px solid var(--border);white-space:nowrap}.pur-chip:hover{border-color:var(--primary);color:var(--primary)}.pur-chip.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.pur-search{width:200px}.pur-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text2);cursor:pointer;white-space:nowrap}.pur-checks{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}.pur-filter{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text2);white-space:nowrap}.pur-filter .form-input{width:auto;min-width:110px}.pur-head-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pur-group{margin-bottom:20px}.pur-group-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin-bottom:8px}.pur-group-title .muted{font-size:12px;font-weight:500}.pur-table td{vertical-align:top}.pur-name-btn{font-weight:700;color:var(--text);text-align:left;overflow-wrap:anywhere}.pur-name-btn:hover{color:var(--primary);text-decoration:underline}.pur-off{margin-left:6px}.pur-sub{font-size:11px;color:var(--text3);margin-top:2px}.pur-account{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.pur-row-3{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr)}.pur-delete{margin-right:auto}.pur-items{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.pur-items-wrap{border:1px solid var(--border);border-radius:var(--radius-xs)}.pur-sheet td{padding:4px 6px;min-width:0;vertical-align:middle}.pur-sheet th{padding:10px 8px}.pur-sheet .num,.pur-sheet th.num{text-align:right}.cell-input{min-width:70px;border-color:transparent;background:transparent;padding:6px 8px}.cell-input:hover{border-color:var(--border)}.cell-input:focus{border-color:var(--accent);background:var(--surface)}.cell-input.num,.money-input{text-align:right;font-variant-numeric:tabular-nums}.pur-narrow{width:76px;min-width:64px}.pur-sheet tr.is-missing td{background:var(--orange-bg)}.pur-sheet tr.is-missing .cell-input::placeholder{color:var(--orange);font-weight:700}.pur-new-row td{background:var(--surface-2);border-bottom:none}.pur-hint{margin:-6px 0 10px;font-size:12px}.pur-count{font-size:12px;margin-top:8px}.pur-plan{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-xs);padding:9px 12px;font-size:13px;font-weight:700}.pur-paste{font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:pre}.pur-paste-help{margin:0 0 10px;font-size:12px}.pur-paste-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}.pur-paste-sum{font-size:13px;font-weight:700;color:var(--text2)}.pur-paste-preview{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-xs)}.pur-paste-preview td{padding:6px 8px;white-space:nowrap}.pur-before{text-decoration:line-through}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;position:relative}.switch input{position:absolute;opacity:0;width:36px;height:20px;margin:0;cursor:pointer}.switch-track{width:36px;height:20px;border-radius:var(--radius-pill);background:var(--border);position:relative;transition:background .15s;flex-shrink:0}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);transition:transform .15s}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled{cursor:default}.switch.is-locked{cursor:default}.switch.is-locked .switch-track{opacity:.55}.switch-text{font-size:11px;color:var(--text3);white-space:nowrap}@media(max-width:639px){.pur-search{width:100%}.pur-row-3{grid-template-columns:1fr}.pur-head-actions{justify-content:flex-start}.pur-filter .form-input{min-width:90px}}.po-page{max-width:none}.po-months{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px;border-bottom:2px solid var(--sheet-border);margin-bottom:12px}.po-month{padding:6px 16px;font-size:13px;font-weight:700;color:var(--text2);background:var(--sheet-label-bg);border:1px solid var(--sheet-border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.po-month.active{background:var(--surface);color:var(--primary);box-shadow:inset 0 3px 0 var(--primary)}.po-month-now{color:var(--primary);margin-left:3px}.po-month-arrow{padding:6px 10px;font-size:11px;color:var(--text2)}.po-month-today{margin-left:8px;padding:6px 10px;font-size:12px;color:var(--primary);font-weight:700}.po-toolbar{margin-bottom:10px}.po-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.po-wrap{overflow:auto;max-height:calc(100dvh - 250px);min-height:320px;border:1px solid var(--sheet-border);border-radius:var(--radius-xs);background:var(--surface)}.po-sheet{--pc-sel: 34px;--pc-date: 64px;--pc-no: 76px;--pc-img: 92px;--pc-l1: 66px;--pc-v1: 140px;--pc-l2: 48px;--pc-v2: 104px;--pc-vn: 96px;--pc-am: 86px;--pc-vat: 80px;--pc-tot: 84px;--pc-vcol: 92px;--pc-left: calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1) + var(--pc-l2) + var(--pc-v2) + var(--pc-vn) + var(--pc-am) + var(--pc-vat) + var(--pc-tot));width:max(100%,calc(var(--pc-left) + var(--pc-vcol) * var(--po-vcols, 0)));table-layout:fixed;border-collapse:separate;border-spacing:0;font-family:var(--font-sheet);font-size:var(--sheet-font);color:var(--text)}.po-sheet col.pc-sel{width:var(--pc-sel)}.po-sheet col.pc-date{width:var(--pc-date)}.po-sheet col.pc-no{width:var(--pc-no)}.po-sheet col.pc-img{width:var(--pc-img)}.po-sheet col.pc-l1{width:var(--pc-l1)}.po-sheet col.pc-v1{width:var(--pc-v1)}.po-sheet col.pc-l2{width:var(--pc-l2)}.po-sheet col.pc-v2{width:var(--pc-v2)}.po-sheet col.pc-vn{width:var(--pc-vn)}.po-sheet col.pc-am{width:var(--pc-am)}.po-sheet col.pc-vat{width:var(--pc-vat)}.po-sheet col.pc-tot{width:var(--pc-tot)}.po-sheet col.pc-vcol{width:var(--pc-vcol)}.po-sheet th,.po-sheet td{height:var(--sheet-row-h);padding:0 6px;border-right:1px solid var(--sheet-line);border-bottom:1px solid var(--sheet-line);background:var(--sheet-cell-bg);vertical-align:middle;overflow:hidden}.po-sheet thead th{position:sticky;top:0;z-index:3;background:var(--sheet-label-bg);font-weight:700;text-align:center;white-space:nowrap}.po-sheet .po-head-row th{top:var(--sheet-row-h);border-bottom:2px solid var(--sheet-strong)}.po-sheet .po-total-row th{font-weight:800}.po-sheet .po-total-label{color:var(--sheet-sum-fg);text-align:left}.po-total-sub{font-weight:500;color:var(--text2);margin-left:6px}.po-sheet .num{text-align:right;font-variant-numeric:tabular-nums}.po-sheet tr.po-first>td{border-top:2px solid var(--sheet-strong)}.po-sheet tbody tr:first-child>td{border-top:none}.po-sheet .po-fill{width:auto;min-width:0;border-right:none;background:transparent}.po-sheet .po-lbl,.po-card .po-lbl{background:var(--sheet-label-bg);color:var(--text2);font-weight:600;text-align:center;white-space:nowrap}.po-sheet .po-val{padding:0}.po-date,.po-no{text-align:center;font-weight:700}.po-sheet .po-no{color:var(--text2)}.po-sheet .po-img{padding:2px}.po-vname{font-weight:600;white-space:nowrap;text-overflow:ellipsis}.po-vname-in{display:flex;align-items:center;justify-content:space-between;gap:2px}.po-x{font-size:10px;color:var(--text3);padding:0 3px}.po-x:hover{color:var(--red)}.po-sheet .po-sum-label,.po-card .po-sum-label{color:var(--sheet-sum-fg);background:var(--sheet-sum-bg);font-weight:800;text-align:center;white-space:nowrap}.po-sum-miss{font-weight:600;font-size:10px}.po-sheet .po-sum,.po-card .po-sum td{background:var(--sheet-sum-bg);font-weight:800}.po-sheet .po-vcol{text-align:right;padding-right:8px}.po-dash{color:var(--text3)}.po-num{font-variant-numeric:tabular-nums}.po-missing{color:var(--orange);font-weight:700;font-size:11px}.po-missing-wrap{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.po-link{color:var(--accent);font-size:11px;text-decoration:underline}.po-hint{display:block;padding:3px 6px;font-size:11px;color:var(--text3)}.po-sheet .po-row.is-draft>td.po-val{background:var(--primary-light)}.po-sheet .po-sel{padding:0;text-align:center}.po-sel-box{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--accent);vertical-align:middle}.po-sheet tr.is-selected>td:not(.po-lbl):not(.po-sum):not(.po-sum-label){background:var(--sheet-sel-bg)}.po-card.is-selected{background:var(--sheet-sel-bg)}.po-card-all{margin-left:10px;font-weight:600}.po-del-btn{background:var(--red);color:var(--on-primary)}.po-del-btn:hover:not(:disabled){filter:brightness(.92)}.po-serial{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;min-height:calc(var(--sheet-row-h) - 1px);padding:0 8px}.po-serial-no{font-family:ui-monospace,Consolas,monospace;font-size:calc(var(--sheet-font) + 1px);font-weight:800;letter-spacing:.02em;-webkit-user-select:all;user-select:all}.po-serial-copy{font-size:12px;padding:1px 4px;border-radius:var(--radius-xs)}.po-serial-copy:hover{background:var(--sheet-label-bg)}.po-serial-done{font-size:11px;font-weight:700;color:var(--green-text)}.po-serial-warn{font-size:11px;font-weight:700;color:var(--orange)}.po-serial-empty{display:flex;align-items:center;min-height:calc(var(--sheet-row-h) - 1px);padding:0 8px;font-size:11px;color:var(--text3)}.po-doc-wrap{container-type:inline-size;width:min(100%,460px);margin:0 auto}.po-doc{width:100%;aspect-ratio:2480 / 3508;display:flex;flex-direction:column;align-items:center;padding:8.06cqw 6.85cqw 6.85cqw;background:var(--doc-paper-bg);color:var(--doc-paper-fg);box-shadow:var(--doc-paper-shadow);font-family:var(--font-sheet);font-weight:700;text-align:center;overflow:hidden}.po-doc-title{font-size:6.05cqw;line-height:1.3;font-weight:800}.po-doc-serial{margin-top:2.4cqw;padding:1.95cqw 2.8cqw;border:.32cqw solid var(--doc-paper-fg);font-size:4.44cqw;line-height:1}.po-doc-line{font-size:3.39cqw;line-height:1.45}.po-doc-serial+.po-doc-line{margin-top:3.2cqw}.po-doc-img{flex:1;min-height:0;width:100%;margin:2cqw 0 2.4cqw;display:flex;align-items:center;justify-content:center}.po-doc-img img{max-width:100%;max-height:100%;object-fit:contain}.po-doc-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--doc-paper-empty);color:var(--doc-paper-muted);font-size:3.39cqw}.po-doc-route{font-size:3.06cqw;line-height:1.4}.po-doc-route-part{white-space:nowrap}.po-sheet-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;font-weight:700}.po-sheet-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.po-sheet-hint{text-align:center;margin-top:10px}.po-sheet-check{margin-bottom:12px}.po-sheet-check ul{margin:4px 0 0 18px;font-size:13px}.po-del-warn{margin-top:8px;padding:8px 10px;border-radius:var(--radius-xs);background:var(--red-bg);color:var(--red)}.po-sheet .cell-input,.po-card .cell-input{width:100%;min-width:0;height:calc(var(--sheet-row-h) - 1px);padding:0 8px;border-radius:0;font-size:var(--sheet-font);font-family:var(--font-sheet)}.po-sheet .cell-input::placeholder,.po-card .cell-input::placeholder{color:var(--text3);font-size:11px}.cell-input.is-invalid{text-decoration:underline wavy var(--red);text-underline-offset:3px}.po-unknown{display:block;padding:1px 5px 3px;font-size:11px;color:var(--red);white-space:normal}.po-route{display:block}.po-sheet .po-route-cell{vertical-align:top}.po-qty{display:flex;align-items:center}.po-unit{padding:0 5px 0 1px;color:var(--text2);font-size:11px}.po-select{width:100%;height:calc(var(--sheet-row-h) - 1px);border:none;background:transparent;font-size:var(--sheet-font);font-family:var(--font-sheet);color:var(--text);padding:0 2px}.po-select.is-empty{color:var(--text3)}.po-select:focus,.po-wanpo:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.po-wanpo{width:100%;height:calc(var(--sheet-row-h) - 1px);font-weight:800;font-size:13px}.po-wanpo:hover{background:var(--sheet-label-bg)}.po-wanpo.is-o{color:var(--green-text)}.po-wanpo.is-x{color:var(--text3)}.po-vat{display:flex;align-items:center;justify-content:flex-end;gap:3px}.po-vat-btn{font-size:9px;padding:0 3px;border:1px solid var(--sheet-border);border-radius:var(--radius-xs);color:var(--text3);line-height:14px}.po-vat-btn:hover{color:var(--primary);border-color:var(--primary)}.po-date-wrap{position:relative;display:flex;align-items:center;justify-content:center;height:100%;min-height:var(--sheet-row-h)}.po-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer;border:none}.po-date-wrap:focus-within .po-date-text{outline:1.5px solid var(--accent);outline-offset:2px}.po-title-in{display:flex;align-items:center}.po-title-in .cell-input{font-weight:700}.po-menu{position:relative;flex-shrink:0}.po-menu-btn{width:24px;height:calc(var(--sheet-row-h) - 1px);color:var(--text3);font-weight:800}.po-menu-btn:hover,.po-menu-btn[aria-expanded=true]{color:var(--text);background:var(--sheet-label-bg)}.po-menu-pop{position:absolute;right:0;top:100%;z-index:30;display:grid;min-width:150px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);box-shadow:var(--shadow-md)}.po-menu-pop button{text-align:left;padding:7px 10px;font-size:12px;border-radius:var(--radius-sm);white-space:nowrap}.po-menu-pop button:hover{background:var(--bg)}.po-menu-pop button.danger{color:var(--red)}.po-sheet td:has(.po-menu-pop){overflow:visible;position:relative;z-index:30}.po-image{position:relative;width:100%;height:calc(var(--sheet-row-h) * 4);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;border-radius:var(--radius-xs)}.po-image.is-over{outline:2px dashed var(--primary);outline-offset:-2px}.po-image:focus-visible{outline:2px dashed var(--accent);outline-offset:-2px}.po-image img{max-width:100%;max-height:100%;object-fit:contain}.po-image-empty{color:var(--text3);font-size:11px}.po-image.is-disabled{cursor:default;opacity:.5}.po-image-tools{position:absolute;left:0;right:0;bottom:0;display:none;justify-content:center;gap:2px;padding:2px;background:var(--overlay)}.po-image:hover .po-image-tools,.po-image:focus-within .po-image-tools{display:flex}.po-image-tools button{color:var(--on-overlay);font-size:10px;padding:1px 6px}@media(min-width:1400px){.po-sheet .stk{position:sticky;z-index:1}.po-sheet thead .stk{z-index:4}.po-sheet .sx-sel{left:0}.po-sheet .sx-date{left:var(--pc-sel)}.po-sheet .sx-no{left:calc(var(--pc-sel) + var(--pc-date))}.po-sheet .sx-img{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no))}.po-sheet .sx-l1{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img))}.po-sheet .sx-v1{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1))}.po-sheet .sx-l2{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1))}.po-sheet .sx-v2{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1) + var(--pc-l2))}.po-sheet .sx-vn{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1) + var(--pc-l2) + var(--pc-v2))}.po-sheet .sx-am{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1) + var(--pc-l2) + var(--pc-v2) + var(--pc-vn))}.po-sheet .sx-vat{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1) + var(--pc-l2) + var(--pc-v2) + var(--pc-vn) + var(--pc-am))}.po-sheet .sx-tot{left:calc(var(--pc-sel) + var(--pc-date) + var(--pc-no) + var(--pc-img) + var(--pc-l1) + var(--pc-v1) + var(--pc-l2) + var(--pc-v2) + var(--pc-vn) + var(--pc-am) + var(--pc-vat));box-shadow:2px 0 0 var(--sheet-strong)}}.po-cards{display:grid;gap:10px}.po-card{background:var(--surface);border:1px solid var(--sheet-border);border-top:3px solid var(--sheet-strong);border-radius:var(--radius-xs);padding:8px 10px;font-family:var(--font-sheet);font-size:var(--sheet-font)}.po-card-total{border-top-color:var(--sheet-sum-fg);color:var(--text2)}.po-card-total b{color:var(--sheet-sum-fg)}.po-card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.po-card-head .po-date-wrap{min-width:44px;font-weight:800}.po-card-no{font-weight:700;color:var(--text2)}.po-card-img{margin-left:auto;width:56px}.po-card-img .po-image{height:44px;border:1px solid var(--sheet-border)}.po-card-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--sheet-border);border-left:1px solid var(--sheet-border)}.po-card-field{display:grid;grid-template-columns:48px minmax(0,1fr);border-right:1px solid var(--sheet-border);border-bottom:1px solid var(--sheet-border);min-height:var(--sheet-row-h)}.po-card-field.is-wide{grid-column:1 / -1}.po-card-label{background:var(--sheet-label-bg);color:var(--text2);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:11px}.po-card-value{min-width:0;display:flex;flex-direction:column;justify-content:center}.po-card-lines{width:100%;border-collapse:collapse;margin-top:6px;table-layout:fixed}.po-card-lines td{border:1px solid var(--sheet-border);padding:2px 4px;height:var(--sheet-row-h);overflow:hidden}.po-card-lines .num{text-align:right}.po-card-goods{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:2px}.po-card-lines td.po-vname{width:30%}.pur-want{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--orange-bg);color:var(--text)}.pur-sum .num,.pur-sum th.num{text-align:right;font-variant-numeric:tabular-nums}.pur-sum td{min-width:0}.pur-sum-payer td{background:var(--surface-2);font-weight:800}.pur-sum-sub td{font-weight:700;color:var(--text2);border-bottom:2px solid var(--border)}.pur-sum-all td{font-weight:900;font-size:14px;color:var(--sheet-sum-fg);background:var(--sheet-sum-bg)}.po-vselect{font-weight:600;padding:0}.po-suggest{position:fixed;z-index:600;max-width:min(560px,calc(100vw - 16px));max-height:340px;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);box-shadow:var(--shadow-md);font-family:var(--font-sheet);font-size:var(--sheet-font)}.po-suggest-head{padding:4px 8px 6px;font-size:11px;color:var(--text3)}.po-suggest-item{padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;line-height:1.4}.po-suggest-item:hover,.po-suggest-item.is-active{background:var(--primary-light)}.po-suggest-main span,.po-suggest-dim{color:var(--text2)}.po-suggest-sub{font-size:11px;color:var(--text3)}.po-suggest-serial{margin-right:6px;color:var(--text2);font-weight:700}.po-die-pop .form-input{margin:0 4px 4px;width:calc(100% - 8px)}.po-route-edit{display:block}.po-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px;min-height:calc(var(--sheet-row-h) - 1px);padding:4px 8px;cursor:text}.po-chips:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.po-chip-wrap{display:inline-flex;align-items:center;gap:2px}.po-chip-arrow{color:var(--text3);font-size:11px;padding:0 2px}.po-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--sheet-border);border-radius:var(--radius-pill);background:var(--sheet-label-bg);font-weight:600;white-space:nowrap;line-height:1.5}.po-chip-die{color:var(--primary);font-weight:800}.po-chip-btn{font-size:11px;color:var(--text3);padding:0 2px}.po-chip-btn:hover{color:var(--primary)}.po-chip.is-nodie{border-color:var(--orange);background:var(--orange-bg)}.po-chip-ask{font-size:11px;font-weight:700;color:var(--orange)}.po-chip.is-unknown{border-color:var(--red);background:var(--red-bg);color:var(--red)}.po-chip-add{font-size:11px;color:var(--red);text-decoration:underline}.po-chips .po-unknown{flex-basis:100%;padding:0}.po-common{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px 6px}.po-common-btn{padding:2px 8px;border:1px dashed var(--sheet-border);border-radius:var(--radius-pill);font-size:11px;font-weight:700;color:var(--text2);background:var(--surface)}.po-common-btn:hover{border-color:var(--primary);color:var(--primary)}.gp-page{max-width:none}.gp-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}.gp-vendors{position:sticky;top:12px;display:grid;gap:8px;padding:12px}.gp-hide{font-size:12px}.gp-search-row{display:flex;gap:6px;align-items:center}.gp-search-row .form-input{flex:1;min-width:0}.gp-add-vendor{flex-shrink:0;white-space:nowrap}.gp-empty .po-link{font-size:12px}button.gd-fix{padding:0;border:none;background:none;cursor:pointer;font:inherit;font-size:.85em}.gp-vendor-list{list-style:none;margin:0;padding:0;max-height:calc(100dvh - 300px);overflow-y:auto;display:grid;gap:2px}.gp-vendor{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 6px;padding:7px 9px;border-radius:var(--radius-xs);text-align:left}.gp-vendor:hover{background:var(--bg)}.gp-vendor.active{background:var(--primary-light);color:var(--primary)}.gp-vendor.is-off{opacity:.55}.gp-vendor-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-vendor-role{grid-row:2;font-size:11px;color:var(--text3)}.gp-vendor-amt{grid-row:1 / span 2;grid-column:2;align-self:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text2)}.gp-empty{padding:8px}.gp-vendor-select{display:grid;gap:4px;margin-bottom:4px}.gp-main{display:grid;gap:14px;min-width:0}.gp-main>*{min-width:0}.gp-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.gp-card-head .card-title{margin:0}.gp-head-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.gp-table td{vertical-align:middle}.gi-img{width:64px}.gi-img .po-image{width:52px;height:52px;border:1px solid var(--border);background:var(--surface-2)}.gi-img .po-image-empty{font-size:10px}.gl-sel{width:30px;text-align:center}.gl-date{width:132px;padding:4px 6px;font-size:12px}.gl-serial{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.gl-thumb{display:inline-flex;width:40px;height:40px;border-radius:var(--radius-xs);background:var(--surface-2);overflow:hidden;align-items:center;justify-content:center}.gl-thumb img{max-width:100%;max-height:100%;object-fit:contain}.gl-name{font-weight:600}.gl-total{font-weight:700}.gl-table tbody tr.is-selected td{background:var(--sheet-sel-bg)}.gl-sum td{background:var(--sheet-sum-bg);font-weight:800}.gl-sum-label{text-align:right;color:var(--sheet-sum-fg)}.gl-sum-picked td{background:var(--sheet-sel-bg)}.gl-sum-picked .gl-sum-label{color:var(--primary)}.gl-manual{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;padding:8px;border:1px dashed var(--border);border-radius:var(--radius-xs)}.gl-manual .form-input{width:auto;flex:1 1 110px;min-width:90px}.gl-manual-amt{font-size:12px}@media(max-width:899px){.gp-layout{grid-template-columns:minmax(0,1fr)}}.gd-opts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}.gd-nav{margin:0 0 0 auto}.gd-missing-note{margin-bottom:8px;padding:6px 10px;border-radius:var(--radius-xs);background:var(--doc-missing-bg);color:var(--doc-missing-fg);font-size:12px}.gd-wrap{container-type:inline-size;width:min(100%,640px);margin:0 auto}.gd-doc{position:relative;width:100%;aspect-ratio:2480 / 3508;background:var(--doc-paper-bg);color:var(--doc-paper-fg);box-shadow:var(--doc-paper-shadow);font-family:var(--font-sheet);font-weight:700;overflow:hidden}.gd-doc>*{position:absolute;box-sizing:border-box}.gd-title{display:flex;align-items:center;justify-content:center;font-weight:800;white-space:pre}.gd-title span{border-bottom:.25cqw solid var(--doc-paper-fg)}.gd-meta{display:flex;align-items:center;justify-content:space-between;white-space:pre}.gd-party{border:.12cqw solid var(--doc-paper-fg);display:flex;flex-direction:column}.gd-party+.gd-party{border-left-width:.2cqw}.gd-party-head{display:flex;align-items:center;justify-content:center;background:var(--doc-paper-empty);border-bottom:.08cqw solid var(--doc-paper-fg)}.gd-party-row{display:grid;align-items:stretch;border-top:.08cqw solid var(--doc-paper-fg)}.gd-party-row:nth-child(2){border-top:none}.gd-party-label{display:flex;align-items:center;justify-content:center;border-right:.08cqw solid var(--doc-paper-fg)}.gd-party-value{display:flex;align-items:center;padding:0 .6cqw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gd-party-value.is-missing{background:var(--doc-missing-bg)}.gd-fix{color:var(--doc-missing-fg);text-decoration:underline;font-size:.85em}.gd-total{display:flex;align-items:center;justify-content:center;border:.12cqw solid var(--doc-paper-fg);white-space:nowrap}.gd-row{display:flex;border:.08cqw solid var(--doc-paper-fg);border-top:none}.gd-head{background:var(--doc-paper-empty);border-top:.12cqw solid var(--doc-paper-fg)}.gd-cell{display:flex;align-items:center;padding:0 .65cqw;overflow:hidden;white-space:nowrap;border-right:.08cqw solid var(--doc-paper-fg);flex-shrink:0}.gd-cell:last-child{border-right:none}.gd-cell.is-center{justify-content:center}.gd-cell.is-right{justify-content:flex-end}.gd-cell img{max-width:100%;max-height:90%;object-fit:contain}.gd-sum{background:var(--doc-paper-empty)}.gd-next{display:flex;justify-content:flex-end}.pur-biz-card{margin-top:14px}.pur-biz{padding:10px 0;border-top:1px solid var(--border)}.pur-biz-title{font-size:14px;margin:0 0 6px}.pur-biz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 12px}.pur-biz-field{display:grid;gap:2px}.pur-biz-field.is-wide{grid-column:1 / -1}.pur-biz-label{font-size:11px;color:var(--text2);font-weight:600}.po-goods-link{display:inline-block;padding:0 8px;font-size:12px}.pur-rec{display:grid;gap:4px;min-width:150px}.pur-rec-top{display:flex;align-items:center;gap:4px}.pur-rec-kind{padding:4px 6px;font-size:12px}.pur-rec-more{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text2);white-space:nowrap}.pur-rec-num{width:52px;min-width:44px;padding:2px 4px}.pur-rec-from{color:var(--text3)}.pur-rec-badge{flex-shrink:0;padding:1px 6px;border-radius:var(--radius-pill);font-size:10px;font-weight:800}.pur-rec-badge.is-fixed{background:var(--primary-light);color:var(--primary)}.pur-rec-badge.is-variable{background:var(--orange-solid);color:var(--on-solid)}.rc-page{max-width:none}.rc-totals{display:flex;flex-wrap:wrap;gap:8px 22px;margin:4px 0 12px;padding:10px 14px;border-radius:var(--radius-xs);background:var(--surface-2);font-size:13px}.rc-totals b{font-size:15px;font-variant-numeric:tabular-nums;margin-left:4px}.rc-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.rc-layout.has-panel{grid-template-columns:minmax(0,1fr) minmax(360px,440px)}.rc-table .rc-group td{background:var(--surface-2);font-weight:800;color:var(--text2)}.rc-row{cursor:pointer}.rc-row:hover td{background:var(--bg)}.rc-row.is-selected td{background:var(--sheet-sel-bg)}.rc-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rc-vendor{font-weight:700}.rc-diff{font-weight:800;font-variant-numeric:tabular-nums}.rc-diff.is-zero,.rc-diff.is-none{color:var(--text3);font-weight:600}.rc-diff.is-off{color:var(--red)}.rc-chip{display:inline-block;padding:1px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;background:var(--surface-2);color:var(--text2)}.rc-chip.is-received{background:var(--orange-solid);color:var(--on-solid)}.rc-chip.is-confirmed{background:var(--green-solid);color:var(--on-solid)}.rc-panel{position:sticky;top:12px;display:grid;gap:12px;max-height:calc(100dvh - 24px);overflow-y:auto}.rc-panel-head{display:flex;align-items:center;gap:8px}.rc-panel-head .card-title{margin:0;flex:1}.rc-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:6px;align-items:end}.rc-amounts label{display:grid;gap:2px}.rc-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rc-files{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px dashed var(--border);border-radius:var(--radius-xs);min-height:72px}.rc-files.is-over{outline:2px dashed var(--primary);outline-offset:-2px}.rc-files:focus-visible{outline:2px dashed var(--accent);outline-offset:-2px}.rc-thumb{position:relative;width:64px;height:64px;border-radius:var(--radius-xs);overflow:hidden;background:var(--surface-2)}.rc-thumb-btn,.rc-pdf{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.rc-thumb img{width:100%;height:100%;object-fit:cover}.rc-thumb-x{position:absolute;top:1px;right:1px;width:18px;height:18px;border-radius:50%;font-size:9px;background:var(--overlay);color:var(--on-overlay)}.rc-add{width:64px;height:64px;border:1px dashed var(--border);border-radius:var(--radius-xs);font-size:11px;color:var(--text2)}.rc-lines{display:grid;gap:6px}.rc-lines-head{display:flex;align-items:center;gap:8px}.rc-lines-search{flex:1;min-width:0;padding:5px 8px;font-size:12px}.rc-lines-table td{font-size:12px}.rc-lines-table tr.is-missing td{background:var(--orange-bg)}.rc-serial{white-space:nowrap}.rc-line-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1099px){.rc-layout.has-panel{grid-template-columns:minmax(0,1fr)}.rc-panel{position:static;max-height:none}}.pay-page{max-width:none}.pay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.pay-reload{display:flex;align-items:center;gap:8px}.pay-approve{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.pay-status{padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;background:var(--surface-2);color:var(--text2)}.pay-status.is-approved1{background:var(--primary-light);color:var(--primary)}.pay-status.is-approved2{background:var(--orange-solid);color:var(--on-solid)}.pay-status.is-paid{background:var(--green-solid);color:var(--on-solid)}.pay-returned{margin-bottom:10px;padding:8px 12px;border-radius:var(--radius-xs);background:var(--red-bg);color:var(--red);font-weight:700}.pay-sheet{display:grid;gap:14px}.pay-sheet>*{min-width:0}.pay-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.pay-title{margin:0 0 6px;font-size:22px;font-weight:800}.pay-date{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2)}.pay-date-input{width:auto;padding:4px 8px}.pay-boxes{display:flex;border:1.5px solid var(--text)}.pay-box{width:92px;border-left:1px solid var(--text);text-align:center}.pay-box:first-child{border-left:none}.pay-box-label{padding:3px 0;border-bottom:1px solid var(--text);background:var(--surface-2);font-size:12px;font-weight:700}.pay-box-sign{height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--text2)}.pay-box-sign b{font-size:13px;color:var(--text)}.pay-section-head{padding:6px 10px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:var(--surface-2);font-size:14px}.pay-table td{font-size:12.5px}.pay-table tr.is-excluded td{opacity:.45;text-decoration:line-through;text-decoration-color:var(--text3)}.pay-table tr.is-excluded td.pay-inc{opacity:1;text-decoration:none}.pay-inc{width:28px;text-align:center}.pay-name{font-weight:700;min-width:150px}.pay-basis{display:inline-block;margin-left:5px;padding:0 5px;border-radius:var(--radius-xs);font-size:10px;font-weight:700;background:var(--surface-2);color:var(--text3)}.pay-basis.is-statement{background:var(--primary-light);color:var(--primary)}.pay-miss{display:inline-block;margin-left:5px;font-size:11px;font-weight:800;color:var(--orange)}.pay-total{font-weight:800}.pay-sum td{background:var(--sheet-sum-bg);font-weight:800}.pay-row-tools{white-space:nowrap}.pay-add{display:flex;flex-wrap:wrap;gap:6px}.pay-add .form-input{width:auto;flex:1 1 220px}.pay-add select.form-input{flex:0 0 auto}.pay-grand{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px;padding:10px 14px;border-top:2px solid var(--text);font-size:14px}.pay-grand>span:first-child{margin-right:auto;font-weight:800}.pay-grand b{font-variant-numeric:tabular-nums}.pur-code-mark{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid var(--primary);border-radius:var(--radius-xs);font-family:ui-monospace,Consolas,monospace;font-size:10px;font-weight:800;color:var(--primary)}.pur-code-input{text-transform:uppercase;font-size:14px;font-weight:700;color:var(--text)}.pur-die-mark{display:inline-block;margin-left:4px;padding:1px 6px;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:10px;font-weight:700;color:var(--text2)}.po-toolbar .pur-search{width:260px}.cn-page{max-width:none}.cn-filters{margin-bottom:12px}.cn-filter{width:auto;min-width:120px}.cn-no{font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:700;color:var(--text2);white-space:nowrap}.cn-dday{padding:1px 6px;border-radius:var(--radius-pill);font-size:11px;font-weight:800;background:var(--surface-2);color:var(--text2);white-space:nowrap}.cn-dday.is-soon{background:var(--orange-solid);color:var(--on-solid)}.cn-dday.is-late{background:var(--red-solid);color:var(--on-solid)}.cn-amount{display:inline-flex;flex-direction:column;align-items:flex-end;font-weight:700;font-variant-numeric:tabular-nums}.cn-amount-warn{font-size:10px;font-weight:700;color:var(--orange)}.cn-split-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-xs);font-size:10px;font-weight:800;background:var(--primary-light);color:var(--primary);white-space:nowrap}.cn-thumb{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);border:1px solid var(--border);padding:0}.cn-thumb img{width:100%;height:100%;object-fit:cover}.cn-thumb.is-small{width:28px;height:28px}.cn-thumb.is-empty{border-style:dashed}.cn-thumb.is-doc{font-size:10px;font-weight:800;color:var(--text2)}.cn-empty{padding:8px 2px;font-size:12px}.cn-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px;align-items:start}.cn-col{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px;min-height:160px;border:2px solid transparent}.cn-col.is-over{border-color:var(--primary);background:var(--primary-light)}.cn-col-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.cn-col-body{display:grid;gap:8px}.cn-card{display:grid;gap:6px;padding:9px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer}.cn-card[draggable=true]{cursor:grab}.cn-card:hover{border-color:var(--primary)}.cn-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cn-card.is-late{border:2px solid var(--red)}.cn-card.is-static,.cn-split-card.is-static{cursor:default}.cn-card.is-static:hover{border-color:var(--border)}.cn-card.is-static.is-late:hover{border-color:var(--red)}.cn-split-card.is-static:hover{background:var(--surface)}.tl-name.is-static:hover b{color:inherit}.cn-card.is-dragging{opacity:.45}.cn-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.cn-card-main{display:flex;gap:8px;align-items:center;min-width:0}.cn-card-text{min-width:0}.cn-title{font-weight:700;font-size:13px;line-height:1.35}.cn-sub{font-size:12px;color:var(--text2)}.cn-card-meta{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:11px;color:var(--text2)}.cn-track{font-family:ui-monospace,Consolas,monospace;font-size:11px}.cn-card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.cn-split-card{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;text-align:left;background:var(--surface);border:1px dashed var(--primary);border-radius:var(--radius-xs);font-size:12px}.cn-split-card:hover{background:var(--primary-light)}.cn-split-text{display:grid;min-width:0}.cn-split-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cn-split-text .muted{font-size:10px}.tl{padding:12px}.tl-ranges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.tl-period{margin-left:6px;font-size:12px}.tl-grid{overflow-x:auto}.tl-head,.tl-row{display:grid;grid-template-columns:280px minmax(480px,1fr)}.tl-head{border-bottom:1px solid var(--border);height:26px}.tl-axis{position:relative}.tl-tick{position:absolute;top:4px;transform:translate(-50%);font-size:11px;color:var(--text3);white-space:nowrap}.tl-body{position:relative}.tl-lines{position:absolute;top:0;bottom:0;right:0;left:280px;pointer-events:none}.tl-line{position:absolute;top:0;bottom:0;border-left:1px dashed var(--border)}.tl-today{position:absolute;top:0;bottom:0;border-left:2px solid var(--red);z-index:1}.tl-row{min-height:34px;align-items:center;border-bottom:1px solid var(--border)}.tl-item{min-height:28px;background:var(--surface-2)}.tl-left{display:flex;align-items:center;gap:4px;min-width:0;padding-right:8px;font-size:12px}.tl-toggle,.tl-toggle-sp{width:18px;flex-shrink:0;color:var(--text2)}.tl-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.tl-name:hover b{color:var(--primary)}.tl-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.tl-track{position:relative;height:100%;min-height:28px}.tl-bar{position:absolute;top:50%;height:14px;transform:translateY(-50%);border-radius:var(--radius-xs);background:var(--p-fg);opacity:.85}.tl-bar.is-open{background:repeating-linear-gradient(90deg,var(--p-fg) 0 6px,transparent 6px 10px);border:1px solid var(--p-fg)}.tl-bar.is-late{background:var(--red)}.tl-bar.is-prod{background:var(--p-bg);border:1px solid var(--p-fg);opacity:1}.tl-end{position:absolute;top:50%;transform:translate(4px,-50%);font-size:11px;font-weight:800;white-space:nowrap}.tl-late{color:var(--red)}.tl-arrived{color:var(--green-text)}.cn-list .cn-sort button{font-weight:700;color:inherit;white-space:nowrap}.cn-list .cn-sort.num button{width:100%;text-align:right}.cn-list-row{cursor:pointer}.cn-list-row:hover td{background:var(--bg)}.cn-list-row.is-late td:first-child{box-shadow:inset 3px 0 0 var(--red)}.cn-list-title{font-weight:700}.cn-modal{display:grid;gap:14px}.modal:has(.cn-modal){width:min(1240px,96vw);max-width:min(1240px,96vw)}.cn-photo .link-btn{white-space:nowrap}.cn-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cn-head-no{font-family:ui-monospace,Consolas,monospace;font-size:15px}.cn-stage-pick{display:inline-flex;align-items:center;gap:4px}.cn-stage-pick .form-input{width:auto}.cn-section{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.cn-section-head{display:flex;align-items:center;gap:8px}.cn-section-head .btn{margin-left:auto}.cn-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 12px}.cn-form .form-field{margin:0}.cn-wide{grid-column:1 / -1}.cn-vendor-pick{display:flex;gap:6px}.cn-new-vendor{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.cn-new-vendor .form-input{width:auto;flex:1 1 140px}.cn-items td{vertical-align:middle}.cn-items .form-input{padding:5px 7px;font-size:12px;min-width:70px}.cn-items .cn-num{width:84px;min-width:64px;text-align:right}.cn-items .cn-unit{width:52px;min-width:44px}.cn-photo{display:inline-flex;align-items:center;gap:4px}.cn-photo .cn-thumb{width:36px;height:36px}.cn-item-stage{display:flex;flex-direction:column;gap:2px}.cn-items tr.is-split>td:first-child{box-shadow:inset 4px 0 0 var(--p-fg)}.cn-items tr.cn-item-row.is-split>td{border-bottom-color:transparent}.cn-items .cn-split-badge{margin-top:3px;background:var(--p-bg, var(--primary-light));color:var(--p-fg, var(--primary))}.cn-item-sub>td{padding-top:4px;padding-bottom:8px}.cn-sub{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.cn-sub-field{display:grid;gap:2px;font-size:11px;color:var(--text2)}.cn-sub-field .form-input{width:auto;min-width:120px}.cn-sub-memo{flex:1 1 240px}.cn-sub-memo .form-input{width:100%}.cn-price{display:inline-flex;align-items:center;gap:4px}.cn-per{font-size:11px;color:var(--text2);white-space:nowrap}.cn-amt{display:inline-grid;justify-items:end}.cn-calc{font-size:10px;font-weight:400;color:var(--text2);white-space:nowrap}.cn-menu-pop{min-width:120px}.cn-item-stage select{min-width:118px}.cn-items td.num{white-space:nowrap}.cn-items-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.cn-total b{font-variant-numeric:tabular-nums}.cn-actions .cn-delete{margin-right:auto}.cn-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cn-file{display:flex;align-items:center;gap:8px}.cn-file-main{display:grid;min-width:0;flex:1;font-size:12px}.cn-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.cn-log{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}.cn-log-item{color:var(--primary);font-weight:700}.cn-settings{display:grid;gap:14px}.cn-defaults{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.cn-defaults .form-field{margin:0;width:160px}.cn-pay-tools{margin-left:auto;display:inline-flex;gap:6px}.cn-pay-tools .btn{margin-left:0}.cn-pay-sum{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-xs);font-size:12px;color:var(--text2)}.cn-pay-sum b{color:var(--text);font-variant-numeric:tabular-nums}.cn-pay-sum .cn-pay-remain,.cn-pay-sum .cn-pay-remain b{color:var(--red)}.cn-pay-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius-xs)}.cn-pay-inline .form-field{margin:0}.cn-pay-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cn-pay-row{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius-xs);background:var(--surface)}.cn-pay-row.is-requested{border-left-color:var(--orange)}.cn-pay-row.is-approved{border-left-color:var(--blue)}.cn-pay-row.is-paid{border-left-color:var(--green)}.cn-pay-row.is-highlight{box-shadow:0 0 0 3px var(--primary-mid)}.cn-pay-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px}.cn-pay-kind{font-weight:800}.cn-pay-amt{font-size:15px;font-variant-numeric:tabular-nums}.cn-pay-actions{margin-left:auto;display:inline-flex;flex-wrap:wrap;gap:6px}.cn-pay-sub{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px}.cn-pay-memo{color:var(--text2)}.cn-pay-rejected{margin:0;padding:6px 10px;border-radius:var(--radius-xs);background:var(--red-bg);color:var(--red);font-size:12px;font-weight:700}.cn-pay-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 12px;padding:10px 12px;background:var(--surface-2);border-radius:var(--radius-xs)}.cn-pay-form .form-field,.cn-pay-form .form-actions{margin:0}.cn-paid-form{display:grid;gap:4px}.cn-proof-pick{display:flex;align-items:center;gap:8px}.cn-payments{display:grid;gap:14px}.cn-pay-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.cn-pay-box.is-big .cn-pay-cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.cn-pay-card{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface)}.cn-pay-card:hover{border-color:var(--primary)}.cn-pay-card-body{display:grid;gap:4px;width:100%;padding:0;text-align:left;color:inherit;background:none;cursor:pointer}.cn-pay-card.is-big{padding:14px 16px;border:2px solid var(--orange)}.cn-pay-card.is-big .cn-pay-card-amt b{font-size:20px}.cn-pay-card-top{display:flex;align-items:center;gap:8px}.cn-pay-card-vendor{font-weight:700;margin-right:auto}.cn-pay-card-amt b{font-size:16px;font-variant-numeric:tabular-nums}.cn-pay-card-meta{font-size:12px}.cn-pay-card-actions{display:flex;gap:6px;margin-top:4px}.cn-pay-card-actions:empty{display:none}.cn-pay-total td{background:var(--sheet-sum-bg);color:var(--sheet-sum-fg);font-weight:700}.cn-pay-vendors{margin-top:12px;max-width:640px}.cn-account{display:grid;gap:6px;margin:4px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-xs)}.cn-account legend{padding:0 4px;font-size:12px;font-weight:800;color:var(--text2)}.cn-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.cn-account-grid .form-field{margin:0}.cn-pay-approver{font-size:12px}.cn-pay-account{margin:0;font-size:12px;color:var(--text2);overflow-wrap:anywhere}.cn-perm-col{text-align:center;white-space:nowrap}.cn-perm-col input{width:18px;height:18px}.cn-viewonly{margin-bottom:12px}.cn-dash{display:grid;gap:12px}.cn-dash-chips{display:flex;flex-wrap:wrap;gap:6px 14px}.cn-dash-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px}.cn-dash-alerts{display:flex;flex-wrap:wrap;gap:8px}.cn-dash-alert{padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);text-decoration:none;font-size:13px}.cn-dash-alert:hover{background:var(--primary-light)}.cn-dash-alert.is-late{background:var(--red-bg);color:var(--red)}.cn-dash-alert.is-pending{background:var(--orange-bg);color:var(--orange)}.cn-dash-head{font-size:13px;font-weight:800;margin-bottom:6px}.cn-dash-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cn-dash-sub{font-size:12px;font-weight:700;color:var(--text2);margin-bottom:4px}@media(max-width:639px){.cn-dash-two,.cn-account-grid{grid-template-columns:1fr}}@media(max-width:639px){.tl-head,.tl-row{grid-template-columns:160px minmax(420px,1fr)}.tl-lines{left:160px}}.lv-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.lv-year{width:auto;min-width:100px}.lv-warn{background:var(--orange-bg);color:var(--orange)}.lv-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.lv-card{padding:16px}.lv-card-label{font-size:12px;font-weight:700;color:var(--text2)}.lv-card-value{font-size:24px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}.lv-card.is-main{border-color:var(--cal-leave);background:var(--cal-leave-bg)}.lv-card-sub{font-size:11px;margin-top:4px}.lv-card.is-main .lv-card-sub{color:var(--text2)}.lv-section-title{font-size:15px;font-weight:800;margin:0 0 8px}.lv-sub-title{font-size:14px;font-weight:800;margin:18px 0 6px;display:flex;gap:8px;align-items:baseline}.lv-sub-title .muted{font-size:12px;font-weight:600}.lv-table td{min-width:0;vertical-align:middle;white-space:nowrap}.lv-table .num,.lv-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lv-row{cursor:pointer}.lv-row:hover td{background:var(--surface-2)}.lv-nowrap{white-space:nowrap}.lv-reason-cell{min-width:140px;max-width:260px;white-space:normal;overflow-wrap:anywhere;color:var(--text2)}.lv-actions{white-space:nowrap;text-align:right}.lv-actions .btn+.btn{margin-left:4px}.lv-center{text-align:center}.lv-pre{white-space:pre-wrap;overflow-wrap:anywhere}.lv-hint{margin:-6px 0 10px}.lv-preview{padding:10px 12px;border-radius:var(--radius-xs);background:var(--surface-2);font-size:13px;margin-bottom:14px;display:grid;gap:4px}.lv-preview .form-error{margin:0}.lv-info{margin-bottom:14px}.lv-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px;padding:0}.lv-step{display:grid;gap:2px;padding:8px 10px;border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border);font-size:12px;min-width:0}.lv-step-dot{width:8px;height:8px;border-radius:50%;background:var(--text3)}.lv-step-label{font-weight:800}.lv-step-text{color:var(--text2);overflow-wrap:anywhere}.lv-step.is-done{border-color:var(--green)}.lv-step.is-done .lv-step-dot{background:var(--green)}.lv-step.is-current{border-color:var(--orange);background:var(--orange-bg)}.lv-step.is-current .lv-step-dot{background:var(--orange)}.lv-step.is-stopped{opacity:.5}.lv-closed{padding:10px 12px;border-radius:var(--radius-xs);background:var(--surface-2);font-size:13px;margin-bottom:8px;display:grid;gap:4px}.lv-closed.is-rejected{background:var(--red-bg);color:var(--red)}.lv-emp-sum{font-size:14px;margin-bottom:12px}.lv-emp-form{padding-bottom:6px;border-bottom:1px solid var(--border)}.lv-formula{font-size:13px;color:var(--text2);background:var(--surface-2);padding:8px 10px;border-radius:var(--radius-xs)}.lv-adj-list{list-style:none;display:grid;gap:4px;margin:8px 0;padding:0}.lv-adj-list li{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius-xs);background:var(--surface-2);font-size:13px}.lv-adj-memo{flex:1;min-width:0;overflow-wrap:anywhere}.lv-adj-form{display:flex;gap:8px;margin-top:8px}.lv-adj-days{width:100px;flex-shrink:0}.lv-adj-form .btn{white-space:nowrap;flex-shrink:0}.lv-settings{display:grid;gap:16px}.lv-settings>*{min-width:0}.lv-settings-card .form-hint{margin:-4px 0 14px}.lv-approver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.lv-max{max-width:220px}.lv-type-table td{min-width:0;vertical-align:middle}.lv-type-table .form-input{min-width:120px}.lv-type-table .lv-order{width:80px;min-width:0}.lv-type-add{flex-wrap:wrap;align-items:center}.lv-type-add .form-input{flex:1;min-width:140px}.lv-dash{display:grid;gap:10px;align-content:start}.lv-dash .card-title{margin-bottom:0}.lv-dash-main{color:var(--text);text-decoration:none;font-size:15px}.lv-dash-main b{font-size:20px;color:var(--cal-leave)}.lv-dash .cn-dash-alert{justify-self:start}@media(max-width:639px){.lv-cards,.lv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-approver-grid{grid-template-columns:1fr}.lv-adj-list li,.lv-adj-form{flex-wrap:wrap}.lv-adj-form .form-input:not(.lv-adj-days){flex:1;min-width:0}}.chat-page-wrap{height:calc(100dvh - var(--topbar-h) - 56px);min-height:420px}.chat-page{height:100%;display:flex;flex-direction:column;gap:8px}.chat-page-notice{border:1px solid var(--border);border-radius:var(--radius-sm)}.chat-layout{flex:1;min-height:0;display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.chat-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);font-weight:700}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-avatar-sm{width:30px;height:30px;font-size:12px}.chat-avatar.is-group{background:var(--surface-2);color:var(--text2);border:1px solid var(--border)}.chat-search{position:relative;flex:1;min-width:0;display:flex;align-items:center}.chat-search .icon{position:absolute;left:10px;color:var(--text3);pointer-events:none}.chat-search .form-input{padding-left:30px}.chat-list{width:300px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.chat-list-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.chat-list-msg{padding:12px 16px;font-size:13px}.chat-notif-prompt{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;color:var(--text2);background:var(--surface-2);border-bottom:1px solid var(--border)}.chat-notif-prompt .icon-btn-sm{margin-left:auto}.chat-rooms{list-style:none;overflow-y:auto;flex:1;min-height:0}.chat-room{display:flex;align-items:center;gap:10px;padding:10px 12px;color:var(--text);text-decoration:none}.chat-room:hover{background:var(--bg)}.chat-room.active{background:var(--primary-light)}.chat-room-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-room-top,.chat-room-bottom{display:flex;align-items:center;gap:6px;min-width:0}.chat-room-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-room-count{font-size:12px;color:var(--text3);flex-shrink:0}.chat-room-muted{display:inline-flex;color:var(--text3);flex-shrink:0}.chat-room-time{margin-left:auto;font-size:11px;color:var(--text3);white-space:nowrap;flex-shrink:0}.chat-room-last{flex:1;min-width:0;font-size:12px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-last.is-deleted{color:var(--text3)}.chat-unread{flex-shrink:0;min-width:20px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--red);color:var(--on-primary);font-size:11px;font-weight:800;text-align:center}.chat-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.chat-empty{align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:var(--text3)}.chat-room-view{flex:1;min-width:0;min-height:0;display:flex;position:relative}.chat-head{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 14px;border-bottom:1px solid var(--border)}.chat-head-title{font-size:15px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel-toggle{margin-left:auto;color:var(--text2)}.chat-panel-toggle.active{background:var(--primary-light);color:var(--primary)}.chat-notice{display:flex;align-items:flex-start;gap:8px;padding:8px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:13px}.chat-notice-pin{margin-top:3px;color:var(--primary)}.chat-notice-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-notice-text.is-full{white-space:normal}.chat-notice-full{display:flex;flex-direction:column;gap:4px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-notice-by{font-size:11px;color:var(--text3)}.chat-notice.is-folded{padding:4px 14px}.chat-notice-fold{font-size:12px;font-weight:700;color:var(--text2)}.chat-info{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;background:var(--accent-light);color:var(--text);border-bottom:1px solid var(--border)}.chat-info.is-error{background:var(--red-bg);color:var(--red)}.chat-info .icon-btn-sm{margin-left:auto}.chat-scroll-wrap{flex:1;min-height:0;display:flex;position:relative}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 12px;display:flex;flex-direction:column;gap:2px}.chat-older{text-align:center;font-size:12px;min-height:24px;padding:4px 0}.chat-date{align-self:center;display:inline-flex;align-items:center;gap:6px;margin:14px 0 8px;padding:3px 12px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text2);font-size:12px}.chat-system{align-self:center;max-width:80%;margin:6px 0;text-align:center;font-size:12px;color:var(--text3)}.chat-msg{display:flex;align-items:flex-start;gap:8px}.chat-msg.is-start{margin-top:8px}.chat-msg.is-mine{justify-content:flex-end}.chat-msg-avatar{width:30px;flex-shrink:0}.chat-msg-col{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:min(560px,80%)}.chat-msg.is-mine .chat-msg-col{align-items:flex-end}.chat-msg-name{font-size:12px;font-weight:700;color:var(--text2)}.chat-msg-row{display:flex;align-items:flex-end;gap:6px;min-width:0}.chat-bubble{min-width:0;padding:8px 12px;border-radius:var(--radius-lg);font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-touch-callout:none;transition:box-shadow .2s}.chat-msg.is-other .chat-bubble{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.chat-msg.is-mine .chat-bubble{background:var(--primary);color:var(--on-primary)}.chat-msg.is-mine .chat-bubble a{color:var(--on-primary);text-decoration:underline}.chat-msg .chat-bubble.is-deleted{background:transparent;color:var(--text3);border:1px dashed var(--border)}.chat-msg.is-flash .chat-bubble{box-shadow:0 0 0 3px var(--accent)}.chat-meta{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;font-size:11px;line-height:1.3}.chat-msg.is-other .chat-meta{align-items:flex-start}.chat-msg-unread{color:var(--accent);font-weight:800}.chat-time{color:var(--text3);white-space:nowrap}.chat-msg-more{flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-xs);color:var(--text3);opacity:0}.chat-msg.is-mine .chat-msg-more{order:-1}.chat-msg:hover .chat-msg-more,.chat-msg-more:focus-visible{opacity:1}.chat-msg-more:hover{background:var(--bg);color:var(--text)}@media(hover:none){.chat-msg-more{display:none}}.chat-quote{display:flex;align-items:center;gap:6px;max-width:100%;margin-bottom:6px;padding:2px 8px;border-left:3px solid currentColor;border-radius:var(--radius-xs);font-size:12px;text-align:left;opacity:.85}.chat-quote-body{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-quote-name{font-weight:800}.chat-quote-thumb{width:28px;height:28px;flex-shrink:0;overflow:hidden;border-radius:var(--radius-xs);background:var(--surface-2)}.chat-quote-thumb img{width:100%;height:100%;object-fit:cover;display:block}.chat-quote-text{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-new-below{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:2;padding:6px 14px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-size:12px;font-weight:700;box-shadow:var(--shadow-md)}.chat-composer{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}.chat-composer-row{display:flex;align-items:flex-end;gap:8px}.chat-composer textarea.chat-input{flex:1;min-height:40px;line-height:20px;resize:none;overflow-y:auto}.chat-send{width:44px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.chat-count{font-size:11px;color:var(--text3);text-align:right}.chat-count.is-over{color:var(--red);font-weight:700}.chat-reply-bar{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text2);font-size:12px}.chat-reply-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-menu{position:fixed;z-index:400;min-width:180px;padding:4px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.chat-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius-xs);font-size:13px;text-align:left}.chat-menu-item:hover:not(:disabled),.chat-menu-item:focus-visible{background:var(--bg)}.chat-menu-caret,.chat-menu-hint{margin-left:auto}.chat-menu-hint{font-size:11px;color:var(--text3)}.chat-menu-sub{display:flex;flex-direction:column;margin-left:14px;padding-left:6px;border-left:1px solid var(--border)}.chat-panel{width:300px;flex-shrink:0;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border)}.chat-panel-head{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:8px 14px;border-bottom:1px solid var(--border)}.chat-panel-body{flex:1;min-height:0;overflow-y:auto}.chat-panel-sec{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px}.chat-panel-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;color:var(--text2)}.chat-members,.chat-notices{list-style:none;display:flex;flex-direction:column;gap:6px}.chat-member{display:flex;align-items:center;gap:8px}.chat-member-name{flex:1;min-width:0}.chat-rename{display:flex;align-items:center;gap:6px}.chat-rename .form-input{flex:1;min-width:0}.chat-notice-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border-radius:var(--radius-sm);background:var(--surface-2)}.chat-notice-item.is-current{box-shadow:inset 3px 0 0 var(--primary)}.chat-notice-item-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px}.chat-notice-item-text{text-align:left;overflow-wrap:anywhere}.chat-new-tabs{margin-bottom:12px}.chat-picker{display:flex;flex-direction:column;gap:8px}.chat-picker-list{list-style:none;max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.chat-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:14px;text-align:left;cursor:pointer}.chat-picker-row:hover{background:var(--bg)}.chat-picker-empty{padding:12px}.chat-head-spacer{flex:1}.chat-room-view{--chat-photo-w: 240px}.chat-msg .chat-bubble.is-photos{padding:0;background:transparent;border:none;color:var(--text)}.chat-bubble.is-photos .chat-quote{margin-bottom:4px;padding:4px 8px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--text3);opacity:1}.chat-photos{display:grid;gap:2px;width:var(--chat-photo-w);max-width:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-2)}.chat-photos.is-n1{grid-template-columns:1fr;grid-template-rows:1fr}.chat-photos.is-n2,.chat-photos.is-n3{grid-template-columns:1fr 1fr}.chat-photo{position:relative;display:block;padding:0;aspect-ratio:1;overflow:hidden;background:var(--surface-2);cursor:zoom-in}.chat-photos.is-n1 .chat-photo{aspect-ratio:auto;height:100%}.chat-photos.is-odd .chat-photo:first-child{grid-column:span 2;aspect-ratio:2 / 1}.chat-photo img{display:block;width:100%;height:100%;object-fit:cover}.chat-photo:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.chat-photo-fail{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text3)}.chat-bubble.is-file{padding:8px;white-space:normal}.chat-file{display:flex;align-items:center;gap:10px;width:260px;max-width:100%}.chat-file-icon{width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--surface);color:var(--primary)}.chat-msg.is-mine .chat-file-icon{background:var(--on-primary);color:var(--primary)}.chat-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.chat-file-name{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-file-size{font-size:11px;opacity:.8}.chat-file-dl{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid currentColor;color:inherit;opacity:.85}.chat-file-dl:hover,.chat-file-dl:focus-visible{opacity:1}.chat-file+.chat-file{margin-top:6px}.chat-file-pending{opacity:.8}.chat-attach{width:40px;height:40px;flex-shrink:0;color:var(--text2)}.chat-drafts{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.chat-drafts-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:var(--text2)}.chat-drafts-bar{height:4px;overflow:hidden;border-radius:var(--radius-pill);background:var(--border)}.chat-drafts-bar span{display:block;height:100%;background:var(--primary);transition:width .2s}.chat-drafts-list{list-style:none;display:flex;gap:6px;overflow-x:auto;padding:2px 0}.chat-draft{position:relative;flex-shrink:0;height:56px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.chat-draft.is-photo{width:56px;overflow:hidden}.chat-draft.is-photo img{display:block;width:100%;height:100%;object-fit:cover}.chat-draft.is-file{display:flex;align-items:center;gap:6px;max-width:220px;padding:0 28px 0 10px;color:var(--text2)}.chat-draft-text{display:flex;flex-direction:column;min-width:0}.chat-draft-name{font-size:12px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-draft-size{font-size:11px;color:var(--text3)}.chat-draft-x{position:absolute;top:3px;right:3px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--overlay);color:var(--on-overlay)}.chat-draft-x:disabled{opacity:.4}.chat-drop{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--accent);border-radius:var(--radius-lg);background:var(--accent-light);color:var(--accent);font-weight:800;pointer-events:none}.chat-schedule{width:40px;height:40px;flex-shrink:0;color:var(--text2)}.chat-sched{flex-shrink:0;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--surface)}.chat-sched-bar{display:flex;align-items:center;gap:6px;width:100%;padding:6px 14px;font-size:12px;font-weight:700;color:var(--text2);text-align:left}.chat-sched-bar:hover{background:var(--bg);color:var(--text)}.chat-sched-caret{margin-left:auto}.chat-sched-sheet{display:flex;flex-direction:column;max-height:min(320px,40vh);border-bottom:1px solid var(--border);background:var(--surface-2)}.chat-sched-sheet-head{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px}.chat-sched-sheet-head .muted{font-size:11px}.chat-sched-sheet-head .icon-btn-sm{margin-left:auto}.chat-sched-list{list-style:none;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:0 10px 10px}.chat-sched-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.chat-sched-when{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--primary)}.chat-sched-late{font-weight:600;color:var(--text3)}.chat-sched-body{grid-column:1 / -1;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-sched-edit{grid-column:1 / -1;width:100%;min-height:64px;resize:vertical;line-height:20px}.chat-sched-actions{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;gap:2px}.chat-sched-actions .icon-btn-sm{color:var(--text2)}.chat-sched-picker .form-field{margin-bottom:0}.chat-sched-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chat-sched-fields{display:flex;flex-direction:column;gap:12px}.chat-sched-seg{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:3px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.chat-sched-seg .chat-sched-btn{border:none;background:transparent}.chat-sched-seg .chat-sched-btn.is-on{background:var(--primary);color:var(--on-primary)}.chat-sched-sub{margin:10px 0 5px;font-size:11px;font-weight:700;color:var(--text3)}.chat-sched-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.chat-sched-btn{min-height:36px;padding:0 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.chat-sched-btn:hover:not(:disabled):not(.is-on){border-color:var(--primary-mid);background:var(--primary-light)}.chat-sched-btn.is-on{border-color:var(--primary);background:var(--primary);color:var(--on-primary);font-weight:800}.chat-sched-btn:disabled{opacity:.35;cursor:not-allowed}.chat-sched-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-sched-btn.is-extra{border-style:dashed}@media(max-width:420px){.chat-sched-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.chat-sched-preview{margin-top:12px;font-size:14px;font-weight:700;color:var(--primary)}.chat-sched-picker .form-error{margin-top:12px}.chat-sched-hint{margin-top:6px;font-size:12px}.msg-panel .chat-sched-sheet{max-height:220px}@media(max-width:639px){.chat-sched-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;max-height:none;border:none;background:var(--surface)}.chat-sched-sheet-head{min-height:56px;border-bottom:1px solid var(--border)}.chat-sched-list{padding-top:10px}}.chat-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;flex-direction:column;background:var(--lightbox-bg);color:var(--on-overlay)}.chat-viewer-top{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;font-size:13px}.chat-viewer-count{font-weight:800;white-space:nowrap}.chat-viewer-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.chat-viewer-btn,.chat-viewer-nav{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--overlay);color:var(--on-overlay)}.chat-viewer-btn{width:40px;height:40px;flex-shrink:0}.chat-viewer-btn:disabled,.chat-file-dl:disabled{opacity:.5;cursor:progress}.chat-viewer-busy{font-size:12px;opacity:.85;white-space:nowrap}.chat-viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 60px 24px}.chat-viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-xs);-webkit-user-select:none;user-select:none}.chat-viewer-fail{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.8}.chat-viewer-nav{position:absolute;top:50%;width:44px;height:44px;transform:translateY(-50%)}.chat-viewer-nav.is-prev{left:8px}.chat-viewer-nav.is-next{right:8px}@media(max-width:639px){.chat-viewer-stage{padding:0 8px 16px}.chat-viewer-nav{width:36px;height:36px}}.chat-media-tabs{display:flex;gap:4px}.chat-media-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text2);font-size:12px;font-weight:700}.chat-media-tab.active{background:var(--primary-light);color:var(--primary)}.chat-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.chat-media-thumb{aspect-ratio:1;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-xs);background:var(--surface-2);color:var(--text3);cursor:zoom-in}.chat-media-thumb img{display:block;width:100%;height:100%;object-fit:cover}.chat-media-files{list-style:none;display:flex;flex-direction:column;gap:8px}.chat-media-file{display:flex;align-items:center;gap:8px;color:var(--text2)}.chat-media-file-info{flex:1;min-width:0;display:flex;flex-direction:column;font-size:11px}.chat-media-file-name{font-size:13px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-btn{position:relative}.msg-btn.active,.msg-btn.active:hover:not(:disabled){background:var(--accent-light);color:var(--accent)}.msg-panel{position:fixed;right:16px;bottom:16px;z-index:85;width:380px;max-width:calc(100vw - 32px);height:clamp(480px,50vh,720px);max-height:calc(100dvh - var(--topbar-h) - 32px);display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);outline:none;animation:msg-panel-in .18s ease-out}@keyframes msg-panel-in{0%{transform:translateY(16px);opacity:0}}@media(prefers-reduced-motion:reduce){.msg-panel{animation:none}}.msg-panel .msg-panel-head{flex-shrink:0;padding-left:14px}.msg-panel-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.msg-panel-actions .icon-btn{color:var(--text2)}.msg-panel-body{flex:1;min-height:0;display:flex;flex-direction:column}.msg-panel .error-panel{margin:12px}.msg-panel .chat-page{flex:1;min-height:0;height:auto;gap:0}.msg-panel .chat-page-notice{border:none;border-bottom:1px solid var(--border);border-radius:0}.msg-panel .chat-layout{border:none;border-radius:0}.msg-panel .chat-list{width:100%;border-right:none}.msg-panel .chat-head{gap:6px;padding:6px 8px}.msg-panel .chat-scroll{padding:8px 10px 12px}.msg-panel .chat-msg-col{max-width:85%}.msg-panel .chat-quote-text{max-width:220px}.msg-panel .chat-room-view{--chat-photo-w: 200px}.msg-panel .chat-file{width:230px}.msg-panel .chat-panel,.msg-panel .chat-room-view.has-panel .chat-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;width:auto;border-left:none;box-shadow:none}@media(max-width:1100px){.chat-room-view.has-panel .chat-panel{position:absolute;top:0;right:0;bottom:0;z-index:5;box-shadow:var(--shadow-md)}}@media(max-width:860px){.chat-page-wrap{height:calc(100dvh - var(--topbar-h) - 32px)}}@media(max-width:639px){.chat-page-wrap{margin:-16px;height:calc(100dvh - var(--topbar-h));min-height:0}.chat-page{gap:0}.chat-layout{border:none;border-radius:0}.chat-list{width:100%;border-right:none}.chat-head{padding:6px 8px}.chat-scroll{padding:8px 10px 12px}.chat-msg-col{max-width:85%}.chat-panel,.chat-room-view.has-panel .chat-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;width:auto;border-left:none;box-shadow:none}}.ex-page .num,.ex-table .num{text-align:right;font-variant-numeric:tabular-nums}.ex-nowrap{white-space:nowrap}.ex-grow{flex:1;min-width:0}.ex-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-small{font-size:11px}.ex-pre{white-space:pre-wrap;word-break:break-word}.ex-left{margin-right:auto}.ex-link{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.ex-notice{display:flex;align-items:center;gap:8px}.ex-notice .icon-btn{width:24px;height:24px;color:inherit}.ex-datenav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.ex-date{width:auto}.ex-sheet-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ex-sheet-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ex-sheet-title h2{font-size:18px}.ex-sheet-title .muted{font-size:12px}.ex-sheet-actions,.ex-doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ex-doc-actions{margin:12px 0}.ex-table td{min-width:0;vertical-align:middle}.ex-table .ex-desc{min-width:160px;font-weight:600}.ex-table .ex-payee-cell{min-width:140px;font-size:12px}.ex-table .ex-memo-cell{min-width:100px;max-width:260px;font-size:12px;color:var(--text2)}.ex-table tr.is-off td{opacity:.55}.ex-table tfoot td{font-weight:700;border-bottom:none;background:var(--surface-2)}.ex-empty-row{text-align:center;padding:28px 12px}.ex-lock{margin-left:4px;color:var(--text3);vertical-align:-1px}.ex-row-actions{white-space:nowrap}.ex-row-actions .icon-btn{width:28px;height:28px;color:var(--text2)}.ex-row-actions .icon-btn:disabled{opacity:.35}.ex-page .icon-btn.danger:hover:not(:disabled),.ex-files .icon-btn.danger:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.ex-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.ex-search{flex:1;min-width:180px;max-width:360px}.ex-section-title{display:flex;align-items:center;gap:6px;font-size:15px;margin:18px 0 10px}.ex-section-title:first-child{margin-top:0}.ex-sub-title{font-size:13px;font-weight:700;margin:14px 0 8px;color:var(--text2)}.ex-empty-line{font-size:13px;margin:4px 0 8px}.ex-recent{margin-top:20px}.ex-recent summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--text2);padding:6px 0}.ex-recent-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.ex-recent-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius-xs);font-size:13px;text-align:left}.ex-recent-row:hover{background:var(--surface-2)}.ex-detail .ex-info{grid-template-columns:90px minmax(0,1fr);margin-bottom:14px}.ex-detail .table-wrap{margin-bottom:4px}.ex-amount-input{position:relative}.ex-amount-input .form-input{padding-right:32px;text-align:right}.ex-amount-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text2);pointer-events:none}.ex-payee{margin-bottom:4px}.ex-payee-name{position:relative}.ex-payee-list{position:absolute;z-index:5;left:0;right:0;top:100%;margin:2px 0 0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:240px;overflow-y:auto}.ex-payee-list button{display:block;width:100%;padding:8px 10px;border-radius:var(--radius-xs);text-align:left;font-size:13px}.ex-payee-list button:hover{background:var(--surface-2)}.ex-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin-bottom:12px;cursor:pointer}.ex-check input{accent-color:var(--accent)}.ex-presets{margin-bottom:12px}.ex-comments{margin-top:18px}.ex-comment-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.ex-comment{padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:13px}.ex-comment.is-reject{background:var(--red-bg)}.ex-comment.is-hold{background:var(--purple-bg)}.ex-comment-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:12px}.ex-comment-del{width:24px;height:24px;margin-left:auto;color:var(--text3)}.ex-comment-form{display:flex;gap:8px;align-items:flex-end}.ex-comment-form .form-input{flex:1;min-width:0}.ex-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ex-file{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}.ex-file-thumb{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--surface-2);color:var(--text3);overflow:hidden}.ex-file-thumb img{width:100%;height:100%;object-fit:cover}.ex-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-file-actions{display:inline-flex;flex-shrink:0}.ex-file-actions .icon-btn{width:30px;height:30px;color:var(--text2)}.ex-doc-wrap{container-type:inline-size;width:min(100%,680px);margin:0 auto}.ex-doc{position:relative;width:100%;background:var(--doc-paper-bg);color:var(--doc-paper-fg);box-shadow:var(--doc-paper-shadow);font-family:var(--font-sheet);font-weight:700;overflow:hidden}.ex-doc>*{position:absolute;box-sizing:border-box}.ex-doc-title{display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.08em}.ex-doc-box{display:flex;flex-direction:column;border:.16cqw solid var(--doc-paper-fg)}.ex-doc-box-label{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--doc-paper-empty);border-bottom:.16cqw solid var(--doc-paper-fg)}.ex-doc-info{display:grid;border:.12cqw solid var(--doc-paper-fg)}.ex-doc-info+.ex-doc-info{border-top:none}.ex-doc-info>span{display:flex;align-items:center;padding:0 1cqw;overflow:hidden;white-space:nowrap;border-right:.12cqw solid var(--doc-paper-fg)}.ex-doc-info>span:last-child{border-right:none}.ex-doc-info>.is-label{justify-content:center;background:var(--doc-paper-empty)}.ex-doc-info>.is-center{justify-content:center}.ex-doc-table{outline:.16cqw solid var(--doc-paper-fg)}.ex-doc-row{display:flex;border-bottom:.08cqw solid var(--doc-paper-fg)}.ex-doc-row:last-child{border-bottom:none}.ex-doc-row.is-head{background:var(--doc-paper-empty)}.ex-doc-cell{display:flex;align-items:center;padding:0 .97cqw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-right:.08cqw solid var(--doc-paper-fg);flex-shrink:0}.ex-doc-cell:last-child{border-right:none}.ex-doc-cell.is-center{justify-content:center}.ex-doc-cell.is-right{justify-content:flex-end}.ex-doc-foot{display:flex;align-items:center;white-space:pre}.ex-doc-foot.is-center{justify-content:center}.ex-doc-foot.is-right{justify-content:flex-end}.ex-print-root{display:none}@page ex-a4{size:A4 portrait;margin:0}@media print{body:has(>.ex-print-root){background:var(--doc-paper-bg)}body:has(>.ex-print-root)>:not(.ex-print-root){display:none!important}.ex-print-root{display:block;page:ex-a4;width:210mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ex-print-root .ex-doc-wrap{width:100%}.ex-print-root .ex-doc{box-shadow:none}.ex-print-root .ex-doc.is-a4{aspect-ratio:auto!important;height:296mm}}@media(max-width:639px){.ex-sheet-head{align-items:flex-start}.ex-datenav .ex-date{flex:1;min-width:0}.ex-comment-form{flex-direction:column;align-items:stretch}}.ex-cards{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.ex-card{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0;padding:14px 16px;text-align:left;font-size:13px;cursor:pointer}.ex-card:hover{background:var(--surface-2)}.ex-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ex-card-head{display:flex;align-items:center;gap:8px;min-width:0}.ex-card-amount{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.ex-card-body{display:block}.ex-card-foot{display:block;font-size:12px}.ex-doc-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-seg{display:flex;gap:4px;padding:4px;margin-bottom:14px;max-width:520px;background:var(--surface-2);border-radius:var(--radius-sm)}.ex-seg button{flex:1;min-height:40px;border-radius:var(--radius-xs);font-size:14px;font-weight:700;color:var(--text2)}.ex-seg button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.ex-my-new{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 22px;margin-bottom:12px;font-size:15px}.ex-my .form-input,.ex-screen .form-input{min-height:44px;font-size:16px}.ex-my textarea.form-input,.ex-screen textarea.form-input{min-height:72px}.ex-screen{max-width:720px;height:min(920px,calc(100dvh - 32px))}.ex-screen-head{gap:6px;padding-left:8px}.ex-screen-head .badge{flex-shrink:0}.ex-screen-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 24px}.ex-screen-foot{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.ex-screen-foot .btn{flex:1;min-height:48px;justify-content:center;font-size:15px}.ex-cl-line{padding:14px;margin-bottom:10px}.ex-cl-line-head{display:flex;align-items:center;gap:4px;margin-bottom:10px;font-size:14px;font-weight:700}.ex-cl-line-head .icon-btn{width:36px;height:36px;color:var(--text2)}.ex-cl-line-head .icon-btn:disabled{opacity:.35}.ex-cl-line .form-field{margin-bottom:10px}.ex-add-line{width:100%;min-height:44px;justify-content:center}.ex-add-file{min-height:40px}.ex-pick-btn{margin-top:8px;min-height:40px}.ex-cl-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:14px 16px;margin:14px 0;border-radius:var(--radius-sm);background:var(--surface-2);font-size:13px}.ex-cl-sum b{font-size:20px;font-variant-numeric:tabular-nums}.ex-pending{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ex-pending li{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-xs);background:var(--surface-2)}.ex-pending img{width:100%;height:100%;object-fit:cover}.ex-pending-name{padding:4px;font-size:10px;color:var(--text2);text-align:center;word-break:break-all}.ex-pending .icon-btn{position:absolute;top:2px;right:2px;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--overlay);color:var(--on-overlay)}.ex-file-queue .ex-files{margin-bottom:8px}.ex-note{padding:12px 14px;margin-bottom:14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5;background:var(--surface-2);color:var(--text)}.ex-note.is-red{background:var(--red-bg);color:var(--red)}.ex-note.is-green{background:var(--green-bg);color:var(--green-text)}.ex-note.is-orange{background:var(--orange-bg)}.ex-danger-link{display:block;margin:18px 0 4px;font-size:13px;font-weight:700;color:var(--red)}.ex-item-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:50dvh;overflow-y:auto}.ex-item-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:8px 10px;border-radius:var(--radius-xs);text-align:left;font-size:14px}.ex-item-list button:hover{background:var(--surface-2)}.ex-account-card{max-width:520px}.ex-account-hint{display:flex;align-items:center;gap:6px;margin-bottom:14px;font-size:13px}.ex-account-actions{display:flex;gap:8px;justify-content:flex-end}.ex-account-actions .btn{min-height:44px;min-width:96px;justify-content:center}@media(max-width:639px){.ex-my-new{width:100%}.ex-screen-backdrop{padding:0}.ex-screen{max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.ex-screen-foot{border-radius:0}.ex-screen-body{padding:14px 16px 20px}.ex-account-actions .btn{flex:1}}@media(max-width:639px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea,[contenteditable=true]{font-size:16px!important}}.tabbar{display:none}@media(max-width:860px){body.has-tabbar{--tabbar-space: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px))}body.has-tabbar.tabbar-hidden{--tabbar-space: 0px}.content{padding-bottom:calc(16px + var(--tabbar-space))}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:60;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--sidebar-bg);border-top:1px solid var(--border)}body.tabbar-hidden .tabbar{display:none}body:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=button]):not([type=submit]),textarea,[contenteditable=true]):focus) .tabbar{display:none}.tabbar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;min-width:0;color:var(--text2);text-decoration:none;font-size:11px;font-weight:600}.tabbar-item.active{color:var(--accent);font-weight:800}.tabbar-icon{position:relative;display:inline-flex}.tabbar-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar-badge{position:absolute;top:-5px;left:14px;min-width:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--red);color:var(--on-primary);font-size:10px;font-weight:700;line-height:17px;text-align:center}.msg-panel{bottom:calc(16px + var(--tabbar-space));max-height:calc(100dvh - var(--topbar-h) - 32px - var(--tabbar-space))}.chat-page-wrap{height:calc(100dvh - var(--topbar-h) - 32px - var(--tabbar-space))}}@media(max-width:639px){.feed-fab{bottom:calc(20px + var(--tabbar-space))}.chat-page-wrap{height:calc(100dvh - var(--topbar-h) - var(--tabbar-space))}body:not(.has-tabbar) .chat-page-wrap,body.tabbar-hidden .chat-page-wrap{padding-bottom:env(safe-area-inset-bottom,0px)}}@media(min-width:861px)and (max-width:1279px){:root{--sidebar-w: var(--sidebar-w-icon)}.sidebar{overflow-x:hidden}.sidebar-logo{padding:16px 0 12px;display:flex;justify-content:center}.logo-mark,.logo-sub{display:none}.logo-compact{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);font-family:var(--font-brand);font-weight:700;font-size:16px}.profile-link{justify-content:center;padding:12px 0}.profile-text{display:none}.sidebar-nav{padding:6px 8px}.nav-section-title{height:0;padding:0;margin:8px 6px;overflow:hidden;border-top:1px solid var(--border)}.sidebar-nav>div:first-child .nav-section-title{display:none}.sidebar .nav-item{position:relative;justify-content:center;height:44px;padding:0}.sidebar .nav-label,.sidebar .nav-soon{display:none}.sidebar .nav-badge{position:absolute;top:3px;right:3px;margin:0;min-width:16px;padding:0 4px;font-size:10px;line-height:16px}.sidebar-footer{padding:8px}.sidebar .logout-btn{justify-content:center;padding:10px 0}}.more-backdrop{display:none}@media(max-width:860px){.sidebar{display:none}.topbar{padding-left:12px;padding-right:8px}.topbar-left{gap:10px}.topbar-right{gap:2px}.topbar-logo{display:inline-flex;align-items:center;min-height:44px}.topbar-title{font-size:15px;color:var(--text2)}.topbar-wide{display:none}.topbar .icon-btn{width:44px;height:44px}.menu-toggle{display:inline-flex}.more-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000059}.more-sheet{position:absolute;top:0;bottom:0;left:0;width:min(300px,85vw);display:flex;flex-direction:column;overflow:hidden;outline:none;background:var(--surface);box-shadow:var(--shadow-md);padding-top:env(safe-area-inset-top,0px)}.more-grip{display:none}.more-head{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 4px;border-bottom:1px solid var(--border)}.more-profile{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 10px;border-radius:var(--radius-sm);color:inherit;text-decoration:none}.more-profile:hover,.more-profile.active{background:var(--primary-light)}.more-profile-text{flex:1;min-width:0}.more-profile .icon{color:var(--text3)}.more-close{width:44px;height:44px}.more-nav{flex:1;min-height:0;overflow-y:auto;padding:2px 10px 10px}.more-item{min-height:48px;font-size:15px}.more-foot{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.more-theme{flex:1;display:flex;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--surface-2)}.more-theme button{flex:1;min-height:44px;border-radius:var(--radius-xs);font-weight:700;color:var(--text2)}.more-theme button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.more-logout{width:auto;min-height:44px;padding:0 14px}}@media(max-width:639px){.more-sheet{top:auto;right:0;width:auto;max-height:85dvh;padding-top:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.more-grip{display:block;width:36px;height:4px;margin:8px auto 2px;border-radius:var(--radius-pill);background:var(--border)}}@media(max-width:639px){.ex-screen-head{padding-top:calc(14px + env(safe-area-inset-top,0px))}}@media(max-width:860px){.grid-2{grid-template-columns:minmax(0,1fr)}}@media(max-width:639px){.dash-todo .dash-due{order:-1}.simple-list:has(.dash-row){grid-template-columns:minmax(0,1fr)}.simple-list li:has(.dash-row){padding:0;min-width:0}.dash-row{flex-wrap:wrap;gap:2px 8px;min-width:0;min-height:44px;padding:8px 10px}.dash-row-title{flex:1 1 100%}.dash-row-side{font-size:13px}}.page-fab{display:none}@media(max-width:639px){.page-fab-src{display:none}.page-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:calc(20px + var(--tabbar-space));z-index:80;width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-md)}.tabs{flex-wrap:nowrap;gap:6px;border-bottom:none;padding-bottom:2px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs .tab{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 16px;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface)}.tabs .tab.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.filter-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.filter-chips::-webkit-scrollbar{display:none}.filter-chips .nt-chip{flex-shrink:0;min-height:44px;padding:0 14px;font-size:13px}.modal.modal-full{height:100dvh;max-height:100dvh;border-radius:0}.modal-full .modal-header{padding-top:calc(14px + env(safe-area-inset-top,0px))}.modal-full .modal-body{flex:1;min-height:0;display:flex;flex-direction:column}.modal-full .modal-body>*{flex-shrink:0}.modal-full .modal-body>form{flex:1 0 auto;display:flex;flex-direction:column}.modal-full .modal-body>form>.form-actions,.modal-full .activity>.comment-editor:last-child{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom,0px));z-index:2;margin-left:-20px;margin-right:-20px;margin-bottom:calc(-20px - env(safe-area-inset-bottom,0px));padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border)}.modal-full .modal-body>form>.form-actions{margin-top:auto}.modal-full .modal-body>form>.form-actions .btn{flex:1;min-height:48px;justify-content:center;font-size:15px}.modal-full .activity{flex:1 0 auto;display:flex;flex-direction:column}.modal-full .activity>.comment-editor:last-child{margin-top:auto}.modal-full .act-list{max-height:none;overflow:visible}.comment-editor-foot .btn{min-height:44px;padding:0 16px}.mention-list{max-height:min(200px,35dvh)}.mention-item{min-height:44px}.mention-floating{max-width:calc(100vw - 16px)}}@media(max-width:639px){.req-card-meta,.task-dates{font-size:13px}.task-card .task-title{font-size:14px}.req-card{padding:14px}.req-card .req-title{font-size:15px}.card-done-btn{min-height:44px}.task-card .card-icon-btn{width:44px;height:44px;margin:-8px -8px -8px 0}.req-actions .btn{flex:1 1 40%;min-height:44px;justify-content:center;font-size:14px}.comments .inline-form .btn{min-height:44px}.team-toolbar .team-toolbar-row{flex-wrap:nowrap}.team-toolbar .team-search{flex:1;min-width:0;width:auto}.team-filter-btn{flex-shrink:0;min-height:44px}.team-filter-sheet{display:grid;gap:12px}.team-filter-sheet .seg{justify-self:start}.team-filter-sheet .seg button{min-height:44px;padding:0 12px}.team-filter-sheet .team-select{width:100%}.team-filter-sheet .nt-chip{justify-self:start;min-height:44px;padding:0 14px}.team-filter-sheet .check-row{min-height:44px;display:flex;align-items:center;gap:8px}.team-filter-sheet .btn{min-height:44px;justify-content:center}.team-filter-sheet .team-collapse{margin-left:0}.team-group-btn{min-height:44px}.team-card{padding:12px}.team-card-title{font-size:14px}.team-card .req-card-meta{font-size:13px}}.feed-room-list{display:grid;gap:8px}@media(max-width:639px){.feed-room-list .feed-ch{min-height:60px;padding:10px 14px;font-size:15px}.feed-room-list .feed-ch>.icon:last-child{color:var(--text3)}.feed-room-list .feed-ch-name{flex:1}.feed-chips{scrollbar-width:none}.feed-chip{min-height:44px}.feed-head{padding:12px 14px;gap:10px}.feed-head-icon{width:40px;height:40px}.post-card{padding:14px}.post-meta{font-size:13px}.post-foot{flex-wrap:wrap}.post-foot .link-btn{min-height:44px;padding:0 8px;font-size:13px}.file-cards{grid-template-columns:minmax(0,1fr)}.file-card{min-height:52px}.post-comments>.comment-editor:last-child{position:sticky;bottom:var(--tabbar-space);z-index:2;margin:8px -14px -14px;padding:8px 14px 12px;background:var(--surface);border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius)}.composer-head{padding-top:calc(10px + env(safe-area-inset-top,0px))}.composer-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.composer-toolbar::-webkit-scrollbar{display:none}.composer-toolbar>*{flex-shrink:0}.composer-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.composer-actions .btn{min-height:44px}}.journal-panel-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;text-align:left;font-weight:inherit}.journal-panel-toggle>.icon:last-child{margin-left:auto;color:var(--text3)}@media(max-width:639px){.journal-nav{flex-wrap:nowrap;gap:4px}.journal-nav .icon-btn{width:44px;height:44px;flex-shrink:0}.journal-nav .btn{min-height:44px;flex-shrink:0}.journal-date{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-picker-text{display:none}.journal-picker-wrap .btn{width:44px;justify-content:center;padding:0}.journal-memo-head .btn{min-height:44px}.journal-panel .card-title{margin-bottom:0}.journal-panel .card-title:has(.journal-panel-toggle){display:flex}.journal-panel .card-title+*{margin-top:8px}.journal-task{min-height:44px}.rich-editor ul[data-type=taskList] li>label{padding:10px 14px;margin:-10px -14px}}@media(max-width:639px){.modal-full .form-input{min-height:44px}.modal-full .form-actions .btn{min-height:44px;justify-content:center}}.phone-fold{margin-top:14px;border-top:1px solid var(--border)}.phone-fold-head{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;font-size:14px;font-weight:800;text-align:left}.phone-fold-head .icon{color:var(--text3)}.phone-fold-body{padding-bottom:8px}@media(max-width:860px){.cal-layout,.cal-side,.cal-side-list{grid-template-columns:minmax(0,1fr)}}@media(min-width:640px)and (max-width:860px){.cal-bar,.cal-line,.cal-deadline,.cal-more{font-size:11px}.cal-month{font-size:18px}}@media(max-width:639px){.cal-toolbar{flex-wrap:nowrap;gap:6px}.cal-nav{flex:1;min-width:0;gap:2px}.cal-nav .icon-btn{width:44px;height:44px;flex-shrink:0}.cal-nav .btn{min-height:44px;flex-shrink:0}.cal-month{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-legend-btn{flex-shrink:0;min-height:44px}.cal-chip{min-height:44px;padding:0 12px;font-size:13px;display:inline-flex;align-items:center}.cal-seg button{min-height:44px;font-size:13px}.cal-grid.is-mobile .cal-week,.cal-grid.is-mobile .cal-week-bg{min-height:52px}.cal-grid.is-mobile .cal-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 0}.cal-grid.is-mobile .cal-daynum{min-width:30px;height:30px;font-size:13px}.cal-grid.is-mobile .cal-cell.is-selected{background:var(--accent-light)}.cal-grid.is-mobile .cal-cell.is-selected .cal-daynum{outline:2px solid var(--accent);outline-offset:1px}.cal-dots{justify-content:center}.cal-day-panel{padding:14px}.cal-day-panel .card-title{font-size:15px;margin-bottom:10px}.cal-daylist-item{min-height:48px;font-size:14px}.cal-side-item{min-height:44px;align-items:center}}@media(max-width:639px){.lv-my{padding-bottom:72px}.lv-toolbar .lv-year{min-height:44px}.lv-toolbar .lv-new{position:fixed;right:16px;bottom:calc(20px + var(--tabbar-space));z-index:80;min-height:52px;padding:0 22px;border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-size:15px}.lv-card.is-main{order:-1;grid-column:1 / -1;padding:18px}.lv-card.is-main .lv-card-value{font-size:36px}.lv-req-cards{display:grid;gap:8px}.lv-req-empty{padding:16px;font-size:13px}.lv-req-card{display:grid;gap:4px;width:100%;padding:14px;text-align:left}.lv-req-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.lv-req-card-range{font-size:15px;font-weight:800}.lv-req-card-meta,.lv-req-card-reason{font-size:13px;color:var(--text2);overflow-wrap:anywhere}.lv-inbox-card{padding:0}.lv-inbox-open{display:grid;gap:4px;width:100%;padding:14px 14px 10px;text-align:left}.lv-inbox-actions{display:flex;gap:8px;padding:0 14px 14px}.lv-inbox-actions .btn,.lv-detail-actions .btn{flex:1;min-height:44px;justify-content:center}}@media(max-width:639px){.modal.modal-full:has(.cn-modal){width:100%;max-width:none}.cn-filters.is-phone{flex-wrap:nowrap}.cn-filters.is-phone .pur-search{flex:1;min-width:0;width:auto}.cn-filter-btn{flex-shrink:0;min-height:44px}.cn-filter-sheet{display:grid;gap:12px}.cn-filter-sheet .cn-filter{width:100%}.cn-filter-sheet .pur-check{display:flex;align-items:center;gap:8px;min-height:44px}.cn-filter-sheet .btn{min-height:44px;justify-content:center}.cn-stage-chips{margin-bottom:10px}.cn-board.is-phone{display:block;overflow:visible;padding-bottom:0}.cn-board.is-phone .cn-col{min-height:0;padding:0;background:transparent;border:none}.cn-board.is-phone .cn-col-head{display:none}.cn-board.is-phone .cn-card{padding:12px}.cn-board.is-phone .cn-split-card{min-height:44px}.tl-mlist,.cn-mlist{display:grid;gap:8px}.tl-m-row,.cn-m-card{display:grid;gap:4px;width:100%;padding:12px 14px;text-align:left}.tl-m-row.is-late,.cn-m-card.is-late{box-shadow:inset 3px 0 0 var(--red)}.tl-m-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tl-m-title{font-size:15px;overflow-wrap:anywhere}.tl-m-dates,.tl-m-vendor,.tl-m-item{font-size:13px;color:var(--text2);overflow-wrap:anywhere}.cn-m-amount{justify-self:end}.cn-payments>*,.cn-settings>*{min-width:0}.cn-settings,.cn-pay-cards,.cn-pay-box.is-big .cn-pay-cards{grid-template-columns:minmax(0,1fr)}}
