:root{--color-background:#F7F8FA;--color-surface:#FFFFFF;--color-surface-raised:#FFFFFF;--color-sidebar:#FFFFFF;--color-border:#E5E7EB;--color-text-primary:#111827;--color-text-secondary:#6B7280;--color-accent:#2563EB;--color-accent-soft:#DBEAFE;--color-success:#16A34A;--color-success-soft:#DCFCE7;--color-approved:#0E7490;--color-approved-soft:#CFFAFE;--color-warning:#B45309;--color-warning-soft:#FEF3C7;--color-danger:#DC2626;--color-neutral-soft:#F3F4F6;--chart-1:#2a78d6;--chart-2:#eb6834;--chart-3:#1baf7a;--chart-4:#eda100;--chart-5:#e87ba4;--chart-6:#008300;--chart-7:#6250d6}[data-theme=dark]{--color-background:#0B0E1A;--color-surface:#111726;--color-surface-raised:#151C2E;--color-sidebar:#0B0E1A;--color-border:#232B40;--color-text-primary:#F5F7FA;--color-text-secondary:#9AA4B8;--color-accent:#3B82F6;--color-accent-soft:#1E3A8A;--color-success:#22C55E;--color-success-soft:#14532D;--color-approved:#22D3EE;--color-approved-soft:#164E63;--color-warning:#F59E0B;--color-warning-soft:#3A2E10;--color-danger:#EF4444;--color-neutral-soft:#1B2233;--chart-1:#3987e5;--chart-2:#d95926;--chart-3:#199e70;--chart-4:#c98500;--chart-5:#d55181;--chart-6:#008300;--chart-7:#9085e9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-background:#0B0E1A;--color-surface:#111726;--color-surface-raised:#151C2E;--color-sidebar:#0B0E1A;--color-border:#232B40;--color-text-primary:#F5F7FA;--color-text-secondary:#9AA4B8;--color-accent:#3B82F6;--color-accent-soft:#1E3A8A;--color-success:#22C55E;--color-success-soft:#14532D;--color-approved:#22D3EE;--color-approved-soft:#164E63;--color-warning:#F59E0B;--color-warning-soft:#3A2E10;--color-danger:#EF4444;--color-neutral-soft:#1B2233;--chart-1:#3987e5;--chart-2:#d95926;--chart-3:#199e70;--chart-4:#c98500;--chart-5:#d55181;--chart-6:#008300;--chart-7:#9085e9}}*{box-sizing:border-box}body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.brand-logo-dark,[data-theme=dark] .brand-logo-light{display:none}[data-theme=dark] .brand-logo-dark{display:inline-block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo-light{display:none}:root:not([data-theme=light]) .brand-logo-dark{display:inline-block}}.app-shell-overlay{display:none}@media (max-width:1024px){.app-shell-sidebar{position:fixed!important;top:0;bottom:0;left:0;z-index:50;transform:translateX(-100%);transition:transform .16s ease-out;overflow-y:auto;box-shadow:0 0 24px rgba(0,0,0,.18)}.app-shell-sidebar.is-open{transform:translateX(0)}.app-shell-overlay.is-open{display:block;position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45)}.app-shell-burger{display:inline-flex!important}.app-shell-header{flex-wrap:wrap;row-gap:8px}.app-shell-search{min-width:0}.app-shell-header input{min-width:0!important}.app-shell-main table{display:block;width:100%;min-width:0!important;overflow-x:auto}.app-shell-main canvas,.app-shell-main img,.app-shell-main svg{max-width:100%;height:auto}.app-shell-main [style*="display:flex"]:not(.keep-row){flex-wrap:wrap}.app-shell-main input,.app-shell-main select,.app-shell-main textarea{min-width:0!important;max-width:100%}}@media (min-width:1025px){.app-shell-burger{display:none!important}}@media (max-width:768px){.app-shell-main [style*=grid-template-columns]:not(.keep-columns){grid-template-columns:minmax(0,1fr)!important}.app-shell-main [style*=grid-template-columns]:not(.keep-columns)>*{grid-column:auto!important;grid-row:auto!important}.calendar-grid-scroll{overflow-x:auto}.calendar-grid-scroll>.calendar-month-grid{min-width:560px}.app-shell-user-identity{display:none!important}}@media (max-width:480px){.app-shell-header{padding:10px 14px!important;gap:10px!important}.app-shell-main{padding:14px!important}}@media (pointer:coarse){.app-shell-burger,.app-shell-header a{min-width:44px;min-height:44px}.app-shell-header a{display:inline-flex;align-items:center;justify-content:center}.app-shell-sidebar a,.app-shell-sidebar button{min-height:44px}.app-shell-main button,.app-shell-main input,.app-shell-main select,.app-shell-main textarea{min-height:40px}.app-shell-main [style*="font-size:10px"]{font-size:12px!important}.app-shell-main [style*="font-size:11px"]{font-size:13px!important}.app-shell-main [style*="font-size:12px"]{font-size:14px!important}.app-shell-main [style*="font-size:13px"]{font-size:15px!important}.app-shell-header input,.app-shell-main [style*="font-size:14px"],.app-shell-main input,.app-shell-main select,.app-shell-main textarea{font-size:16px!important}.app-shell-main{line-height:1.5;padding:16px!important}}@media (max-width:768px){.app-shell-header{flex-wrap:wrap}.app-shell-header>*{order:1}.app-shell-search{order:2;flex:1 0 100%!important;max-width:none!important}.app-shell-header-secondary,.app-shell-header-spacer{display:none!important}}@media (max-width:1024px){.app-shell-header{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.app-shell-main{padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important}.app-shell-sidebar{padding-left:max(16px,env(safe-area-inset-left))}}.locale-switch{display:inline-flex;flex-shrink:0;padding:2px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface)}.locale-switch button{border:none;background:transparent;color:var(--color-text-secondary);font-size:11px;font-weight:800;letter-spacing:.5px;padding:4px 9px;border-radius:999px;cursor:pointer;line-height:1}.locale-switch button.is-active{background:var(--color-accent);color:#fff;cursor:default}.locale-switch button:not(.is-active):hover{color:var(--color-text-primary)}.locale-switch button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@media (pointer:coarse){.locale-switch button{min-width:40px;min-height:36px}}@media (max-width:768px){.app-shell-burger{margin-right:auto}}@media (max-width:1024px){.app-shell-header-spacer{display:none!important}}.post-editor{border:1px solid var(--color-border);border-radius:8px;background:var(--color-background);font-weight:400;font-size:14px;text-transform:none;letter-spacing:normal;text-align:left;margin-top:4px}.post-editor:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.post-editor.is-disabled{opacity:.7}.post-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--color-border);background:var(--color-surface);border-radius:8px 8px 0 0}.post-editor-tool{min-width:30px;height:30px;padding:0 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--color-text-primary);font-size:14px;font-weight:700;cursor:pointer;line-height:1}.post-editor-tool:hover:not(:disabled){background:var(--color-neutral-soft)}.post-editor-tool.is-active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.post-editor-tool:disabled{opacity:.4;cursor:default}.post-editor-tool:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.post-editor-toolbar .post-editor-tool:nth-child(2){font-style:italic;font-family:Georgia,serif}.post-editor-sep{width:1px;height:20px;background:var(--color-border);margin:0 4px}.post-editor-emoji{position:relative}.post-editor-emoji-panel{position:absolute;z-index:20;top:34px;left:0;display:grid;grid-template-columns:repeat(6,32px);grid-gap:2px;gap:2px;padding:6px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.18)}.post-editor-emoji-panel button{width:32px;height:32px;border:none;background:transparent;border-radius:6px;font-size:18px;cursor:pointer}.post-editor-emoji-panel button:hover{background:var(--color-neutral-soft)}.post-editor .post-editor-content{padding:10px 12px;outline:none;color:var(--color-text-primary);font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.post-editor .post-editor-content p{margin:0 0 .6em}.post-editor .post-editor-content ul,.post-text-view ul{margin:0 0 .6em;padding-left:1.4em}.post-editor .post-editor-content li p{margin:0}.post-editor .post-editor-content h2,.post-text-view h2{font-size:1.25em;margin:.4em 0 .5em}.post-editor .post-editor-content h3,.post-text-view h3{font-size:1.1em;margin:.4em 0}.post-editor .post-editor-content a,.post-text-view a{color:var(--color-accent);text-decoration:underline}.post-editor .post-editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-secondary);float:left;height:0;pointer-events:none}.post-editor-footer{display:flex;flex-direction:column;gap:4px;padding:6px 12px 8px;border-top:1px solid var(--color-border);font-size:12px}.post-editor-preview summary{cursor:pointer;color:var(--color-accent);font-weight:700}.post-editor-preview-text{margin-top:6px;padding:10px;border-radius:6px;background:var(--color-surface);border:1px dashed var(--color-border);white-space:pre-wrap;font-size:13px;line-height:1.55;max-height:320px;overflow-y:auto}.post-editor-preview-text,.post-text-view{word-break:break-word;color:var(--color-text-primary)}.post-text-view{line-height:1.6}.post-text-view p{margin:0 0 .6em}.post-text-view p:last-child{margin-bottom:0}.ticket-row{cursor:pointer}.ticket-row:hover{background:var(--color-neutral-soft)}.ticket-link{font-weight:700;color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.ticket-row:hover .ticket-link{text-decoration-thickness:2px}.ticket-open{color:var(--color-accent);font-weight:700;text-decoration:none;white-space:nowrap}.ticket-row:hover .ticket-open{text-decoration:underline}