/* Shared workspace design. Loaded after feature styles. */
:root{--ink:#202d3d;--muted:#6a7787;--line:#e1e7eb;--canvas:#f4f7f8;--purple:#5265d8;--soft:#eef1ff;--green:#178764}
.ic{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.2em;flex-shrink:0}
.chip:has(>.ic),.row-badge:has(>.ic),.status-pill:has(>.ic){white-space:nowrap}.chip>.ic,.row-badge>.ic,.status-pill>.ic{width:1em;height:1em;vertical-align:-.15em}
.ui-icon{width:21px;height:21px;display:inline-block;vertical-align:middle;flex-shrink:0}
.app-shell{grid-template-columns:248px minmax(0,1fr)}
.app-main{min-width:0}
.app-content{width:100%;max-width:none;margin:0;padding:30px 32px 48px}
.app-header{height:76px;padding:0 32px;background:#ffffffed}
.app-sidebar{background:linear-gradient(165deg,#192b3c,#111c2d 75%);padding:30px 16px 18px;gap:12px;border-right:1px solid #ffffff08;scrollbar-width:thin;scrollbar-color:#405367 transparent}
.app-sidebar>.brand{padding:0 14px;margin-bottom:25px;letter-spacing:-1.6px}
.app-sidebar .tag-selfhosted{display:none}
.sidebar-section-label{font-size:10px;font-weight:700;letter-spacing:.18em;color:#8298ab;padding:0 16px;margin-bottom:8px}
.app-sidebar nav{gap:7px}
.nav-item{min-height:48px;padding:7px 10px;color:#acbbc9;border:1px solid transparent;border-radius:12px;gap:10px;font-weight:500;transition:background .18s,color .18s}
.nav-item>.nav-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;color:#86a0b6}
.nav-item>.nav-label{width:auto;text-align:left;font-size:13px;line-height:1.35}
.nav-item:hover{background:#ffffff08;color:#fff}
.nav-item.selected{background:#28464f;color:#effff9;border-color:#79d9bd19}
.nav-item.selected>.nav-icon{background:#83dfbd;color:#163f3b;box-shadow:0 3px 12px #0002}
.sidebar-collapse{display:flex;align-items:center;gap:14px;padding:12px 15px;background:none;border:0;color:#a0b1c1;font-size:12px;border-radius:10px;margin-top:auto;text-align:left}
.sidebar-collapse:hover{background:#ffffff08;color:#fff}
.sidebar-user-block{margin-top:4px;border-top:1px solid #ffffff14;padding-top:18px}
.sidebar-user-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sidebar-user-row b,.sidebar-user-row small{display:block;font-size:12px}
.sidebar-user-row .person-avatar{background:#2b4455;color:#bcecd8;border:1px solid #62837555}
.btn-signout{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;background:#ffffff05;border:1px solid #ffffff16;color:#b7c8d6;border-radius:9px;font-size:12px}
.btn-signout:hover{background:#ffffff0d;color:#fff}
.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px;letter-spacing:-1.05px}.page-heading p{line-height:1.65}
.button{border-radius:9px;box-shadow:0 1px 2px #20304006}.button.primary{background:var(--purple);border-color:var(--purple);box-shadow:0 3px 7px #5265d822}.button.primary:hover{background:#4253bf}
.panel,.metric,.masters-card,.settings-card,.project-card,.user-table-wrapper{border-color:var(--line);box-shadow:0 2px 5px #20304003;border-radius:13px}
.metric{padding:19px 22px}.metric>strong{font-size:30px}.metric-grid{gap:14px}
.view-tabs{overflow-y:hidden;min-height:46px}.view-tabs .tab-btn{border-radius:8px 8px 0 0}
.settings-container{width:100%;max-width:none;margin:0;gap:20px}.settings-panel{max-width:none}
.settings-card{padding:24px}.settings-card-header p{max-width:1000px}
table th{background:#f7f9fa;color:#697b8b}tbody tr:hover td{background:#fafcfd}
input,textarea,.taskomania-select-trigger{border-color:#dce3e8}.notif-bell{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;color:#677b8c}
.login-view-wrapper{display:grid;grid-template-columns:1.08fr 1fr;padding:18px;gap:0;background:#f6f8f7;color:var(--ink);min-height:100dvh}
.login-story{position:relative;overflow:hidden;min-height:calc(100dvh - 36px);border-radius:22px;background:#162d35;color:#fff;padding:38px 8%;display:flex;flex-direction:column;isolation:isolate}
.login-story:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 75%,#47766d66,transparent 60%),linear-gradient(135deg,transparent 45%,#ffffff03 45%,#ffffff03 46%,transparent 46%)}
.login-story .brand{font-size:31px}.login-story .brand span{color:#ace3b9}
.login-story-copy{margin-top:clamp(45px,8vh,100px)}.story-kicker{font-size:10px;letter-spacing:.19em;color:#a9c9c5;font-weight:600}
.login-story h2{font-size:clamp(40px,4.4vw,70px);line-height:1.09;letter-spacing:-2.7px;margin:22px 0;color:#f8faf7;font-weight:600}.login-story h2>span{color:#b6e5a4}
.login-story-copy p{font-size:15px;line-height:1.8;max-width:360px;color:#b2c7c8}
.work-map{position:relative;width:100%;max-width:470px;height:280px;margin:38px 0 24px}
.map-orbit{position:absolute;border:1px solid #89b8ae32;border-radius:50%;width:300px;height:300px;left:70px;top:-12px;transform:rotate(-25deg)}.orbit-two{width:390px;height:210px;left:0;top:30px}
.map-node{position:absolute;display:flex;align-items:center;gap:15px;border:1px solid #83ab9e45;border-radius:12px;padding:17px 19px;background:#233e43;box-shadow:0 10px 24px #071b2325;font-size:11px;color:#9bbfb5;min-width:270px;transform:rotate(-3deg)}
.map-node>span{color:#ecf4ed;font-size:13px;flex:1}.map-node>b{display:grid;place-items:center;border-radius:50%;background:#c6e8ac;color:#294237;width:25px;height:25px;font-size:15px}
.node-start{left:0;top:12px}.node-middle{right:0;top:99px;transform:rotate(3deg);background:#d6e9d7;color:#597469}.node-middle>span{color:#243d35}.node-end{left:28px;top:190px;transform:rotate(-2deg)}
.map-avatars{display:flex;font-style:normal;background:#526a61;color:#fff;border-radius:50%;font-size:10px;padding:4px}.map-avatars span{margin-left:3px}.map-caption{position:absolute;bottom:-25px;left:28px;font-size:8px;letter-spacing:.16em;color:#8eaca9}
.story-footer{margin-top:auto;padding-top:42px;display:flex;gap:14px;justify-content:space-between;color:#a0bab7;font-size:10px}.story-footer>span:last-child{font-size:8px;letter-spacing:.08em}
.login-form-side{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:65px 32px;min-width:0}
.login-card{max-width:410px;background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;padding:0;animation:none}
.login-brand{margin-bottom:56px}.login-brand .brand{color:#243e40;font-size:26px}.login-brand .brand span{color:#5e9f7b}.login-badge{background:#edf2ef;border:1px solid #dce6df;color:#6a7e70;font-size:10px}
.login-header .eyebrow{color:#657b70;font-size:10px;letter-spacing:.17em;margin-bottom:12px}.login-header h1{font-size:36px;letter-spacing:-1.3px;color:#243730;margin-bottom:10px}.login-header p{color:#78867f;font-size:14px;line-height:1.7;margin-bottom:32px}
.login-field{margin-bottom:22px;gap:9px}.login-field label{color:#384d43;font-size:12px}.input-with-icon input{background:#fff;color:#263b32;border:1px solid #dce5df;min-height:52px;border-radius:9px;padding-left:44px;font-size:14px}.input-with-icon input::placeholder{color:#96a29b}.input-with-icon input:focus{border-color:#648b73;box-shadow:0 0 0 3px #648b7315}.input-with-icon .field-icon{display:grid;place-items:center;color:#84998c}.field-icon .ui-icon{width:18px;height:18px}.toggle-pass-btn{color:#7b9183}.toggle-pass-btn:hover{color:#274e36}
.login-options{color:#687b6f;font-size:12px;margin:4px 0 26px}.remember-toggle input[type=checkbox]{accent-color:#2a5843}
.btn-login-submit{background:#284e3c;box-shadow:0 4px 10px #284e3c15;min-height:52px;border-radius:9px;font-size:14px}.btn-login-submit:hover{background:#1b3e2d;box-shadow:0 6px 15px #284e3c20}.btn-login-submit:disabled{opacity:.65;cursor:wait;transform:none}
.login-help{text-align:center;font-size:11px;color:#89968e;line-height:1.6;margin-top:27px}.login-footnote{position:absolute;bottom:20px;font-size:10px;color:#91a095;display:flex;align-items:center;gap:7px}.login-footnote .ui-icon{width:13px;height:13px}.login-error-alert{background:#fff0ed;color:#a33131;border-color:#f4d3cd}
@media(min-width:761px){.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.sidebar-collapsed .app-sidebar{padding:30px 12px 18px}.sidebar-collapsed .app-sidebar>.brand{font-size:0;padding:0 12px}.sidebar-collapsed .app-sidebar>.brand:before{content:'t';font-size:30px;letter-spacing:-3px}.sidebar-collapsed .app-sidebar>.brand>span{font-size:8px}.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-section-label,.sidebar-collapsed .sidebar-collapse>span,.sidebar-collapsed .sidebar-user-row>div:last-child,.sidebar-collapsed .signout-label{display:none}.sidebar-collapsed .nav-item{justify-content:center;padding:7px}.sidebar-collapsed .sidebar-collapse{justify-content:center;padding:12px}.sidebar-collapsed .sidebar-collapse .ui-icon{transform:rotate(180deg)}.sidebar-collapsed .sidebar-user-row{justify-content:center}}
@media(max-width:1100px) and (min-width:761px){.app-shell:not(.sidebar-collapsed){grid-template-columns:224px minmax(0,1fr)}.app-content{padding:26px 24px}.app-header{padding:0 24px}.header-org-title,.breadcrumb-separator{display:none}.user-greeting{display:none}.login-story{padding:32px 7%}.map-node{min-width:235px}.story-footer>span:last-child{display:none}}
@media(max-width:760px){.app-shell{display:block}.app-content{padding:24px 16px 40px}.app-header{padding:12px 16px;min-height:70px;height:auto;flex-wrap:wrap}.header-org-title,.breadcrumb-separator,.user-greeting{display:none}.header-page-title{font-size:12px}.header-actions{gap:8px}.app-sidebar{width:270px}.sidebar-collapse{display:none}.sidebar-user-block{margin-top:auto}.page-heading h1{font-size:25px}.settings-card{padding:18px}.login-view-wrapper{display:block;padding:0}.login-story{display:none}.login-form-side{min-height:100dvh;padding:44px 24px 70px}.login-brand{margin-bottom:44px}.login-header h1{font-size:32px}.input-with-icon input{font-size:16px}.login-footnote{bottom:22px}.project-grid,.roles-grid{grid-template-columns:minmax(0,1fr)}.view-tabs{max-width:100%}}
@media(prefers-reduced-motion:reduce){.nav-item,.btn-login-submit{transition:none}}
.nav-item.selected>.nav-label{color:#effff9}
.masters-nav-tabs{overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:thin}.masters-tab-btn{flex-shrink:0;white-space:nowrap}
