html,body,#root{width:100%;min-width:0;margin:0}body{overflow-x:hidden}.login-screen{min-height:100dvh}.app-shell{display:flex;height:100vh;height:100dvh;overflow:hidden;background:#f8fafc}.app-workspace{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.app-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 24px;border-bottom:1px solid #e2e8f0;background:#fff}.app-heading{min-width:0;flex:1}.app-heading h1{overflow-wrap:anywhere}.app-heading p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{flex:1;min-height:0;min-width:0;overflow-y:auto;padding:24px;overscroll-behavior-y:contain}.desktop-navigation{width:240px;flex-shrink:0;min-height:0}.app-sidebar{width:100%;height:100%;min-height:0}.app-sidebar nav{min-height:80px}.menu-toggle{display:none}.navigation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a8c}.navigation-drawer{width:min(320px,90vw);height:100%;height:100dvh;overflow-y:auto;background:#0f172a;box-shadow:12px 0 36px #0003}.navigation-drawer .app-sidebar{height:auto;min-height:calc(100% - 60px)}.navigation-drawer nav{overflow:visible}.drawer-heading{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;color:#e2e8f0;border-bottom:1px solid #ffffff15}.drawer-heading button,.menu-toggle{width:44px;height:44px;flex-shrink:0;border-radius:12px}.drawer-heading button{background:#ffffff10}.table-shell{min-width:0;max-width:100%}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-scroll-hint{padding:8px 12px;font-size:12px;color:#0e7490;background:#ecfeff;border-bottom:1px solid #cffafe}.table-scroll:focus-visible{outline:2px solid #0891b2;outline-offset:-2px}.responsive-modal{margin:0!important;padding:16px;overflow-y:auto;overscroll-behavior:contain}.responsive-modal>:first-child{min-width:0;max-height:calc(100dvh - 32px)}.responsive-modal .overflow-y-auto{min-height:0}.responsive-modal input,.responsive-modal select,.responsive-modal textarea{max-width:100%;min-width:0}.responsive-modal .grid>*,.app-content .grid>*{min-width:0}.responsive-toolbar{flex-wrap:wrap}.responsive-toolbar>.relative{flex-basis:220px;min-width:0}.ai-workspace{height:calc(100dvh - 120px);min-height:420px}@media screen and (max-width: 1023px){.menu-toggle{display:inline-flex;align-items:center;justify-content:center;color:#0e7490;background:#ecfeff;border:1px solid #cffafe}.app-header{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.app-content{padding:16px}.app-sidebar button{min-height:44px}.table-scroll>table{min-width:680px}}@media screen and (max-width: 639px){.app-header{padding-left:12px;padding-right:12px;gap:10px}.app-content{padding:12px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.app-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.responsive-modal :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.login-screen input{font-size:16px}.app-content button,.responsive-modal button{min-height:40px}.app-content :is(h1,h2,h3,p),.responsive-modal :is(h1,h2,h3,p){overflow-wrap:anywhere}.app-content .flex-1,.responsive-modal .flex-1{min-width:0}.app-content .flex.justify-between,.responsive-modal .flex.justify-between{flex-wrap:wrap;gap:10px}.app-content :is(.min-w-64,.min-w-56,.min-w-48,.min-w-44):not(td):not(th){min-width:0;flex-basis:100%}.responsive-toolbar>:is(select,input),.responsive-toolbar>.relative{width:100%;max-width:none;flex-basis:100%}.responsive-modal{padding:8px;align-items:center}.responsive-modal>:first-child{max-height:calc(100dvh - 16px);border-radius:16px}.responsive-modal>:first-child:not(.flex-col){overflow-y:auto}.responsive-modal :is(.px-6,.p-6),.app-content .p-6{padding-left:16px;padding-right:16px}.responsive-modal .py-4{padding-top:12px;padding-bottom:12px}.responsive-modal .flex-shrink-0,.responsive-modal .border-t{flex-shrink:0}.ai-workspace{height:calc(100dvh - 100px)}.app-header{flex-wrap:wrap}.app-cost-notice{flex-basis:100%;margin-left:54px}}@media (prefers-reduced-motion: reduce){.fade-in{animation:none!important}}@media print{.app-shell,.app-workspace,.app-content{display:block;height:auto;overflow:visible;padding:0}.desktop-navigation,.navigation-overlay,.app-header,.table-scroll-hint{display:none!important}.table-scroll{overflow:visible;max-height:none}}@keyframes taskReplyBlink{50%{opacity:.35}}.task-reply-alert{animation:taskReplyBlink 1.2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.task-reply-alert{animation:none}}
