@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.app-layout{min-height:100vh}.main-content{width:calc(100% - 260px);min-width:0;min-height:100vh;margin-left:260px;transition:margin-left .2s,width .2s}.app-layout.sidebar-collapsed .main-content{width:calc(100% - 76px);margin-left:76px}.app-layout.sidebar-collapsed .topbar{width:calc(100% - 76px)}.page-content{padding:calc(var(--topbar-height) + 24px) 28px 24px}@media (width<=900px){.main-content{width:calc(100% - 220px);margin-left:220px}}@media (width<=700px){.main-content{width:calc(100% - 200px);margin-left:200px}.page-content{padding:20px;padding:calc(var(--topbar-height) + 16px) 14px 16px}}.side-bar{background:var(--surface);width:260px;min-width:260px;height:100vh;color:var(--text-primary);border-right:1px solid var(--border);z-index:1000;flex-direction:column;transition:width .2s,min-width .2s;display:flex;position:fixed;top:0;left:0}.side-bar.collapsed{width:76px;min-width:76px}.sidebar-collapse-toggle{border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;z-index:1001;border-radius:50%;justify-content:center;align-items:center;font-size:10px;transition:background-color .2s,color .2s;display:flex;position:absolute;top:60px;right:-12px}.sidebar-collapse-toggle:hover{background:var(--surface-hover);color:var(--primary)}.logo{border-bottom:1px solid var(--border-light);justify-content:center;align-items:center;width:100%;height:72px;padding:10px 20px;display:flex}.logo a{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.logo img{object-fit:contain;max-width:150px;max-height:55px;transition:max-width .2s}.side-bar.collapsed .logo img{max-width:32px}.menu-groups{flex:1;padding-top:16px;overflow-y:auto}.menu-group{margin-bottom:8px}.group-title{font-size:var(--text-overline);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);margin:0 24px 8px}.side-bar.collapsed .group-title{display:none}.menu-group ul{margin:0;padding:0 12px;list-style:none}.menu-group li{margin-bottom:4px}.side-bar li a{border-radius:var(--radius-md);min-height:42px;color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);align-items:center;gap:12px;padding:0 14px;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.side-bar li a i{text-align:center;width:18px;color:inherit;font-size:14px}.side-bar.collapsed .menu-group ul{padding:0 8px}.side-bar.collapsed li a{justify-content:center;gap:0;padding:0}.side-bar.collapsed li a span{display:none}.side-bar li a:hover{background:var(--surface-hover);color:var(--text-primary)}.side-bar li a.active{background:var(--primary-light);color:var(--primary)}.bottom-section{border-top:1px solid var(--border-light);margin-top:auto}.profile{border-bottom:1px solid var(--border-light);align-items:center;gap:10px;padding:16px 20px;display:flex}.user-avatar{background:var(--primary);width:36px;min-width:36px;height:36px;color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);border-radius:50%;justify-content:center;align-items:center;display:flex}.user-info{flex-direction:column;min-width:0;display:flex}.user-info strong{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-info span{font-size:var(--text-caption);color:var(--text-secondary)}.logout{padding:16px 12px}.logout a{border-radius:var(--radius-md);min-height:42px;color:var(--text-secondary);font-size:var(--text-label);align-items:center;gap:12px;padding:0 14px;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.logout a i{text-align:center;width:18px}.logout a:hover{background:var(--surface-hover);color:var(--text-primary)}@media (width<=900px){.side-bar{width:220px;min-width:220px}}@media (width<=700px){.side-bar{width:200px;min-width:200px}.menu-groups{padding-top:12px}.group-title{margin-left:18px;margin-right:18px}.menu-group ul{padding:0 8px}}.side-bar:not(.collapsed) .menu-groups{padding-top:24px}.side-bar:not(.collapsed) .menu-group{margin-bottom:0}.side-bar:not(.collapsed) li{margin-bottom:6px}.side-bar:not(.collapsed) li a{min-height:52px;font-size:var(--text-body-large);gap:14px;padding:0 18px 0 22px}.side-bar:not(.collapsed) li a i{width:22px;font-size:18px}.side-bar .group-title{font-size:var(--text-body-large);font-weight:var(--weight-bold);letter-spacing:0;text-transform:none;margin:20px 20px 10px;line-height:1.3}.side-bar:not(.collapsed) .menu-group.titled li a{padding-left:40px}.side-bar .menu-group:first-child .group-title{margin-top:0}.topbar{background:var(--surface);border-bottom:1px solid var(--border-light);z-index:900;justify-content:space-between;align-items:center;width:calc(100% - 260px);min-height:96px;padding:20px 28px;transition:width .2s;display:flex;position:fixed;top:0;right:0}.topbar-left{flex-direction:column;gap:4px;min-width:0;display:flex}.page-title{color:var(--text-primary);font-size:var(--text-page-title);font-weight:var(--weight-bold);margin:0;line-height:1.2}.page-description{color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-regular);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.4;overflow:hidden}.topbar-right{align-items:center;gap:20px;display:flex}.notification-wrapper{position:relative}.notification-button{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;transition:background-color .2s,color .2s;display:flex;position:relative}.notification-button:hover,.notification-button.open{background:var(--primary-light);color:var(--primary-dark)}.notification-badge{min-width:16px;height:16px;color:var(--text-white);font-size:9px;font-weight:var(--weight-bold);background:#2563eb;border-radius:20px;justify-content:center;align-items:center;padding:0 4px;line-height:1;display:flex;position:absolute;top:4px;right:3px}.notification-dropdown{border:1px solid var(--border);background:var(--surface);z-index:1200;border-radius:12px;flex-direction:column;width:340px;max-height:420px;animation:.16s profileDropdownOpen;display:flex;position:absolute;top:calc(100% + 10px);left:50%;overflow:hidden;transform:translate(-38%);box-shadow:0 12px 30px #0f172a24,0 2px 8px #0f172a14}.notification-dropdown-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notification-dropdown-header strong{color:var(--text-primary);font-size:14px}.notification-mark-all{color:var(--primary);font-family:inherit;font-size:11px;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none}.notification-mark-all:hover{text-decoration:underline}.notification-dropdown-list{overflow-y:auto}.notification-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;font-size:12px;display:flex}.notification-empty-state i{font-size:20px}.notification-item{border:none;border-bottom:1px solid var(--border-light);text-align:left;cursor:pointer;background:0 0;border-left:3px solid #0000;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;font-family:inherit;transition:background-color .16s,border-color .16s;display:flex;position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--surface-hover)}.notification-item.unread{background:var(--primary-light)}.notification-item.unread:hover{background:var(--primary-light);filter:brightness(.97)}.notification-item-icon{background:var(--surface);width:32px;min-width:32px;height:32px;color:var(--primary);border:1px solid #0000;border-radius:9px;flex:none;place-items:center;font-size:13px;display:grid}.notification-item-body{flex:1;min-width:0}.notification-item-message{color:var(--text-primary);margin:0;font-size:12.5px;line-height:1.4}.notification-item-time{color:var(--text-muted);margin-top:4px;font-size:10.5px;display:block}.notification-item-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;min-width:8px;height:8px;margin-top:4px}.notification-item.notification-blue{--notification-color:#2563eb;--notification-tint:#eff6ff;--notification-border:#bfdbfe;border-left-color:var(--notification-color)}.notification-item.notification-orange{--notification-color:#ea580c;--notification-tint:#fff7ed;--notification-border:#fed7aa;border-left-color:var(--notification-color)}.notification-item.notification-red{--notification-color:#dc2626;--notification-tint:#fef2f2;--notification-border:#fecaca;border-left-color:var(--notification-color)}.notification-item.notification-blue .notification-item-icon,.notification-item.notification-orange .notification-item-icon,.notification-item.notification-red .notification-item-icon{color:var(--notification-color);background:var(--notification-tint);border-color:var(--notification-border)}.notification-item.notification-blue .notification-item-dot,.notification-item.notification-orange .notification-item-dot,.notification-item.notification-red .notification-item-dot{background:var(--notification-color)}.notification-item.notification-blue.unread{background:#f8fbff}.notification-item.notification-orange.unread{background:#fffaf5}.notification-item.notification-red.unread{background:#fff8f8}.notification-item.notification-blue:hover{background:#eff6ff}.notification-item.notification-orange:hover{background:#fff7ed}.notification-item.notification-red:hover{background:#fef2f2}.topbar-profile-wrapper{position:relative}.topbar-profile{border-radius:var(--radius-md);text-align:left;background:0 0;align-items:center;gap:10px;padding:4px 8px;display:flex}.topbar-profile-toggle{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:2px;transition:background-color .2s,box-shadow .2s;display:flex}.topbar-profile-toggle:hover,.topbar-profile-toggle.open{background:var(--surface-hover)}.topbar-profile-toggle.open{box-shadow:0 0 0 1px var(--border)}.topbar-avatar{background:var(--primary);width:38px;min-width:38px;height:38px;color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);border-radius:50%;justify-content:center;align-items:center;display:flex}.topbar-user-info{flex-direction:column;min-width:0;display:flex}.topbar-user-info strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;line-height:18px}.topbar-user-info span{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-regular);white-space:nowrap;line-height:16px}.profile-arrow{color:var(--text-muted);font-size:10px;transition:transform .2s}.profile-arrow.open{transform:rotate(180deg)}.profile-dropdown{border:1px solid var(--border);background:var(--surface);z-index:1200;border-radius:12px;width:290px;padding:10px;animation:.16s profileDropdownOpen;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 30px #0f172a24,0 2px 8px #0f172a14}@keyframes profileDropdownOpen{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-account{align-items:center;gap:11px;padding:9px;display:flex}.profile-dropdown-avatar{background:var(--primary);width:40px;min-width:40px;height:40px;color:var(--text-white);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.profile-dropdown-account>div:last-child{flex-direction:column;min-width:0;display:flex}.profile-dropdown-account strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.profile-dropdown-account span{color:var(--text-secondary);margin-top:2px;font-size:12px}.profile-dropdown-divider{background:var(--border-light);height:1px;margin:8px 0}.profile-dropdown-heading{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;padding:5px 9px 8px;font-size:10px;font-weight:700}.profile-role-option{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px;font-family:inherit;transition:background-color .2s,color .2s;display:flex}.profile-role-option:hover{background:var(--surface-hover)}.profile-role-option.selected{background:var(--primary-light);color:var(--primary-dark)}.profile-role-icon{background:var(--primary-light);width:34px;min-width:34px;height:34px;color:var(--primary);border-radius:9px;place-items:center;font-size:14px;display:grid}.profile-role-option.selected .profile-role-icon{background:var(--primary);color:var(--text-white)}.profile-role-information{flex-direction:column;flex:1;min-width:0;display:flex}.profile-role-information strong{font-size:13px;font-weight:600}.profile-role-information small{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.profile-selected-check{color:var(--primary);font-size:12px}.temporary-access-warning{color:var(--warning);margin:7px 9px 3px;font-size:10px;line-height:1.4}.profile-logout-button,.profile-menu-button{text-align:left;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:11px;width:100%;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .2s;display:flex}.profile-logout-button{color:var(--danger);background:0 0}.profile-menu-button{color:var(--text-primary);background:0 0}.profile-menu-button:hover{background:var(--primary-light)}.profile-logout-button:hover{background:var(--danger-light)}@media (width<=900px){.topbar{width:calc(100% - 220px);padding:16px 20px}.topbar-user-info{display:none}.profile-dropdown{width:270px}}@media (width<=700px){.topbar{width:calc(100% - 200px);padding:14px 16px}.topbar-right{gap:8px}.page-description{display:none}.profile-dropdown{width:min(290px,100vw - 24px);position:fixed;top:70px;right:12px}.notification-dropdown{width:min(340px,100vw - 24px);position:fixed;top:70px;left:12px;transform:none}.page-title{font-size:20px;line-height:1.2}}.auth-page{--auth-accent-text:#0f766e;--auth-danger-text:#b91c1c;--auth-focus-ring:0 0 0 3px #08c8be59;background:var(--background);width:100%;min-height:100dvh;display:flex}.auth-loading{width:100%;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.auth-loading i{color:var(--primary)}.auth-right-panel{width:48%;min-height:100dvh;color:var(--text-white);background:#061826;justify-content:center;align-items:center;padding:50px;display:flex}.content{width:100%;max-width:540px}.auth-logo{width:460px;max-width:100%;height:auto;margin-bottom:8px;display:block;transform:translate(-4.4%)}.auth-divider{background:var(--primary);border-radius:2px;width:55px;height:3px;margin-bottom:22px}.content h1{letter-spacing:-.5px;margin:0;font-size:32px;font-weight:600;line-height:1.25}.auth-left-panel{background:var(--background);justify-content:center;align-items:center;width:52%;min-height:100dvh;padding:40px;display:flex}.auth-container{width:100%;max-width:430px}.auth-heading{margin-bottom:28px}.auth-heading h2{color:var(--text-primary);letter-spacing:-.3px;margin:0 0 7px;font-size:28px;font-weight:600}.auth-heading p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.auth-error,.auth-info{border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;font-weight:500;line-height:1.45;display:flex}.auth-error i,.auth-info i{flex:none;margin-top:2px;font-size:14px}.auth-error{border:1px solid var(--danger);background:var(--danger-light);color:var(--auth-danger-text)}.auth-error i{color:var(--danger)}.auth-info{border:1px solid var(--primary);background:var(--primary-light);color:var(--auth-accent-text)}.auth-info i{color:var(--primary-dark)}.auth-code-boxes{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.auth-page .auth-code-box{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;height:54px;color:var(--text-primary);text-align:center;caret-color:var(--primary);border-radius:10px;outline:none;padding:0;font-size:22px;font-weight:700;transition:border-color .2s,box-shadow .2s,background .2s}.auth-page .auth-code-box.is-filled{border-color:var(--primary);background:var(--primary-light)}.auth-page .auth-code-box:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--primary-light)}.auth-page .auth-code-box:disabled{opacity:.6}.auth-code-boxes.has-error .auth-code-box{border-color:var(--danger)}.auth-code-boxes.has-error .auth-code-box:focus{box-shadow:0 0 0 3px var(--danger-light)}.auth-code-boxes.has-error{animation:.35s auth-code-shake}@keyframes auth-code-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}.auth-code-hint{color:var(--text-secondary);margin:8px 0 0;font-size:12px}.auth-highlight{color:var(--auth-accent-text);word-break:break-all;font-weight:700}.auth-resend-wait{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.auth-resend-wait i{color:var(--primary-dark)}.auth-resend-timer{background:var(--primary-light);color:var(--auth-accent-text);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-weight:700}@media (width<=420px){.auth-code-boxes{gap:6px}.auth-page .auth-code-box{height:46px;font-size:18px}}.auth-code-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.auth-link-button{color:var(--auth-accent-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 2px;font-size:13px;font-weight:600}.auth-link-button:hover:not(:disabled){text-decoration:underline}.auth-link-button:focus-visible{box-shadow:var(--auth-focus-ring);outline:none}.auth-link-button:disabled{color:var(--text-muted);cursor:not-allowed}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-form{flex-direction:column;gap:18px;width:100%;display:flex}.form-group{width:100%}.form-group label{color:var(--text-primary);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.input-wrapper{width:100%;position:relative}.input-wrapper>i{color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-page .input-wrapper input,.auth-page .input-wrapper select{border:1px solid var(--border);background:var(--surface);width:100%;height:46px;color:var(--text-primary);border-radius:8px;outline:none;padding:0 42px;font-size:14px;transition:border-color .2s,box-shadow .2s}.auth-page .input-wrapper input::placeholder{color:var(--text-muted)}.auth-page .input-wrapper input:focus,.auth-page .input-wrapper select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.auth-page .input-wrapper.has-error input{border-color:var(--danger)}.auth-page .input-wrapper.has-error input:focus{box-shadow:0 0 0 3px var(--danger-light)}.auth-page .input-wrapper.has-error>i{color:var(--danger)}.auth-page .input-wrapper input:disabled{background:var(--border-light,#f3f6f6);color:var(--text-secondary);cursor:not-allowed}.auth-page .input-wrapper input#password{padding-right:50px}.auth-field-error{color:var(--auth-danger-text);margin:6px 0 0;font-size:12px;font-weight:500;line-height:1.4}.input-wrapper select{appearance:none;cursor:pointer;padding-right:35px}.password-toggle{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:15px;transition:background .2s,color .2s;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.password-toggle:hover{background:var(--primary-light);color:var(--text-primary)}.password-toggle:focus-visible{box-shadow:var(--auth-focus-ring);outline:none}.password-toggle[aria-pressed=true]{color:var(--auth-accent-text)}.remember-row{align-items:center;margin-top:-3px;display:flex}.remember-label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.remember-label input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.remember-label input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.auth-button{background:var(--primary);width:100%;height:46px;color:var(--text-white);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:3px;font-size:14px;font-weight:600;transition:background .2s,transform .2s;display:flex}.auth-button:hover:not(:disabled){background:var(--primary-dark)}.auth-button:active:not(:disabled){transform:translateY(1px)}.auth-button:focus-visible{box-shadow:var(--auth-focus-ring);outline:none}.auth-form[aria-busy=true] .auth-button:disabled{opacity:.85;cursor:progress}.login-divider{align-items:center;gap:12px;margin:2px 0;display:flex}.login-divider span{background:var(--border);flex:1;height:1px}.login-divider p{color:var(--text-muted);margin:0;font-size:11px}.google-button{border:1px solid var(--border);background:var(--surface);width:100%;height:44px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s;display:flex}.google-button:hover{background:var(--surface-hover);border-color:var(--text-muted)}.google-icon{color:#4285f4;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;font-weight:700;display:flex}.forgot-password{color:var(--primary);align-self:center;margin-top:-2px;font-size:12px;text-decoration:none}.forgot-password:hover{text-decoration:underline}.auth-switch{text-align:center;color:var(--text-secondary);margin:4px 0 0;font-size:12px}.auth-switch a{color:var(--primary);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}@media (width<=1100px){.auth-right-panel{width:45%;padding:35px}.auth-left-panel{width:55%;padding:30px}.content{max-width:420px}.auth-logo{width:380px}.content h1{font-size:27px}}@media (width<=850px){.auth-page{min-height:100vh}.auth-right-panel{width:42%;padding:25px}.auth-left-panel{width:58%;padding:25px}.auth-logo{width:290px}.content h1{font-size:23px}.auth-container{max-width:380px}.auth-heading h2{font-size:24px}}@media (width<=760px){.auth-page{flex-direction:column}.auth-right-panel,.auth-left-panel{width:100%;min-height:0}.auth-right-panel{padding:28px 24px 26px}.auth-left-panel{flex:1;align-items:flex-start;padding:32px 24px 40px}.content,.auth-container{max-width:430px}.auth-logo{width:210px;margin-bottom:4px}.auth-divider{width:40px;margin-bottom:12px}.content h1{font-size:19px}.auth-heading{margin-bottom:24px}.auth-heading h2{font-size:24px}.auth-page .input-wrapper input{font-size:16px}}@media (width<=380px){.auth-right-panel{padding:22px 16px 20px}.auth-left-panel{padding:26px 16px 32px}.auth-logo{width:180px}.auth-heading h2{font-size:22px}}.my-profile-page{gap:var(--space-xl);flex-direction:column;width:100%;max-width:1100px;margin:0 auto;display:flex}.my-profile-hero{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:18px;padding:22px 26px;display:flex}.my-profile-avatar{background:var(--primary-light);width:64px;height:64px;color:var(--primary-dark);font-size:var(--text-heading-2);font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.my-profile-hero-text{flex:1;min-width:0}.my-profile-hero-text h1{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.my-profile-hero-text p{font-size:var(--text-label);color:var(--text-secondary);overflow-wrap:anywhere;margin:4px 0 0}.my-profile-hero-tags{flex-wrap:wrap;gap:8px;display:flex}.my-profile-hero-tags span{background:var(--primary-light);color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;padding:5px 12px}.my-profile-columns{gap:var(--space-xl);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;display:grid}.my-profile-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:24px}.my-profile-card header{border-bottom:1px solid var(--border-light);margin-bottom:18px;padding-bottom:14px}.my-profile-card h2{font-size:var(--text-body-large);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.my-profile-card header p{font-size:var(--text-label);color:var(--text-secondary);margin:4px 0 0}.my-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.my-profile-grid.single{grid-template-columns:minmax(0,1fr)}.my-profile-grid .span-2{grid-column:span 2}.my-profile-grid label{font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);flex-direction:column;gap:6px;display:flex}.my-profile-grid input{box-sizing:border-box;border:1px solid var(--border);width:100%;height:42px;font-size:var(--text-label);color:var(--text-primary);background:#fff;border-radius:9px;padding:0 12px}.my-profile-grid input:focus{border-color:var(--primary);outline:none}.my-profile-grid input:disabled{background:var(--surface-hover);color:var(--text-muted);cursor:not-allowed}.my-profile-actions{justify-content:flex-end;display:flex}.my-profile-card button[type=submit]{background:var(--primary);color:#fff;height:42px;font-weight:var(--weight-bold);cursor:pointer;border:none;border-radius:9px;padding:0 22px}.my-profile-card button[type=submit]:hover:not(:disabled){background:var(--primary-dark)}.my-profile-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.my-profile-message{font-size:var(--text-label);border-radius:8px;margin:0 0 14px;padding:10px 12px}.my-profile-message.success{background:var(--primary-light);color:var(--primary-dark)}.my-profile-message.error{background:var(--danger-light);color:var(--danger)}@media (width<=900px){.my-profile-columns{grid-template-columns:1fr}.my-profile-hero{flex-wrap:wrap}}@media (width<=600px){.my-profile-grid{grid-template-columns:1fr}.my-profile-grid .span-2{grid-column:auto}}.change-password-page{color:#17202a;background:radial-gradient(circle at 0 0,#00c4be24,#0000 34%),#f5f8fa;place-items:center;min-height:100vh;padding:32px 20px;display:grid}.change-password-card{background:#fff;border:1px solid #dfe7eb;border-radius:18px;width:min(100%,520px);padding:36px;box-shadow:0 18px 50px #0f23321f}.change-password-logo{width:175px;height:auto;margin:0 auto 24px;display:block}.change-password-icon{color:#00aaa5;background:#e7fbf8;border-radius:14px;place-items:center;width:54px;height:54px;margin:0 auto 16px;font-size:22px;display:grid}.change-password-card h1{text-align:center;margin:0;font-size:25px;line-height:1.25}.change-password-intro{color:#667085;text-align:center;margin:10px auto 26px;font-size:14px;line-height:1.6}.change-password-form{gap:17px;display:grid}.change-password-field label{color:#344054;margin-bottom:7px;font-size:13px;font-weight:600;display:block}.change-password-input-wrap{position:relative}.change-password-input-wrap>i{color:#98a2b3;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.change-password-input-wrap input{box-sizing:border-box;color:#17202a;width:100%;height:46px;font:inherit;background:#fff;border:1px solid #d7e0e5;border-radius:9px;outline:none;padding:0 44px 0 42px;transition:border-color .2s,box-shadow .2s}.change-password-input-wrap input:focus{border-color:#00bdb6;box-shadow:0 0 0 3px #00bdb624}.change-password-toggle{color:#7b8794;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.change-password-toggle:hover{color:#17202a;background:#f1f5f7}.change-password-rules{color:#667085;background:#f6f8fa;border-radius:8px;padding:11px 13px;font-size:12px;line-height:1.5}.change-password-error{color:#d92d20;background:#fff2f2;border:1px solid #ff4d4f;border-radius:8px;align-items:flex-start;gap:9px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.change-password-submit,.change-password-signout{cursor:pointer;border-radius:9px;width:100%;height:46px;font-size:13px;font-weight:700}.change-password-submit{color:#fff;background:#08beb7;border:0}.change-password-submit:hover{background:#00aaa5}.change-password-signout{color:#475467;background:#fff;border:1px solid #d7e0e5}.change-password-submit:disabled,.change-password-signout:disabled,.change-password-toggle:disabled{cursor:not-allowed;opacity:.65}@media (width<=560px){.change-password-card{border-radius:14px;padding:28px 20px}}.admin-dashboard{--admin-primary:#08bdb5;--admin-primary-dark:#079b96;--admin-text:#111827;--admin-muted:#64748b;--admin-border:#e5e7eb;--admin-soft:#f8fafc;width:100%;color:var(--admin-text);background:#fff;padding:22px 28px 40px}.admin-dashboard *{box-sizing:border-box}.admin-dashboard-alert{color:#b45309;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 15px;font-size:13px;display:flex}.admin-dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.admin-summary-card{border:1px solid var(--admin-border);background:#fff;border-radius:14px;align-items:center;gap:16px;min-width:0;min-height:118px;padding:20px;display:flex;box-shadow:0 2px 8px #0f172a0a}.admin-summary-icon,.admin-module-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-summary-icon{border-radius:12px;width:48px;height:48px;font-size:20px}.admin-summary-icon.blue,.admin-module-icon.blue{color:#2563eb;background:#eff6ff}.admin-summary-icon.teal,.admin-module-icon.teal{color:#0891b2;background:#ecfeff}.admin-summary-icon.orange,.admin-module-icon.orange{color:#ea580c;background:#fff7ed}.admin-summary-icon.green,.admin-module-icon.green{color:#16a34a;background:#f0fdf4}.admin-summary-icon.red,.admin-module-icon.red{color:#dc2626;background:#fef2f2}.admin-module-icon.purple{color:#7c3aed;background:#f5f3ff}.admin-module-icon.indigo{color:#4f46e5;background:#eef2ff}.admin-summary-card>div{flex-direction:column;min-width:0;display:flex}.admin-summary-card>div>span{color:#596579;font-size:13px;font-weight:700}.admin-summary-card strong{color:#0f172a;margin:2px 0;font-size:25px;line-height:1.1}.admin-summary-card strong.admin-security-word{font-size:20px}.admin-summary-card small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.admin-section-heading h2,.admin-detail-header h2{color:#111827;margin:0;font-size:18px;font-weight:750}.admin-section-heading p,.admin-detail-header p{color:var(--admin-muted);margin:5px 0 0;font-size:13px}.admin-last-refresh{color:#94a3b8;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.admin-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.admin-module-card{border:1px solid var(--admin-border);background:#fff;border-radius:14px;flex-direction:column;min-width:0;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 2px 8px #0f172a09}.admin-module-card:hover{border-color:#b9e8e5;transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.admin-module-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-module-icon{border-radius:11px;width:42px;height:42px;font-size:17px}.admin-module-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.admin-module-status>span{background:currentColor;border-radius:50%;width:6px;height:6px}.admin-module-status.success{color:#15803d;background:#f0fdf4}.admin-module-status.warning{color:#b45309;background:#fffbeb}.admin-module-status.danger{color:#dc2626;background:#fef2f2}.admin-module-copy{min-height:77px;margin-top:14px}.admin-module-copy h3{color:#111827;margin:0;font-size:15px;font-weight:750}.admin-module-copy p{color:var(--admin-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.admin-module-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:4px;display:grid}.admin-module-metric{text-align:center;background:var(--admin-soft);border-radius:9px;min-width:0;padding:9px 7px}.admin-module-metric span,.admin-module-metric strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-module-metric span{color:#94a3b8;text-transform:uppercase;letter-spacing:.02em;font-size:9px;font-weight:700}.admin-module-metric strong{color:#1e293b;margin-top:4px;font-size:13px}.admin-module-link{color:var(--admin-primary-dark);border-top:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;padding-top:13px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.admin-module-link i{font-size:10px;transition:transform .18s}.admin-module-link:hover i{transform:translate(3px)}.admin-dashboard-details{grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);gap:14px;display:grid}.admin-detail-card{border:1px solid var(--admin-border);background:#fff;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 2px 8px #0f172a09}.admin-detail-header{border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:17px 19px;display:flex}.admin-detail-header a{color:var(--admin-primary-dark);white-space:nowrap;font-size:12px;font-weight:750;text-decoration:none}.admin-table-scroll{overflow-x:auto}.admin-dashboard-table{border-collapse:collapse;table-layout:auto;width:100%}.admin-dashboard-table th{color:#64748b;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f4f8f8;padding:12px 14px;font-size:10px;font-weight:750}.admin-dashboard-table td{color:#526074;vertical-align:middle;border-bottom:1px solid #edf0f2;padding:12px 14px;font-size:12px}.admin-dashboard-table tbody tr:last-child td{border-bottom:0}.admin-person-cell{align-items:center;gap:10px;min-width:190px;display:flex}.admin-person-cell>span{color:#079b96;background:#eafaf9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:inline-flex}.admin-person-cell>div{min-width:0}.admin-person-cell strong,.admin-person-cell small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-person-cell strong{color:#111827;font-size:12px}.admin-person-cell small{color:#94a3b8;max-width:190px;margin-top:3px;font-size:10px}.admin-account-status{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.admin-account-status.active{color:#15803d;background:#ecfdf3}.admin-account-status.inactive{color:#dc2626;background:#fef2f2}.admin-activity-list{max-height:355px;overflow-y:auto}.admin-activity-row{border-bottom:1px solid #edf0f2;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 17px;display:grid}.admin-activity-row:last-child{border-bottom:0}.admin-activity-row-icon{color:#079b96;background:#eafaf9;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;display:inline-flex}.admin-activity-row>div{min-width:0}.admin-activity-row strong{color:#1e293b;font-size:12px;display:block}.admin-activity-row p{color:#64748b;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.admin-activity-row time{color:#94a3b8;text-align:right;white-space:nowrap;font-size:10px}.admin-empty-state{color:#94a3b8!important;text-align:center!important;padding:34px 18px!important;font-size:12px!important}@media (width<=1350px){.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard-details{grid-template-columns:1fr}}@media (width<=1100px){.admin-dashboard-summary,.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.admin-dashboard{padding:16px}.admin-dashboard-summary,.admin-module-grid{grid-template-columns:1fr}.admin-section-heading{flex-direction:column;align-items:flex-start}.admin-summary-card{min-height:105px}.admin-activity-row{grid-template-columns:32px minmax(0,1fr)}.admin-activity-row time{text-align:left;grid-column:2}}@media (width<=430px){.admin-module-metrics{grid-template-columns:1fr}.admin-module-metric{text-align:left;justify-content:space-between;align-items:center;display:flex}.admin-module-metric strong{margin-top:0}}.admin-user-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.admin-user-alert{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-body);border:1px solid;line-height:1.4;display:flex}.admin-user-alert i{font-size:var(--text-heading-3);flex-shrink:0}.admin-user-alert.error{color:var(--danger);background:var(--danger-light);border-color:var(--danger)}.admin-user-alert.success{color:var(--success);background:var(--success-light);border-color:var(--success)}.admin-user-statistics{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-user-stat-card{align-items:center;gap:var(--space-lg);padding:var(--space-xl);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:background-color .2s;display:flex}.admin-user-stat-card:hover{background:var(--surface-hover)}.admin-stat-icon{border-radius:var(--radius-md);width:48px;height:48px;font-size:var(--text-heading-2);flex:0 0 48px;place-items:center;display:grid}.admin-stat-icon.blue{color:var(--info);background:var(--info-light)}.admin-stat-icon.green{color:var(--success);background:var(--success-light)}.admin-stat-icon.red{color:var(--danger);background:var(--danger-light)}.admin-stat-icon.purple{color:var(--primary-dark);background:var(--primary-light)}.admin-stat-information{flex-direction:column;min-width:0;display:flex}.admin-stat-information>span{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;overflow:hidden}.admin-stat-information strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold);margin-bottom:3px;line-height:1.1}.admin-user-filter-card{align-items:end;gap:var(--space-md);padding:var(--space-lg);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:minmax(260px,1fr) 170px 170px auto;display:grid}.admin-user-search{width:100%;position:relative}.admin-user-search>i{top:50%;left:var(--space-lg);z-index:1;color:var(--text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.admin-user-search input{width:100%;height:42px;padding:0 var(--space-lg) 0 41px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-label);outline:none;transition:border-color .2s,box-shadow .2s}.admin-user-search input::placeholder{color:var(--text-muted)}.admin-user-search input:hover{border-color:var(--text-muted)}.admin-user-search input:focus{border-color:var(--primary);box-shadow:var(--shadow-sm)}.admin-user-filter{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.admin-user-filter label{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.admin-user-filter select{width:100%;height:42px;padding:0 34px 0 var(--space-md);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-label);cursor:pointer;outline:none}.admin-user-filter select:hover{border-color:var(--text-muted)}.admin-user-filter select:focus{border-color:var(--primary);box-shadow:var(--shadow-sm)}.admin-add-user-button{justify-content:center;align-items:center;gap:var(--space-sm);min-width:122px;height:42px;padding:0 var(--space-lg);color:var(--text-white);background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color .2s,border-color .2s;display:inline-flex}.admin-add-user-button:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.admin-user-table-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-user-table-wrapper{width:100%;overflow-x:auto}.admin-user-table{border-collapse:collapse;width:100%;min-width:970px}.admin-user-table thead{background:var(--surface-hover)}.admin-user-table th{padding:var(--space-md);color:var(--text-secondary);border-bottom:1px solid var(--border-light);font-size:var(--text-overline);font-weight:var(--weight-bold);letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-user-table td{padding:var(--space-md);color:var(--text-secondary);border-bottom:1px solid var(--border-light);font-size:var(--text-label);vertical-align:middle}.admin-user-table tbody tr{transition:background-color .18s}.admin-user-table tbody tr:hover{background:var(--surface-hover)}.admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-table th:first-child,.admin-user-table td:first-child{min-width:185px}.admin-user-table th:nth-child(2),.admin-user-table td:nth-child(2){min-width:125px}.admin-user-table th:nth-child(3),.admin-user-table td:nth-child(3){min-width:190px}.admin-user-table th:nth-child(4),.admin-user-table td:nth-child(4){min-width:130px}.admin-user-table th:nth-child(5),.admin-user-table td:nth-child(5){min-width:105px}.admin-user-table th:nth-child(6),.admin-user-table td:nth-child(6){min-width:125px}.admin-user-table th:last-child,.admin-user-table td:last-child{text-align:center;width:132px;min-width:132px}.admin-user-name{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.admin-user-name>div{min-width:0}.admin-user-name strong{max-width:160px;color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-user-name small{max-width:210px;color:var(--text-muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;display:block;overflow:hidden}.admin-user-avatar{width:37px;height:37px;color:var(--primary-dark);background:var(--primary-light);font-size:var(--text-overline);font-weight:var(--weight-bold);border-radius:50%;flex:0 0 37px;place-items:center;display:grid}.admin-role-badge{min-height:26px;padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border-light);font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.admin-status-badge{align-items:center;gap:var(--space-xs);min-height:25px;padding:var(--space-xs) var(--space-sm);font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;display:inline-flex}.admin-status-badge>span{border-radius:50%;width:6px;height:6px}.admin-status-badge.active{color:var(--success);background:var(--success-light)}.admin-status-badge.active>span{background:var(--success)}.admin-status-badge.inactive{color:var(--danger);background:var(--danger-light)}.admin-status-badge.inactive>span{background:var(--danger)}.admin-user-actions{justify-content:center;align-items:center;gap:var(--space-xs);display:flex}.admin-user-actions button{width:31px;height:31px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;outline:none;place-items:center;padding:0;transition:color .18s,background-color .18s,border-color .18s;display:grid}.admin-user-actions button:hover{color:var(--primary-dark);background:var(--primary-light);border-color:var(--primary)}.admin-user-actions button.view:hover{color:var(--info);background:var(--info-light);border-color:var(--info)}.admin-user-actions button.delete:hover{color:var(--danger);background:var(--danger-light);border-color:var(--danger)}.admin-user-table .admin-user-empty{height:190px;color:var(--text-muted);text-align:center}.admin-user-empty i{margin-right:var(--space-sm);color:var(--primary)}.admin-user-pagination{justify-content:space-between;align-items:center;gap:var(--space-xl);min-height:67px;padding:var(--space-md) var(--space-lg);background:var(--surface);border-top:1px solid var(--border-light);display:flex}.admin-user-pagination>span{color:var(--text-secondary);font-size:var(--text-caption)}.admin-user-pagination>div{align-items:center;gap:var(--space-xs);display:flex}.admin-user-pagination button{width:31px;height:31px;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-overline);font-weight:var(--weight-semibold);cursor:pointer;place-items:center;padding:0;display:grid}.admin-user-pagination button:hover:not(:disabled),.admin-user-pagination button.active{color:var(--text-white);background:var(--primary);border-color:var(--primary)}.admin-user-pagination button:disabled{color:var(--text-muted);background:var(--surface-hover);cursor:not-allowed}.admin-user-modal-backdrop{z-index:1000;padding:var(--space-xl);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8a;justify-content:center;align-items:center;animation:.18s admin-user-fade-in;display:flex;position:fixed;inset:0}.admin-user-modal{background:var(--surface);border-radius:var(--radius-xl);width:min(700px,100%);max-height:calc(100vh - 40px);animation:.2s admin-user-modal-in;overflow-y:auto;box-shadow:0 24px 60px #0f172a3d}.admin-user-modal>header{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);padding:var(--space-xl) var(--space-2xl) var(--space-lg);border-bottom:1px solid var(--border-light);display:flex}.admin-user-modal>header h2{color:var(--text-primary);font-size:var(--text-heading-1);font-weight:var(--weight-bold);margin:0 0 5px}.admin-user-modal>header p{color:var(--text-secondary);font-size:var(--text-label);margin:0}.admin-user-modal>header>button{width:34px;height:34px;color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;flex:0 0 34px;place-items:center;padding:0;display:grid}.admin-user-modal>header>button:hover{color:var(--danger);background:var(--danger-light);border-color:var(--danger)}.admin-user-modal form{padding:var(--space-2xl) var(--space-2xl)}.admin-user-form-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-user-form-grid label{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.admin-user-form-grid label.full-width,.admin-user-form-grid .full-width{grid-column:1/-1}.admin-user-form-grid label>span{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.4}.admin-user-form-grid input,.admin-user-form-grid select{width:100%;height:42px;padding:0 var(--space-md);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-label);outline:none;transition:border-color .18s,box-shadow .18s}.admin-user-form-grid input:hover,.admin-user-form-grid select:hover{border-color:var(--text-muted)}.admin-user-form-grid input:focus,.admin-user-form-grid select:focus{border-color:var(--primary);box-shadow:var(--shadow-sm)}.admin-user-form-grid input::placeholder{color:var(--text-muted)}.admin-user-form-grid input[readonly]{color:var(--text-primary);background:var(--surface-hover);cursor:default}.admin-user-modal form>footer{justify-content:flex-end;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--border-light);display:flex}.admin-user-cancel,.admin-user-save{min-width:108px;height:41px;padding:0 var(--space-lg);border-radius:var(--radius-sm);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer}.admin-user-cancel{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border)}.admin-user-cancel:hover{background:var(--surface-hover);border-color:var(--text-muted)}.admin-user-save{color:var(--text-white);background:var(--primary);border:1px solid var(--primary)}.admin-user-save:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.admin-user-save:disabled{opacity:.62;cursor:not-allowed}.admin-employee-section-title{min-height:42px;padding:var(--space-md);color:var(--primary-dark);background:var(--primary-light);border-radius:var(--radius-md);grid-column:1/-1;align-items:center;display:flex}.admin-user-generated-field{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.admin-user-generated-field>button{justify-content:center;align-items:center;gap:var(--space-xs);height:42px;padding:0 var(--space-md);color:var(--primary-dark);background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;transition:color .18s,background-color .18s;display:inline-flex}.admin-user-generated-field>button:hover{color:var(--text-white);background:var(--primary)}.admin-user-form-grid label>small,.admin-password-reset-title small{color:var(--text-muted);font-size:var(--text-caption);line-height:1.45}.admin-password-reset-title{gap:var(--space-xs);padding:var(--space-md);color:var(--text-primary);background:var(--surface-hover);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;display:flex}.admin-user-view-modal{flex-direction:column;width:min(780px,100%);max-height:min(88vh,820px);display:flex;overflow:hidden}.admin-user-view-modal>header{background:var(--surface);flex-shrink:0}.admin-user-view-loading{justify-content:center;align-items:center;gap:var(--space-sm);min-height:300px;color:var(--text-secondary);display:flex}.admin-user-view-loading i{color:var(--primary);font-size:var(--text-heading-2)}.admin-user-view-content{padding:var(--space-xl) var(--space-2xl);overflow-y:auto}.admin-user-view-profile{align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--surface-hover);border:1px solid var(--border-light);border-radius:var(--radius-lg);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.admin-user-view-avatar{width:58px;height:58px;color:var(--primary-dark);background:var(--primary-light);border:2px solid var(--primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid}.admin-user-view-profile h3{overflow-wrap:anywhere;color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 5px}.admin-user-view-profile p{overflow-wrap:anywhere;color:var(--text-secondary);font-size:var(--text-label);margin:0}.admin-user-view-section{margin-top:var(--space-xl)}.admin-user-view-section h4{align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-bold);display:flex}.admin-user-view-section h4:before{background:var(--primary);content:"";border-radius:4px;width:4px;height:18px}.admin-user-detail-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-user-detail-grid>div{min-width:0;min-height:72px;padding:var(--space-md) var(--space-lg);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md)}.admin-user-detail-grid span,.admin-user-detail-grid strong{display:block}.admin-user-detail-grid span{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);margin-bottom:6px}.admin-user-detail-grid strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);line-height:1.4}.admin-user-not-employee{align-items:center;gap:var(--space-md);margin-top:var(--space-xl);padding:var(--space-lg);color:var(--text-secondary);background:var(--primary-light);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex}.admin-user-not-employee i{color:var(--primary);font-size:var(--text-heading-3);flex-shrink:0}.admin-user-view-footer{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-light);justify-content:flex-end;align-items:center;display:flex}.admin-user-view-close{justify-content:center;align-items:center;gap:var(--space-sm);min-width:110px;height:41px;padding:0 var(--space-lg);color:var(--text-white);background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;display:inline-flex}.admin-user-view-close:hover{background:var(--primary-dark);border-color:var(--primary-dark)}@keyframes admin-user-fade-in{0%{opacity:0}to{opacity:1}}@keyframes admin-user-modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1180px){.admin-user-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-filter-card{grid-template-columns:minmax(240px,1fr) 160px 160px}.admin-add-user-button{grid-column:1/-1;justify-self:end}}@media (width<=820px){.admin-user-filter-card{grid-template-columns:1fr 1fr}.admin-user-search{grid-column:1/-1}.admin-add-user-button{grid-column:1/-1;width:100%}.admin-user-pagination{flex-direction:column;align-items:flex-start}}@media (width<=700px){.admin-user-form-grid .full-width{grid-column:1}.admin-user-generated-field{grid-template-columns:1fr}}@media (width<=620px){.admin-user-statistics{grid-template-columns:1fr}.admin-user-filter-card{padding:var(--space-md);grid-template-columns:1fr}.admin-user-search,.admin-user-filter,.admin-add-user-button{grid-column:1}.admin-user-modal-backdrop{align-items:flex-end;padding:0}.admin-user-modal,.admin-user-view-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:94vh}.admin-user-modal>header,.admin-user-modal form,.admin-user-view-content{padding:var(--space-lg)}.admin-user-form-grid{grid-template-columns:1fr}.admin-user-form-grid label.full-width{grid-column:1}.admin-user-modal form>footer{grid-template-columns:1fr 1fr;display:grid}.admin-user-cancel,.admin-user-save{width:100%;min-width:0}.admin-user-view-profile{grid-template-columns:auto minmax(0,1fr)}.admin-user-view-profile .admin-status-badge{grid-column:1/-1;justify-self:start}.admin-user-detail-grid{grid-template-columns:1fr}.admin-user-view-close{width:100%}}@media (width<=420px){.admin-user-pagination>div{max-width:100%;overflow-x:auto}.admin-user-modal form>footer{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.admin-user-page *,.admin-user-page :before,.admin-user-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.roles-permissions-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.roles-alert{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-label);border:1px solid;display:flex}.roles-alert.error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.roles-alert.success{border-color:var(--success);background:var(--success-light);color:var(--success)}.roles-statistics{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.roles-stat-card{align-items:center;gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:background-color .2s;display:flex}.roles-stat-card:hover{background:var(--surface-hover)}.roles-stat-icon{border-radius:var(--radius-md);width:48px;min-width:48px;height:48px;font-size:var(--text-heading-2);justify-content:center;align-items:center;display:flex}.roles-stat-icon.blue{background:var(--info-light);color:var(--info)}.roles-stat-icon.green{background:var(--success-light);color:var(--success)}.roles-stat-icon.purple{background:var(--primary-light);color:var(--primary-dark)}.roles-stat-icon.orange{background:var(--accent-light);color:var(--accent)}.roles-stat-card span,.roles-stat-card small{display:block}.roles-stat-card span{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);margin-bottom:2px}.roles-stat-card strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold);margin-bottom:2px;line-height:1;display:block}.roles-stat-card small{color:var(--text-muted);font-size:var(--text-caption)}.role-management-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.role-management-header{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light);display:flex}.role-management-header h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 3px}.role-management-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.role-management-layout{grid-template-columns:300px minmax(0,1fr);min-height:530px;display:grid}.role-selection-panel{padding:var(--space-md);border-right:1px solid var(--border-light)}.role-list-item{align-items:center;gap:var(--space-md);width:100%;margin-bottom:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);text-align:left;cursor:pointer;border:1px solid #0000;font-family:inherit;transition:background-color .18s,border-color .18s;display:flex}.role-list-item:hover:not(:disabled){background:var(--surface-hover)}.role-list-item.selected{border-left:3px solid var(--primary);background:var(--primary-light)}.role-list-item:disabled{cursor:wait}.role-avatar{background:var(--primary-light);width:44px;min-width:44px;height:44px;color:var(--primary-dark);font-size:var(--text-label);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}.role-list-info{flex-direction:column;flex:1;gap:3px;display:flex}.role-list-info strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.role-list-info small,.role-list-item>i{color:var(--text-muted);font-size:var(--text-overline)}.roles-loading{justify-content:center;align-items:center;gap:var(--space-sm);min-height:140px;color:var(--text-secondary);font-size:var(--text-caption);display:flex}.role-permission-panel{min-width:0;padding:var(--space-lg);flex-direction:column;display:flex;position:relative}.permission-panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-md);display:flex}.permission-panel-header h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 3px}.permission-panel-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.permission-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.default-permissions-button{color:#111;white-space:nowrap;cursor:pointer;min-width:133px;height:42px;box-shadow:none;background:#fff;border:1px solid #d8e1e8;border-radius:5px;justify-content:center;align-items:center;padding:0 18px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s;display:inline-flex}.default-permissions-button:hover:not(:disabled){color:#111;background:#f8fafc;border-color:#b8c5cf}.default-permissions-button:active:not(:disabled){background:#f1f5f9}.default-permissions-button:disabled{opacity:.55;cursor:not-allowed}.select-all-control{align-items:center;gap:var(--space-sm);min-height:42px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;display:inline-flex}.select-all-control input,.permission-options input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.permission-groups{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.permission-group{padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface)}.permission-group.wide{grid-column:span 3}.permission-group h3{align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);display:flex}.permission-group h3 i{color:var(--text-muted);font-size:var(--text-heading-3)}.permission-options{gap:var(--space-sm);flex-direction:column;display:flex}.permission-group.wide .permission-options{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.permission-options label{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-overline);cursor:pointer;display:flex}.permission-options label:hover{color:var(--text-primary)}.permission-options input:disabled{cursor:not-allowed}.permission-empty{min-height:300px;color:var(--text-secondary);font-size:var(--text-label);justify-content:center;align-items:center;display:flex}.permission-actions{justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-lg);margin-top:auto;display:flex}.permission-cancel,.permission-save{height:42px;padding:0 var(--space-xl);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;transition:background-color .18s,border-color .18s}.permission-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.permission-cancel:hover:not(:disabled){background:var(--surface-hover)}.permission-save{border:1px solid var(--primary);background:var(--primary);color:var(--text-white)}.permission-save:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.permission-cancel:disabled,.permission-save:disabled{opacity:.55;cursor:not-allowed}@media (width<=1200px){.roles-statistics,.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-group.wide{grid-column:span 2}}@media (width<=850px){.role-management-layout{grid-template-columns:1fr}.role-selection-panel{border-right:0;border-bottom:1px solid var(--border-light)}}@media (width<=650px){.roles-statistics{grid-template-columns:1fr}.role-management-header{flex-direction:column;align-items:flex-start}.permission-panel-header{flex-direction:column}.permission-header-actions{justify-content:flex-start;width:100%}.permission-groups{grid-template-columns:1fr}.permission-group.wide{grid-column:auto}.permission-group.wide .permission-options{grid-template-columns:1fr}.permission-actions{justify-content:stretch}.permission-cancel,.permission-save{flex:1}}.add-role-button,.delete-role-button{align-items:center;gap:var(--space-sm);height:42px;padding:0 var(--space-xl);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;transition:background-color .18s,border-color .18s;display:inline-flex}.add-role-button{border:1px solid var(--primary);background:var(--primary);color:var(--text-white)}.add-role-button:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.delete-role-button{border:1px solid var(--danger);background:var(--surface);color:var(--danger)}.delete-role-button:hover:not(:disabled){background:var(--danger-light)}.add-role-button:disabled,.delete-role-button:disabled{opacity:.55;cursor:not-allowed}.add-role-form{gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border);background:var(--surface-hover);display:grid}.add-role-fields{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.add-role-fields label{gap:6px;display:grid}.add-role-fields label.wide{grid-column:1/-1}.add-role-fields span{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.add-role-fields input,.add-role-fields select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:42px;color:var(--text-primary);font-family:inherit;font-size:var(--text-caption);padding:0 12px}.add-role-fields input:focus,.add-role-fields select:focus{border-color:var(--primary);outline:none}.add-role-fields small{color:var(--text-muted);font-size:var(--text-overline)}.add-role-error{align-items:center;gap:var(--space-sm);color:var(--danger);font-size:var(--text-caption);margin:0;display:flex}.add-role-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.locked-permission{color:var(--text-muted);font-size:var(--text-overline)}@media (width<=768px){.role-management-header{flex-wrap:wrap}.add-role-fields{grid-template-columns:1fr}.permission-header-actions{flex-wrap:wrap}}.system-data-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.system-data-alert{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-label);border:1px solid;display:flex}.system-data-alert.error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.system-data-alert.success{border-color:var(--success);background:var(--success-light);color:var(--success)}.system-data-statistics{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.system-data-stat-card{align-items:center;gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);display:flex}.system-data-stat-icon{border-radius:var(--radius-md);width:48px;min-width:48px;height:48px;font-size:var(--text-heading-2);justify-content:center;align-items:center;display:flex}.system-data-stat-icon.blue,.database-summary-icon.blue{background:var(--info-light);color:var(--info)}.system-data-stat-icon.green,.database-summary-icon.green{background:var(--success-light);color:var(--success)}.system-data-stat-icon.purple,.database-summary-icon.purple{background:var(--primary-light);color:var(--primary-dark)}.system-data-stat-icon.orange{background:var(--warning-light);color:var(--warning)}.system-data-stat-card span,.system-data-stat-card small{display:block}.system-data-stat-card span{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.system-data-stat-card strong{color:var(--text-primary);font-size:var(--text-metric-medium);line-height:1.1;font-weight:var(--weight-bold);margin:2px 0;display:block}.system-data-stat-card small{color:var(--text-muted);font-size:var(--text-caption)}.system-data-management,.database-summary{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.system-data-management-header{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-xl) var(--space-xl) var(--space-md);display:flex}.system-data-management-header h2,.database-summary h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 4px}.system-data-management-header p,.database-summary header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.system-data-toolbar{align-items:center;gap:var(--space-md);display:flex}.system-data-search{align-items:center;gap:var(--space-sm);width:290px;height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}.system-data-search i{color:var(--text-muted)}.system-data-search input{width:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-body);background:0 0;border:0;outline:0}.system-data-toolbar select{width:190px;height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:var(--text-body);outline:none}.system-data-add-button{justify-content:center;align-items:center;gap:var(--space-sm);height:42px;padding:0 var(--space-lg);border-radius:var(--radius-sm);background:var(--primary);color:var(--text-white);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:background-color .2s;display:inline-flex}.system-data-add-button:hover{background:var(--primary-dark)}.system-data-tabs{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl) 0;border-bottom:1px solid var(--border-light);display:flex;overflow-x:auto}.system-data-tabs button{align-items:center;gap:var(--space-sm);min-height:48px;padding:0 var(--space-lg);color:var(--text-secondary);font-family:inherit;font-size:var(--text-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;display:inline-flex}.system-data-tabs button.active{border-bottom-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:var(--weight-semibold)}.system-data-table-wrapper{overflow-x:auto}.system-data-table{border-collapse:collapse;width:100%;min-width:950px}.system-data-table th{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-light);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-caption);text-align:left;font-weight:var(--weight-semibold)}.system-data-table td{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-caption)}.system-data-table tbody tr:hover{background:var(--surface-hover)}.system-data-record-id{color:var(--text-primary)}.system-data-status{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--success-light);color:var(--success);font-size:var(--text-overline);font-weight:var(--weight-semibold);border-radius:999px;display:inline-flex}.system-data-status>span{background:currentColor;border-radius:50%;width:8px;height:8px}.system-data-status.inactive,.system-data-status.unavailable{background:var(--danger-light);color:var(--danger)}.system-data-status.assigned{background:var(--warning-light);color:var(--warning)}.system-data-action-button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0}.system-data-action-button:hover{background:var(--surface-hover);color:var(--primary-dark)}.system-data-empty{text-align:center;height:150px;color:var(--text-muted)!important}.system-data-empty i{margin-right:var(--space-sm)}.system-data-pagination{padding:var(--space-lg) var(--space-xl);color:var(--text-secondary);font-size:var(--text-caption);justify-content:space-between;align-items:center;display:flex}.system-data-pagination>div{gap:var(--space-xs);display:flex}.system-data-pagination button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:33px;height:33px;color:var(--text-secondary);cursor:pointer}.system-data-pagination button.active{border-color:var(--primary);background:var(--primary);color:var(--text-white)}.system-data-pagination button:disabled{opacity:.4;cursor:not-allowed}.database-summary>header{padding:var(--space-xl) var(--space-xl) var(--space-xs)}.database-summary-content{padding:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;display:grid}.database-summary-content article{align-items:center;gap:var(--space-md);min-height:70px;padding:0 var(--space-xl);border-right:1px solid var(--border-light);display:flex}.database-summary-content article:first-child{padding-left:0}.database-summary-icon{border-radius:var(--radius-md);width:55px;min-width:55px;height:55px;font-size:var(--text-heading-1);justify-content:center;align-items:center;display:flex}.database-summary-content span,.database-summary-content small{display:block}.database-summary-content span{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.database-summary-content strong{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:3px 0;display:block}.database-summary-content strong.healthy{color:var(--success)}.database-summary-content small{color:var(--text-muted);font-size:var(--text-overline)}.database-backup-button{justify-content:center;align-items:center;gap:var(--space-sm);height:44px;margin-left:var(--space-2xl);padding:0 var(--space-lg);border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface);color:var(--primary);font-family:inherit;font-weight:var(--weight-semibold);cursor:pointer;transition:background-color .2s;display:inline-flex}.database-backup-button:hover{background:var(--primary-light)}.system-record-modal-backdrop{z-index:2000;padding:var(--space-xl);background:#05122b8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.system-record-modal{border-radius:var(--radius-lg);background:var(--surface);width:min(680px,100%);max-height:85vh;box-shadow:var(--shadow-sm);overflow-y:auto}.system-record-modal>header{padding:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;display:flex}.system-record-modal h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 4px}.system-record-modal p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.system-record-modal>header button{border-radius:var(--radius-sm);background:var(--surface-hover);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:0}.system-record-details{gap:var(--space-lg);padding:var(--space-2xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.system-record-details div{padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.system-record-details span,.system-record-details strong{display:block}.system-record-details span{color:var(--text-muted);font-size:var(--text-overline);margin-bottom:5px}.system-record-details strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:var(--text-caption)}@media (width<=1200px){.system-data-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}.system-data-management-header{flex-direction:column;align-items:flex-start}.database-summary-content{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.database-summary-content article{border-right:0;border-bottom:1px solid var(--border-light);padding:var(--space-lg)}.database-backup-button{margin-left:0}}@media (width<=800px){.system-data-toolbar{flex-direction:column;align-items:stretch;width:100%}.system-data-search,.system-data-toolbar select{box-sizing:border-box;width:100%}}@media (width<=600px){.system-data-statistics,.database-summary-content{grid-template-columns:1fr}.system-data-pagination{align-items:flex-start;gap:var(--space-md);flex-direction:column}.system-record-details{grid-template-columns:1fr}}.system-settings-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.system-settings-message{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-label);border:1px solid;display:flex}.system-settings-message.success{border-color:var(--success);background:var(--success-light);color:var(--success)}.system-settings-message.error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.system-settings-message.warning{border-color:var(--warning);background:var(--warning-light);color:var(--warning)}.system-settings-layout{border-radius:var(--radius-lg);background:var(--surface);min-height:690px;box-shadow:var(--shadow-sm);grid-template-columns:250px minmax(0,1fr);display:grid;overflow:hidden}.system-settings-navigation{padding:var(--space-md);border-right:1px solid var(--border-light)}.system-settings-navigation button{align-items:center;gap:var(--space-lg);width:100%;min-height:51px;margin-bottom:var(--space-xs);padding:0 var(--space-lg);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:var(--text-label);text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;display:flex}.system-settings-navigation button i{width:23px;color:var(--text-muted);font-size:var(--text-heading-2);text-align:center}.system-settings-navigation button:hover{background:var(--surface-hover)}.system-settings-navigation button.active{border-left-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:var(--weight-bold)}.system-settings-navigation button.active i{color:var(--primary-dark)}.system-settings-content{flex-direction:column;min-width:0;display:flex}.system-settings-content-body{padding:var(--space-lg) var(--space-xl) var(--space-xl);flex:1}.system-settings-section-header{margin-bottom:var(--space-lg)}.system-settings-section-header h2{color:var(--text-primary);font-size:var(--text-heading-1);font-weight:var(--weight-bold);margin:0 0 4px}.system-settings-section-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.system-settings-fields{gap:var(--space-lg) var(--space-3xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.system-settings-fields label{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.system-settings-fields label.full-width{grid-column:1/-1}.system-settings-fields label>small{color:var(--text-muted);font-size:var(--text-overline);line-height:1.4}.system-settings-fields label>span{color:var(--text-primary);font-size:var(--text-overline);font-weight:var(--weight-bold)}.system-settings-fields input,.system-settings-fields select{box-sizing:border-box;width:100%;height:39px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-overline);outline:none}.system-settings-fields input:focus,.system-settings-fields select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #08c8be26}.system-settings-fields label>small{color:var(--text-muted);font-size:var(--text-overline)}.system-settings-toggle-grid{gap:var(--space-md) var(--space-3xl);margin-top:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.system-settings-toggle-list{margin-top:var(--space-xl);border-top:1px solid var(--border-light);flex-direction:column;gap:2px;display:flex}.system-setting-toggle-row{align-items:flex-start;gap:var(--space-md);cursor:pointer;min-height:51px;display:flex}.system-settings-toggle-list .system-setting-toggle-row{padding:var(--space-sm) 0;border-bottom:1px solid var(--border-light);align-items:center}.system-setting-toggle-row>div{flex-direction:column;gap:3px;display:flex}.system-setting-toggle-row strong{color:var(--text-primary);font-size:var(--text-overline)}.system-setting-toggle-row small{color:var(--text-muted);font-size:var(--text-overline)}.system-setting-toggle-row.disabled{opacity:.5;cursor:not-allowed}.system-setting-switch{width:45px;min-width:45px;height:25px;position:relative}.system-setting-switch input{opacity:0;width:0;height:0}.system-setting-switch>span{background:var(--text-muted);border-radius:999px;transition:all .2s;position:absolute;inset:0}.system-setting-switch>span:before{background:var(--surface);width:19px;height:19px;box-shadow:var(--shadow-sm);content:"";border-radius:50%;transition:all .2s;position:absolute;bottom:3px;left:3px}.system-setting-switch input:checked+span{background:var(--primary)}.system-setting-switch input:checked+span:before{transform:translate(20px)}.system-branding-section{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.system-branding-section h3{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 2px}.system-branding-section>p{color:var(--text-secondary);font-size:var(--text-overline);margin:0}.system-logo-upload{align-items:center;gap:var(--space-lg);margin-top:var(--space-md);display:flex}.system-logo-preview{width:220px;height:70px;padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;justify-content:center;align-items:center;display:flex;overflow:hidden}.system-logo-preview img{object-fit:contain;width:100%;max-height:52px}.system-logo-button{align-items:center;gap:var(--space-sm);height:39px;padding:0 var(--space-lg);border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-dark);font-size:var(--text-overline);font-weight:var(--weight-bold);cursor:pointer;display:inline-flex}.system-logo-button input{display:none}.system-logo-upload>small{color:var(--text-muted);font-size:var(--text-overline)}.manual-backup-section{justify-content:space-between;align-items:center;gap:var(--space-xl);margin-top:var(--space-2xl);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);display:flex}.manual-backup-section>div{gap:var(--space-xs);flex-direction:column;display:flex}.manual-backup-section strong{color:var(--text-primary);font-size:var(--text-caption)}.manual-backup-section span{color:var(--text-muted);font-size:var(--text-overline)}.manual-backup-section button{align-items:center;gap:var(--space-sm);height:39px;padding:0 var(--space-lg);border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface);color:var(--primary);font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-bold);cursor:pointer;display:inline-flex}.system-settings-actions{justify-content:flex-end;gap:var(--space-md);padding:var(--space-md) var(--space-xl);border-top:1px solid var(--border-light);display:flex}.system-reset-defaults,.system-cancel-settings,.system-save-settings{justify-content:center;align-items:center;gap:var(--space-sm);height:41px;padding:0 var(--space-xl);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-bold);cursor:pointer;display:inline-flex}.system-reset-defaults,.system-cancel-settings{border:1px solid var(--border);background:var(--surface);color:var(--text-primary)}.system-save-settings{border:1px solid var(--primary);background:var(--primary);color:var(--text-white)}.system-save-settings:hover:not(:disabled){background:var(--primary-dark)}.system-settings-actions button:disabled{opacity:.45;cursor:not-allowed}@media (width<=1000px){.system-settings-layout{grid-template-columns:210px minmax(0,1fr)}.system-settings-fields,.system-settings-toggle-grid{column-gap:var(--space-xl)}}@media (width<=800px){.system-settings-layout{grid-template-columns:1fr}.system-settings-navigation{border-right:0;border-bottom:1px solid var(--border-light);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=600px){.system-settings-navigation,.system-settings-fields,.system-settings-toggle-grid{grid-template-columns:1fr}.system-settings-fields label.full-width{grid-column:auto}.system-logo-upload{flex-direction:column;align-items:flex-start}.system-settings-actions{flex-direction:column}.system-settings-actions button{width:100%}.manual-backup-section{flex-direction:column;align-items:flex-start}}.manual-backup-section button.backup-restore-button,.backup-actions .backup-restore-button{border-color:var(--warning,#d97706);color:var(--warning,#d97706)}.manual-backup-section button:disabled,.backup-actions button:disabled{opacity:.55;cursor:not-allowed}.backup-list{margin-top:var(--space-2xl);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.backup-list-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--surface-hover);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.backup-list-header strong{color:var(--text-primary);font-size:var(--text-caption)}.backup-list-header span{color:var(--text-muted);font-size:var(--text-overline)}.backup-table-wrapper{overflow-x:auto}.backup-table{border-collapse:collapse;width:100%;font-size:var(--text-overline)}.backup-table th,.backup-table td{padding:10px var(--space-lg);border-bottom:1px solid var(--border-light);text-align:left;vertical-align:middle}.backup-table th{color:var(--text-muted);font-weight:var(--weight-semibold)}.backup-table td strong{color:var(--text-primary);display:block}.backup-table td small{color:var(--text-muted);word-break:break-all}.backup-empty{color:var(--text-muted);text-align:center!important}.backup-kind{background:var(--primary-light);color:var(--primary-dark);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;padding:2px 8px;display:inline-block}.backup-kind.automatic{color:#1d4ed8;background:#e8f0fe}.backup-kind.pre-restore{color:#92400e;background:#fef3c7}.backup-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.backup-actions button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface);height:32px;color:var(--primary);font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-bold);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.backup-actions .backup-delete-button{border-color:var(--danger);color:var(--danger)}.audit-logs-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.audit-logs-page *{box-sizing:border-box}.audit-alert{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-label);border:1px solid;display:flex}.audit-alert.error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.audit-alert.success{border-color:var(--success);background:var(--success-light);color:var(--success)}.audit-statistics{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.audit-stat-card{align-items:center;gap:var(--space-lg);min-width:0;padding:var(--space-xl);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);display:flex}.audit-stat-icon{border-radius:var(--radius-md);width:48px;min-width:48px;height:48px;font-size:var(--text-heading-2);justify-content:center;align-items:center;display:flex}.audit-stat-icon.blue{background:var(--info-light);color:var(--info)}.audit-stat-icon.light-blue{background:var(--primary-light);color:var(--primary-dark)}.audit-stat-icon.green{background:var(--success-light);color:var(--success)}.audit-stat-icon.teal{background:var(--primary-light);color:var(--primary-dark)}.audit-stat-card span,.audit-stat-card small{display:block}.audit-stat-card div>span{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.audit-stat-card strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold);margin:2px 0;line-height:1;display:block}.audit-stat-card small{color:var(--text-muted);font-size:var(--text-overline)}.audit-events-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:visible}.audit-events-header{padding:18px var(--space-xl) 8px}.audit-events-header h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 3px}.audit-events-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.audit-filter-bar{align-items:center;gap:var(--space-sm);padding:14px var(--space-xl) 16px;grid-template-columns:minmax(280px,1fr) 155px 155px 155px 42px 150px;display:grid}.audit-search{align-items:center;gap:var(--space-sm);height:41px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);display:flex}.audit-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #00beb41a}.audit-search i{color:var(--text-secondary)}.audit-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit}.audit-filter-bar select,.audit-date-filter{width:100%;height:41px;padding:0 var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);outline:none;font-family:inherit}.audit-filter-bar select:focus,.audit-date-filter:focus{border-color:var(--primary);box-shadow:0 0 0 3px #00beb41a}.audit-reset-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:42px;height:41px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.audit-reset-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.audit-export-button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);width:150px;height:41px;color:var(--text-white);font-family:inherit;font-size:12px;font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;transition:background-color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.audit-export-button:hover{border-color:var(--primary-dark);background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 5px 14px #00beb433}.audit-export-button:active{box-shadow:none;transform:translateY(0)}.audit-table-wrapper{border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow-x:auto}.audit-events-table{border-collapse:collapse;width:100%;min-width:950px}.audit-events-table th{padding:11px var(--space-lg);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-overline);text-align:left;white-space:nowrap}.audit-events-table td{padding:11px var(--space-lg);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-overline);vertical-align:middle}.audit-events-table tbody tr{cursor:default;transition:background-color .2s}.audit-events-table tbody tr:hover,.audit-events-table tbody tr.selected{background:var(--surface-hover)}.audit-user-cell{flex-direction:column;gap:2px;display:flex}.audit-user-cell strong{color:var(--text-primary);font-size:var(--text-overline)}.audit-user-cell span{color:var(--text-muted);font-size:9px}.audit-action-cell{align-items:center;gap:var(--space-sm);white-space:nowrap;display:flex}.audit-action-cell i{width:20px;color:var(--text-secondary);font-size:var(--text-heading-3);text-align:center}.audit-action-cell.create i,.audit-action-cell.login i{color:var(--success)}.audit-action-cell.update i{color:var(--info)}.audit-action-cell.delete i{color:var(--danger)}.audit-action-cell.warning i{color:var(--warning)}.audit-action-cell.logout i,.audit-action-cell.default i{color:var(--text-secondary)}.audit-role-badge{border:1px solid var(--border-light);background:var(--surface-hover);color:var(--text-secondary);font-size:10px;font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;display:inline-flex}.audit-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:330px;line-height:1.4;display:-webkit-box;overflow:hidden}.audit-view-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:31px;color:var(--primary-dark);font-family:inherit;font-size:10px;font-weight:var(--weight-semibold);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.audit-view-button:hover{border-color:var(--primary);background:var(--primary-light)}.audit-table-empty{text-align:center;height:130px;color:var(--text-muted)!important}.audit-table-empty i{margin-right:var(--space-sm)}.audit-pagination{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-sm) 0;color:var(--text-secondary);font-size:11px;display:flex}.audit-pagination>div{gap:var(--space-xs);display:flex}.audit-pagination button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:33px;height:33px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.audit-pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary-dark)}.audit-pagination button.active{border-color:var(--primary);background:var(--primary);color:var(--text-white)}.audit-pagination button:disabled{opacity:.4;cursor:not-allowed}.audit-event-details{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.audit-event-details>header{padding:var(--space-lg);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;display:flex}.audit-event-details h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 3px}.audit-event-details header p{color:var(--text-secondary);margin:0;font-size:10px}.audit-event-details header button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.audit-event-details header button:hover{background:var(--surface-hover)}.audit-event-details-content{gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.2fr);display:grid}.audit-detail-column{gap:var(--space-md);padding-right:var(--space-lg);border-right:1px solid var(--border-light);flex-direction:column;display:flex}.audit-detail-item{align-items:flex-start;gap:var(--space-sm);display:flex}.audit-detail-item>i{width:18px;color:var(--primary-dark);text-align:center;margin-top:2px}.audit-detail-item div{flex-direction:column;gap:2px;display:flex}.audit-detail-item span,.audit-detail-description>span{color:var(--text-muted);font-size:9px}.audit-detail-item strong{color:var(--text-primary);font-size:10px}.audit-detail-item small{color:var(--text-muted);font-size:9px}.audit-detail-description{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover)}.audit-detail-description p{margin:var(--space-sm) 0 0;color:var(--text-secondary);font-size:10px;line-height:1.6}.audit-export-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:center;padding:24px;animation:.2s audit-export-fade-in;display:flex;position:fixed;inset:0}.audit-export-modal{border:1px solid var(--border-light);background:var(--surface);border-radius:16px;width:min(680px,100%);max-height:calc(100vh - 48px);animation:.22s audit-export-scale-in;overflow-y:auto;box-shadow:0 24px 60px #0f172a3d}.audit-export-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px;display:flex}.audit-export-modal-heading{align-items:center;gap:14px;display:flex}.audit-export-modal-main-icon{background:var(--primary-light);width:48px;min-width:48px;height:48px;color:var(--primary-dark);border-radius:12px;justify-content:center;align-items:center;font-size:20px;display:flex}.audit-export-modal-heading h2{color:var(--text-primary);font-size:19px;font-weight:var(--weight-bold);margin:0 0 5px}.audit-export-modal-heading p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.audit-export-modal-close{width:36px;min-width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;font-size:16px;display:flex}.audit-export-modal-close:hover{border-color:var(--border);background:var(--surface-hover);color:var(--text-primary)}.audit-export-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px;display:grid}.audit-export-format-card{border:1px solid var(--border);background:var(--surface);min-height:100px;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:13px;padding:16px;font-family:inherit;transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s;display:grid}.audit-export-format-card:hover{background:var(--surface-hover);transform:translateY(-2px);box-shadow:0 8px 22px #0f172a14}.audit-export-format-icon{border-radius:11px;justify-content:center;align-items:center;width:48px;height:48px;font-size:21px;display:flex}.audit-export-format-information{flex-direction:column;gap:5px;display:flex}.audit-export-format-information strong{color:var(--text-primary);font-size:13px;font-weight:var(--weight-bold)}.audit-export-format-information span{color:var(--text-secondary);font-size:10px;line-height:1.45}.audit-export-arrow{color:var(--text-muted);font-size:11px}.audit-export-format-card.pdf .audit-export-format-icon{color:#ef4444;background:#fff0f0}.audit-export-format-card.pdf:hover{border-color:#ef4444}.audit-export-format-card.excel .audit-export-format-icon{color:#16a34a;background:#eafaf1}.audit-export-format-card.excel:hover{border-color:#16a34a}.audit-export-format-card.csv .audit-export-format-icon{color:#3b82f6;background:#edf5ff}.audit-export-format-card.csv:hover{border-color:#3b82f6}.audit-export-format-card.json .audit-export-format-icon{color:#8b5cf6;background:#f4efff}.audit-export-format-card.json:hover{border-color:#8b5cf6}.audit-export-modal-footer{border-top:1px solid var(--border-light);background:var(--surface-hover);justify-content:space-between;align-items:center;gap:20px;padding:17px 24px;display:flex}.audit-export-modal-footer>div{color:var(--text-secondary);align-items:center;gap:8px;font-size:10px;display:flex}.audit-export-modal-footer>div i{color:var(--info)}.audit-export-modal-footer>button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:37px;color:var(--text-primary);font-family:inherit;font-weight:var(--weight-semibold);cursor:pointer;padding:0 18px}.audit-export-modal-footer>button:hover{background:var(--surface-hover)}@keyframes audit-export-fade-in{0%{opacity:0}to{opacity:1}}@keyframes audit-export-scale-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=1350px){.audit-filter-bar{grid-template-columns:minmax(220px,1fr) 145px 145px 145px 42px 145px}.audit-export-button{width:145px}}@media (width<=1100px){.audit-statistics,.audit-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-reset-button,.audit-export-button{width:100%}.audit-event-details-content{grid-template-columns:1fr 1fr}.audit-detail-description{grid-column:1/-1}}@media (width<=700px){.audit-statistics,.audit-filter-bar,.audit-event-details-content{grid-template-columns:1fr}.audit-detail-column{border-right:none;padding-right:0}.audit-detail-description{grid-column:auto}.audit-pagination{flex-direction:column;align-items:flex-start}.audit-export-format-grid{grid-template-columns:1fr}.audit-export-modal-overlay{align-items:flex-end;padding:12px}.audit-export-modal{border-radius:16px 16px 10px 10px;width:100%;max-height:90vh}.audit-export-modal-header,.audit-export-format-grid{padding:18px}.audit-export-modal-footer{flex-direction:column;align-items:stretch;padding:15px 18px}.audit-export-modal-footer>button{width:100%}}.admin-monitoring-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.admin-monitoring-actions{justify-content:flex-end;display:flex}.admin-monitoring-primary-button{justify-content:center;align-items:center;gap:var(--space-sm);min-width:174px;height:42px;padding:0 var(--space-lg);color:var(--text-white);background:var(--primary);border-radius:var(--radius-md);font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;border:none;transition:background-color .2s;display:inline-flex}.admin-monitoring-primary-button:hover:not(:disabled){background:var(--primary-dark)}.admin-monitoring-primary-button:disabled{opacity:.65;cursor:not-allowed}.admin-monitoring-primary-button:disabled i{animation:1s linear infinite operation-rotate}.operation-summary{gap:var(--space-lg);grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);display:grid}.operation-status-card,.operation-information-card{background:var(--surface);border-radius:var(--radius-md);min-height:172px;box-shadow:var(--shadow-sm)}.operation-status-card{padding:var(--space-2xl);align-items:center;display:flex}.operation-status-main{align-items:center;gap:var(--space-xl);display:flex}.operation-status-main>div:last-child{min-width:0}.operation-status-icon{width:66px;height:66px;color:var(--success);background:var(--success-light);font-size:var(--text-heading-1);border-radius:50%;flex:0 0 66px;place-items:center;display:grid}.operation-status-icon.warning{color:var(--warning);background:var(--warning-light)}.operation-status-icon.danger{color:var(--danger);background:var(--danger-light)}.operation-status-main span{margin-bottom:var(--space-xs);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);display:block}.operation-status-main h2{color:var(--text-primary);font-size:var(--text-metric-small);font-weight:var(--weight-bold);margin:0 0 7px;line-height:1.25}.operation-status-main p{color:var(--text-secondary);font-size:var(--text-label);margin:0;line-height:1.5}.operation-information-card{padding:var(--space-xl) var(--space-2xl)}.operation-information-card h2{margin:0 0 var(--space-lg);color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold)}.operation-information-list{flex-direction:column;display:flex}.operation-information-list>div{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-light);display:flex}.operation-information-list>div:first-child{padding-top:0}.operation-information-list>div:last-child{border-bottom:0;padding-bottom:0}.operation-information-list span{color:var(--text-secondary);font-size:11px}.operation-information-list strong{color:var(--text-primary);font-size:11px;font-weight:var(--weight-semibold);text-align:right}.admin-monitoring-statistics{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-monitoring-stat-card{align-items:center;gap:var(--space-lg);min-width:0;padding:var(--space-xl);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s;display:flex}.admin-monitoring-stat-card:hover{transform:translateY(-2px);box-shadow:0 7px 18px #0f172a12}.admin-monitoring-stat-icon{width:48px;height:48px;color:var(--info);background:var(--info-light);border-radius:var(--radius-md);font-size:var(--text-heading-2);flex:0 0 48px;place-items:center;display:grid}.admin-monitoring-stat-icon.green{color:var(--success);background:var(--success-light)}.admin-monitoring-stat-icon.orange{color:var(--warning);background:var(--warning-light)}.admin-monitoring-stat-icon.blue{color:var(--primary-dark);background:var(--primary-light)}.admin-monitoring-stat-card>div:last-child{min-width:0}.admin-monitoring-stat-card span,.admin-monitoring-stat-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-monitoring-stat-card span{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.admin-monitoring-stat-card strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold);margin:3px 0;line-height:1.05;display:block}.admin-monitoring-stat-card small{color:var(--text-muted);font-size:var(--text-caption)}.admin-monitoring-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-card-header{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-xl) var(--space-xl) var(--space-md);border-bottom:1px solid var(--border-light);display:flex}.admin-card-header h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 4px}.admin-card-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.operation-auto-refresh{align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.operation-auto-refresh input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.admin-monitoring-table-wrapper{width:100%;overflow-x:auto}.admin-monitoring-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:1050px}.admin-monitoring-table thead{background:var(--surface-hover)}.admin-monitoring-table th{padding:var(--space-md) 17px;color:var(--text-secondary);border-bottom:1px solid var(--border-light);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.025em;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-monitoring-table td{padding:var(--space-md) 17px;color:var(--text-secondary);border-bottom:1px solid var(--border-light);font-size:var(--text-overline);vertical-align:middle}.admin-monitoring-table tbody tr{transition:background-color .17s}.admin-monitoring-table tbody tr:hover{background:var(--surface-hover)}.admin-monitoring-table tbody tr:last-child td{border-bottom:0}.admin-monitoring-table th:first-child,.admin-monitoring-table td:first-child{min-width:235px}.admin-monitoring-table th:nth-child(2),.admin-monitoring-table td:nth-child(2){min-width:180px}.admin-monitoring-table th:nth-child(3),.admin-monitoring-table td:nth-child(3){min-width:125px}.admin-monitoring-table th:nth-child(4),.admin-monitoring-table td:nth-child(4){min-width:100px}.admin-monitoring-table th:nth-child(5),.admin-monitoring-table td:nth-child(5){min-width:130px}.admin-monitoring-table th:nth-child(6),.admin-monitoring-table td:nth-child(6){min-width:185px}.operation-service-name{align-items:center;gap:var(--space-md);min-width:0;display:flex}.operation-service-icon{width:37px;height:37px;color:var(--primary-dark);background:var(--primary-light);border-radius:var(--radius-sm);font-size:var(--text-label);flex:0 0 37px;place-items:center;display:grid}.operation-service-name>div{flex-direction:column;gap:3px;min-width:0;display:flex}.operation-service-name strong{max-width:180px;color:var(--text-primary);font-size:var(--text-overline);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operation-service-name>div>span{max-width:180px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.audit-ip{max-width:190px;padding:5px var(--space-sm);color:var(--text-secondary);background:var(--surface-hover);border:1px solid var(--border-light);border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;display:inline-block;overflow:hidden}.operation-status-badge{min-height:26px;padding:5px var(--space-sm);font-size:10px;font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;display:inline-flex}.operation-status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.operation-status-badge.operational{color:var(--success);background:var(--success-light)}.operation-status-badge.degraded{color:var(--warning);background:var(--warning-light)}.operation-status-badge.offline{color:var(--danger);background:var(--danger-light)}.operation-status-badge.checking{color:var(--primary-dark);background:var(--primary-light)}.operation-status-badge.checking .operation-status-dot{animation:1s ease-in-out infinite operation-pulse}.operation-latency{min-height:25px;padding:4px var(--space-sm);color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-sm);font-size:10px;font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;display:inline-flex}.admin-monitoring-table-wrapper::-webkit-scrollbar{height:8px}.admin-monitoring-table-wrapper::-webkit-scrollbar-track{background:var(--surface-hover)}.admin-monitoring-table-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.admin-monitoring-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes operation-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes operation-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1200px){.operation-summary{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.admin-monitoring-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.operation-summary{grid-template-columns:1fr}.operation-status-card,.operation-information-card{min-height:auto}.operation-status-card{padding:var(--space-2xl)}.admin-card-header{flex-direction:column;align-items:flex-start}}@media (width<=650px){.admin-monitoring-primary-button{width:100%}.admin-monitoring-statistics{grid-template-columns:1fr}.operation-status-main{align-items:flex-start}.operation-status-icon{width:56px;height:56px;font-size:var(--text-metric-small);flex-basis:56px}.operation-status-main h2{font-size:var(--text-heading-1)}.operation-information-list>div{flex-direction:column;align-items:flex-start;gap:3px}.operation-information-list strong{text-align:left}.operation-auto-refresh{white-space:normal;align-items:flex-start}}@media (width<=430px){.operation-status-card{padding:var(--space-xl) var(--space-lg)}.operation-status-main{flex-direction:column}.operation-information-card{padding:var(--space-lg) var(--space-lg)}.admin-monitoring-stat-card{padding:var(--space-lg)}}.admin-monitoring-primary-button:focus-visible,.operation-auto-refresh input:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}@media (prefers-reduced-motion:reduce){.admin-monitoring-page *,.admin-monitoring-page :before,.admin-monitoring-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.security-controls-page{color:var(--text-primary)}.security-message{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-caption);border:1px solid;display:flex}.security-message.success{border-color:var(--success);background:var(--success-light);color:var(--success)}.security-message.error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.security-message.warning{border-color:var(--warning);background:var(--warning-light);color:var(--warning)}.security-control-statistics{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.security-control-stat-card{align-items:center;gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);display:flex}.security-stat-icon{border-radius:var(--radius-md);width:48px;min-width:48px;height:48px;font-size:var(--text-heading-2);justify-content:center;align-items:center;display:flex}.security-stat-icon.green{background:var(--success-light);color:var(--success)}.security-stat-icon.orange{background:var(--warning-light);color:var(--warning)}.security-stat-icon.blue{background:var(--info-light);color:var(--info)}.security-stat-icon.red{background:var(--danger-light);color:var(--danger)}.security-control-stat-card span,.security-control-stat-card small{display:block}.security-control-stat-card div>span{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-bold)}.security-control-stat-card strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold);margin:2px 0;line-height:1;display:block}.security-control-stat-card small{color:var(--text-muted);font-size:var(--text-caption)}.security-configuration-grid{align-items:stretch;gap:var(--space-xl);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.security-configuration-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.security-configuration-card>header{padding:var(--space-lg) var(--space-lg) var(--space-sm)}.security-configuration-card h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 3px}.security-configuration-card header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.security-setting-row{justify-content:space-between;align-items:center;gap:var(--space-xl);min-height:57px;margin:0 var(--space-lg);border-bottom:1px solid var(--border-light);display:flex}.security-setting-row>div:first-child{gap:var(--space-xs);flex-direction:column;display:flex}.security-setting-row strong,.allowed-ip-field strong{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.security-setting-row>div:first-child>span,.allowed-ip-field>span{color:var(--text-secondary);font-size:var(--text-overline)}.security-number-control{align-items:center;gap:var(--space-sm);min-width:175px;display:flex}.security-number-control input{width:88px;height:35px;padding:0 var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);box-sizing:border-box;outline:none}.security-number-control>span{color:var(--text-secondary);font-size:var(--text-overline)}.security-number-control input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-light)}.security-control-switch{cursor:pointer;width:45px;min-width:45px;height:25px;position:relative}.security-control-switch input{opacity:0;width:0;height:0}.security-control-slider{background:var(--text-muted);border-radius:999px;transition:all .2s;position:absolute;inset:0}.security-control-slider:before{background:var(--surface);width:19px;height:19px;box-shadow:var(--shadow-sm);content:"";border-radius:50%;transition:all .2s;position:absolute;bottom:3px;left:3px}.security-control-switch input:checked+.security-control-slider{background:var(--primary)}.security-control-switch input:checked+.security-control-slider:before{transform:translate(20px)}.security-control-switch.disabled{opacity:.5;cursor:not-allowed}.allowed-ip-field{gap:var(--space-xs);margin:var(--space-md) var(--space-lg) var(--space-lg);flex-direction:column;display:flex}.allowed-ip-field textarea{width:100%;min-height:73px;margin-top:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;box-sizing:border-box;outline:none;font-family:inherit}.allowed-ip-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-light)}.allowed-ip-field textarea:disabled{background:var(--surface-hover);cursor:not-allowed}.active-sessions-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.active-sessions-header{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);display:flex}.active-sessions-header h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 3px}.active-sessions-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.session-search{align-items:center;gap:var(--space-sm);width:290px;height:38px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}.session-search i{color:var(--text-muted)}.session-search input{width:100%;color:var(--text-primary);background:0 0;border:0;outline:0;font-family:inherit}.active-sessions-table-wrapper{overflow-x:auto}.active-sessions-table{border-collapse:collapse;width:100%;min-width:900px}.active-sessions-table th{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border-light);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-overline);text-align:left}.active-sessions-table td{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-body);vertical-align:middle}.active-sessions-table tbody tr:hover{background:var(--surface-hover)}.revoke-session-button{padding:var(--space-xs) var(--space-sm);color:var(--danger);cursor:pointer;background:0 0;border:0;font-family:inherit}.revoke-session-button:hover{text-decoration:underline}.session-empty{text-align:center;height:90px;color:var(--text-muted)!important}.security-form-actions{justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-md);display:flex}.security-cancel-button,.security-save-button{justify-content:center;align-items:center;gap:var(--space-sm);height:43px;padding:0 var(--space-2xl);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-bold);cursor:pointer;display:inline-flex}.security-cancel-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.security-save-button{background:var(--primary);color:var(--text-white);border:none}.security-save-button:hover:not(:disabled){background:var(--primary-dark)}.security-cancel-button:disabled,.security-save-button:disabled{opacity:.45;cursor:not-allowed}@media (width<=1200px){.security-control-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=950px){.security-configuration-grid{grid-template-columns:1fr}}@media (width<=700px){.security-control-statistics{grid-template-columns:1fr}.active-sessions-header{flex-direction:column;align-items:flex-start}.session-search{box-sizing:border-box;width:100%}}@media (width<=500px){.security-setting-row{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) 0;flex-direction:column}.security-number-control{min-width:0}.security-form-actions{flex-direction:column}.security-cancel-button,.security-save-button{width:100%}}.admin-filter-card-single{grid-template-columns:minmax(260px,1fr) 170px auto}.admin-modal-small{width:min(480px,100%)}.admin-page-note{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.45}.admin-projects-sub{color:var(--text-muted);font-size:var(--text-overline);display:block}.admin-projects-locked{width:31px;height:31px;color:var(--text-muted);place-items:center;display:grid}@media (width<=900px){.admin-filter-card-single{grid-template-columns:1fr}}.admin-name-wrap strong,.admin-name-wrap small{white-space:normal;max-width:280px}.priority-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.priority-group{padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md)}.priority-group-header{align-items:center;gap:var(--space-sm);display:flex}.priority-icon{width:28px;min-width:28px;height:28px;font-size:var(--text-caption);border-radius:50%;justify-content:center;align-items:center;display:flex}.tone-danger .priority-icon{background:var(--danger-light);color:var(--danger)}.tone-warning .priority-icon{background:var(--warning-light);color:var(--warning)}.tone-info .priority-icon{background:var(--info-light);color:var(--info)}.tone-accent .priority-icon{background:var(--accent-light);color:var(--accent)}.priority-label{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);flex:1}.priority-count{min-width:28px;padding:2px var(--space-sm);background:var(--border-light);color:var(--text-primary);font-size:var(--text-label);text-align:center;border-radius:999px}.tone-danger .priority-count{background:var(--danger-light);color:var(--danger)}.priority-hint{margin:var(--space-xs) 0 0 36px;font-size:var(--text-caption);color:var(--text-secondary)}.priority-items{margin:var(--space-sm) 0 0 36px;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.priority-items a{padding:var(--space-xs) var(--space-sm);margin-left:calc(var(--space-sm) * -1);border-radius:var(--radius-sm);flex-direction:column;text-decoration:none;display:flex}.priority-items a:hover,.priority-items a:focus-visible{background:var(--surface-hover)}.priority-items a span{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text-primary)}.priority-items a small{font-size:var(--text-caption);color:var(--text-muted)}.priority-more{margin:var(--space-xs) 0 0 36px;font-size:var(--text-caption);color:var(--text-muted);display:block}.dashboard-empty-state{padding:var(--space-2xl) 0;text-align:center;color:var(--text-muted);font-size:var(--text-label)}.dashboard-empty-error{color:var(--danger)}.risk-badge{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;display:inline-flex}.risk-low{background:var(--success-light);color:var(--success)}.risk-medium{background:var(--warning-light);color:var(--warning)}.risk-high{background:var(--danger-light);color:var(--danger)}.risk-critical{background:var(--danger);color:var(--text-white)}.risk-unknown{background:var(--border-light);color:var(--text-muted)}.performance-no-data{color:var(--text-muted)}.view-all-projects-link{justify-content:center;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-semibold);text-decoration:none;display:flex}.dashboard-notification-item-unread .dashboard-notification-text p{font-weight:var(--weight-semibold)}.dashboard-notification-danger{background:var(--danger-light);color:var(--danger)}.dashboard-notification-warning{background:var(--warning-light);color:var(--warning)}.dashboard-notification-success{background:var(--success-light);color:var(--success)}.dashboard-notification-text p{font-size:var(--text-body);color:var(--text-primary);margin:0}.dashboard-deadline-item{align-items:flex-start;gap:var(--space-md);display:flex}.dashboard-deadline-item>div{flex-direction:column;display:flex}.dashboard-deadline-date{font-size:var(--text-caption);color:var(--text-muted)}.dashboard-deadline-item strong{font-size:var(--text-body);color:var(--text-primary)}.chart-container{width:100%;height:250px;position:relative}.donut-chart-container{flex-shrink:0;width:180px;height:180px;position:relative}.breakdown-legend{gap:var(--space-lg);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.breakdown-legend li{align-items:center;gap:var(--space-sm);font-size:var(--text-body-large);color:var(--text-secondary);display:flex}.breakdown-legend strong{color:var(--text-primary);margin-left:auto}.dashboard-legend-dot{border-radius:50%;width:12px;height:12px}.insight-banner{align-items:center;gap:var(--space-md);background:var(--warning-light);border:1px solid var(--warning);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);display:flex}.insight-banner.insight-low{background:var(--success-light);border-color:var(--success)}.insight-banner.insight-medium{background:var(--warning-light);border-color:var(--warning)}.insight-banner.insight-high,.insight-banner.insight-critical{background:var(--danger-light);border-color:var(--danger)}.insight-icon{background:var(--surface);width:30px;min-width:30px;height:30px;color:var(--warning);font-size:var(--text-body);border-radius:50%;justify-content:center;align-items:center;display:flex}.insight-low .insight-icon{color:var(--success)}.insight-medium .insight-icon{color:var(--warning)}.insight-high .insight-icon,.insight-critical .insight-icon{color:var(--danger)}.insight-content{flex:1;min-width:0}.insight-header{align-items:center;gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.insight-forecast{font-size:var(--text-caption);color:var(--text-secondary)}.insight-label{font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--warning);text-transform:uppercase;letter-spacing:.03em}.insight-low .insight-label{color:var(--success)}.insight-medium .insight-label{color:var(--warning)}.insight-high .insight-label,.insight-critical .insight-label{color:var(--danger)}.insight-content h3{font-size:var(--text-body-large);color:var(--text-primary);margin:0}.insight-content p{color:var(--text-secondary);font-size:var(--text-label);-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;margin:2px 0 0;display:-webkit-box;overflow:hidden}.insight-meta{gap:var(--space-xl);font-size:var(--text-label);color:var(--text-secondary);display:flex}.insight-action-button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;display:flex}.insight-action-button:hover{background:var(--surface-hover)}@media (width<=1200px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}@media (width<=600px){.dashboard-stats{grid-template-columns:1fr}.insight-banner{flex-direction:column}}@media (width<=1200px){.dashboard-columns{grid-template-columns:1fr}}.dashboard-split-row{gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}@media (width<=900px){.dashboard-split-row{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-card-header-wrap{gap:var(--space-sm) var(--space-md);flex-wrap:wrap}.dashboard-load-error{justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--danger);display:flex}.dashboard-load-error p{margin:0}.dashboard-scope-note{margin:0 0 var(--space-md);font-size:var(--text-caption);color:var(--text-secondary)}.task-breakdown-layout{align-items:center;gap:var(--space-xl);flex-wrap:wrap;display:flex}.task-breakdown-layout .breakdown-legend{min-width:160px}.task-breakdown-layout+.dashboard-scope-note{margin:var(--space-lg) 0 0}.breakdown-legend strong small{font-weight:var(--weight-regular);color:var(--text-muted)}.insight-banner{align-items:flex-start}.insight-icon{margin-top:2px}.insight-facts{gap:var(--space-xs) var(--space-lg);margin:var(--space-sm) 0 0;font-size:var(--text-label);color:var(--text-secondary);flex-wrap:wrap;padding:0;list-style:none;display:flex}.insight-facts strong{color:var(--text-primary)}.insight-late{color:var(--danger);font-weight:var(--weight-semibold)}.insight-content p.insight-summary{margin-top:var(--space-xs);color:var(--text-primary);font-weight:var(--weight-semibold);-webkit-line-clamp:unset;line-clamp:unset;display:block}.insight-summary span[title]{cursor:help}.dashboard-past-due a{color:var(--danger);font-weight:var(--weight-semibold)}.dashboard-past-due a:hover,.dashboard-past-due a:focus-visible{text-decoration:underline}.insight-basis{color:var(--text-muted)}.metric-header{align-items:center;gap:var(--space-xs);display:inline-flex}.metric-help{color:var(--text-muted);cursor:help;border-radius:50%}.metric-help:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.insight-content p.insight-recommendation{margin-top:var(--space-sm);-webkit-line-clamp:2;line-clamp:2}.insight-recommendation strong{color:var(--text-primary)}.insight-others{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);font-size:var(--text-caption);color:var(--text-secondary);flex-wrap:wrap;display:flex}.insight-other-chip{align-items:center;gap:var(--space-xs);padding:2px 4px 2px var(--space-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-weight:var(--weight-semibold);border-radius:999px;text-decoration:none;display:inline-flex}.insight-other-chip:hover{background:var(--surface-hover)}.insight-other-chip .risk-badge{padding:0 var(--space-sm)}.insight-actions{align-items:flex-end;gap:var(--space-sm);flex-direction:column;display:flex}.insight-action-button{text-decoration:none}.performance-table-wrap{overflow-x:auto}.performance-row{cursor:pointer}.performance-row:hover td,.performance-row:focus-visible td{background:var(--surface-hover)}.performance-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.performance-table td{vertical-align:top}.performance-project-name{display:block}.performance-subtext{font-size:var(--text-caption);color:var(--text-muted);margin-top:2px;display:block}.performance-subtext.is-late{color:var(--danger)}.performance-progress-bar{position:relative;overflow:visible}.performance-expected-marker{background:var(--text-secondary);border-radius:1px;width:2px;height:12px;margin-left:-1px;position:absolute;top:-3px}.dashboard-chart-select select{max-width:100%;height:34px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);cursor:pointer}.dashboard-chart-select select:focus{outline:2px solid var(--primary);outline-offset:1px}.dashboard-line-legend{gap:var(--space-xs) var(--space-lg);margin-bottom:var(--space-md);font-size:var(--text-caption);color:var(--text-secondary);flex-wrap:wrap;display:flex}.dashboard-line-legend span{align-items:center;gap:var(--space-sm);display:inline-flex}.dashboard-line-key{border-top:3px solid var(--primary);width:18px;height:0;display:inline-block}.dashboard-line-key.is-expected{border-top:2px dashed var(--text-muted)}.dashboard-chart-caption{margin:var(--space-sm) 0 0;font-size:var(--text-caption);color:var(--text-muted)}.dashboard-chart-note.is-stalled{color:var(--warning)}.dashboard-chart-note.is-stale{color:var(--text-secondary)}.dashboard-notification-list>li{list-style:none}button.dashboard-notification-item{width:calc(100% + var(--space-sm) * 2);text-align:left;color:inherit;background:0 0;border:none;font-family:inherit}button.dashboard-notification-item.is-static{cursor:default}button.dashboard-notification-item:focus-visible{outline:2px solid var(--primary)}.dashboard-notification-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-notification-message{font-size:var(--text-body);color:var(--text-primary)}.dashboard-notification-item-unread .dashboard-notification-message{font-weight:var(--weight-semibold)}.dashboard-notification-text small{font-size:var(--text-caption);color:var(--text-muted)}.dashboard-deadline-list>li{list-style:none}a.dashboard-deadline-item{padding:var(--space-xs) var(--space-sm);margin:0 calc(var(--space-sm) * -1);border-radius:var(--radius-md);text-decoration:none}a.dashboard-deadline-item:hover,a.dashboard-deadline-item:focus-visible{background:var(--surface-hover)}.dashboard-deadline-icon.is-soon{background:var(--warning-light);color:var(--warning)}.dashboard-past-due{align-items:flex-start;gap:var(--space-sm);margin:var(--space-lg) 0 0;padding-top:var(--space-md);border-top:1px solid var(--border-light);font-size:var(--text-caption);color:var(--danger);display:flex}.dashboard-past-due i{margin-top:2px}@media (width<=600px){.insight-actions{align-items:stretch;width:100%}.insight-action-button{justify-content:center}.dashboard-load-error{flex-direction:column;align-items:stretch}}.project-search-picker{width:100%;min-width:440px;max-width:560px;position:relative}.project-search-controls{align-items:center;gap:var(--space-sm);display:flex}.project-search-input{flex:auto;min-width:0;position:relative}.project-search-picker .project-search-input input{box-sizing:border-box;width:100%;min-width:0;height:48px;min-height:0;padding:0 40px 0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-body);font-weight:var(--weight-semibold);outline:none;transition:border-color .15s,box-shadow .15s}.project-search-picker .project-search-input input::placeholder{color:var(--text-muted);font-weight:var(--weight-regular)}.project-search-picker .project-search-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.project-search-picker .project-search-input input:disabled{background:var(--surface-hover);cursor:not-allowed}.project-search-icon,.project-search-clear{top:50%;right:var(--space-md);color:var(--text-secondary);font-size:14px;position:absolute;transform:translateY(-50%)}.project-search-icon{pointer-events:none}.project-search-clear{cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;right:10px}.project-search-clear:hover{background:var(--surface-hover);color:var(--text-primary)}.project-search-status-filter{height:48px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-medium);cursor:pointer;outline:none;flex:none}.project-search-status-filter:focus{border-color:var(--primary)}.project-search-picker .project-search-controls select.project-search-status-filter{box-sizing:border-box;padding:0 var(--space-md);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-md);width:auto;min-width:0;max-width:none;height:48px;font-size:var(--text-label);font-weight:var(--weight-medium)}.project-search-picker.is-fluid{min-width:0;max-width:none}.project-search-picker.is-inline .project-search-panel{box-shadow:none;margin-top:6px;position:static}.project-search-picker.is-inline .project-search-list{max-height:240px}.project-search-picker.is-compact{min-width:300px;max-width:420px}.project-search-picker.is-compact .project-search-input input,.project-search-picker.is-compact .project-search-controls select.project-search-status-filter{height:42px}.project-search-picker.is-compact .project-search-panel{min-width:360px}.project-search-panel{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 32px #10182824}.project-search-list{max-height:360px;padding:var(--space-xs) 0 var(--space-sm);margin:0;list-style:none;overflow-y:auto}.project-search-heading{padding:var(--space-md) var(--space-lg) var(--space-xs);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold)}.project-search-heading+.project-search-option{margin-top:2px}.project-search-option+.project-search-heading{margin-top:var(--space-xs);border-top:1px solid var(--border-light)}.project-search-option{align-items:center;gap:var(--space-md);margin:0 var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;display:flex}.project-search-option.is-active{background:var(--surface-hover)}.project-search-option.is-selected{background:var(--primary-light)}.project-search-option-icon{border-radius:var(--radius-sm);background:var(--primary-light);width:34px;height:34px;color:var(--primary-dark);flex:none;place-items:center;font-size:15px;display:grid}.project-search-option-text{flex-direction:column;flex:auto;min-width:0;display:flex}.project-search-option-text strong,.project-search-option-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-search-option-text strong{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold)}.project-search-option-text small{color:var(--text-secondary);font-size:var(--text-caption)}.project-search-option mark{color:var(--primary-dark);font-weight:var(--weight-bold);text-underline-offset:2px;background:0 0;text-decoration:underline}.project-search-status{font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px}.project-search-status.tone-success{background:var(--success-light);color:#15803d}.project-search-status.tone-pending{background:var(--accent-light);color:#c2410c}.project-search-status.tone-danger{background:var(--danger-light);color:#b91c1c}.project-search-status.tone-info{background:var(--info-light);color:#1d4ed8}.project-search-status.tone-muted{background:var(--border-light);color:var(--text-secondary)}.project-search-empty{padding:var(--space-xl) var(--space-lg);color:var(--text-secondary);font-size:var(--text-body);text-align:center}@media (width<=640px){.project-search-picker,.project-search-picker.is-compact{min-width:0;max-width:none}.project-search-picker.is-compact .project-search-panel{min-width:0}.project-search-controls{flex-wrap:wrap}.project-search-input{flex-basis:100%}}.btn-create{align-items:center;gap:var(--space-sm);height:44px;padding:0 var(--space-xl);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:none;display:inline-flex}.btn-create:hover{background:var(--primary-dark)}.project-stats{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{align-items:center;gap:var(--space-lg);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl) var(--space-2xl);display:flex}.stat-icon{border-radius:var(--radius-md);width:56px;min-width:56px;height:56px;font-size:var(--text-heading-3);justify-content:center;align-items:center;display:flex}.stat-icon.primary{background:var(--primary-light)}.stat-icon.primary i{color:var(--primary)}.stat-icon.warning{background:var(--warning-light)}.stat-icon.warning i{color:var(--warning)}.stat-icon.info{background:var(--info-light)}.stat-icon.info i{color:var(--info)}.stat-icon.success{background:var(--success-light)}.stat-icon.success i{color:var(--success)}.stat-content{gap:var(--space-xs);flex-direction:column;display:flex}.stat-title{font-size:var(--text-body-large);color:var(--text-secondary)}.stat-value{font-size:var(--text-metric-large);font-weight:var(--weight-bold);color:var(--text-primary);line-height:1}.stat-caption{font-size:var(--text-caption);color:var(--text-muted)}.project-page .project-filters{justify-content:space-between;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.project-search{align-items:center;gap:var(--space-md);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:0 var(--space-lg);width:360px;height:46px;display:flex}.project-search i{color:var(--text-muted);font-size:var(--text-heading-3)}.project-search input[type=search]{font-size:var(--text-body-large);appearance:none;background:0 0;border:none;outline:none;flex:1}.project-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.project-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.project-search input[type=search]::-webkit-search-results-button{-webkit-appearance:none}.project-search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.filter-row{align-items:center;gap:var(--space-xl);flex-shrink:0;display:flex}.filter-group{gap:var(--space-xs);flex-direction:column;flex-shrink:0;display:flex}.filter-group label{font-size:var(--text-body-large);color:var(--text-muted);white-space:nowrap}.filter-group select{box-sizing:border-box;width:140px;height:46px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body-large);color:var(--text-primary);flex-shrink:0}.project-table-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.project-list-header{padding:var(--space-xl) var(--space-xl) var(--space-lg);justify-content:space-between;align-items:center;display:flex}.project-list-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.project-table-wrapper{overflow-x:auto}.project-table{border-collapse:collapse;width:100%}.project-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light);white-space:nowrap}.project-table td{padding:var(--space-xl);border-bottom:1px solid var(--border-light);vertical-align:middle;white-space:nowrap}.project-table tbody tr{height:64px}.project-table tbody tr:hover{background:var(--surface-hover)}.project-table tbody tr:last-child td{border-bottom:none}.table-name{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.table-client,.table-location{font-size:var(--text-body);color:var(--text-primary)}.table-date{font-size:var(--text-body);color:var(--text-primary);white-space:nowrap}.badge-pending{background:var(--warning-light);color:var(--warning)}.badge-approved{background:var(--success-light);color:var(--success)}.badge-delayed,.badge-rejected{background:var(--danger-light);color:var(--danger)}.table-actions{justify-content:flex-start;align-items:center;gap:var(--space-sm);display:flex}.action-button{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;gap:var(--space-xs);cursor:pointer;transition:background-color .2s,color .2s;display:flex}.action-button:hover{background:var(--surface-hover);color:var(--text-primary)}.action-restore{color:var(--primary-dark)}.action-restore:hover{background:var(--primary-light)}.action-cancel{color:var(--text-secondary)}.action-cancel:hover{background:var(--surface-hover)}.badge-archived{background:var(--surface-hover);color:var(--text-secondary)}.confirm-modal textarea{box-sizing:border-box;width:100%;min-height:80px;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-label);resize:vertical}.btn-archive-confirm{border-radius:var(--radius-sm);background:var(--primary);color:var(--text-white);font-weight:var(--weight-semibold);cursor:pointer;border:none;padding:10px 18px}.btn-archive-confirm:disabled{opacity:.5;cursor:not-allowed}.table-pagination{padding:var(--space-xl);border-top:1px solid var(--border-light);font-size:var(--text-body);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.pagination-controls{align-items:center;gap:6px;display:flex}.pagination-arrow,.pagination-page{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-body);cursor:pointer;justify-content:center;align-items:center;display:flex}.pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.pagination-page.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-white);font-size:var(--text-body)}.confirm-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-sm);padding:var(--space-2xl);text-align:center}.confirm-modal-icon{width:56px;height:56px;margin:0 auto var(--space-lg);background:var(--danger-light);color:var(--danger);font-size:var(--text-heading-1);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-modal h2{margin:0 0 var(--space-sm);font-size:var(--text-heading-1);color:var(--text-primary)}.confirm-modal p{margin:0 0 var(--space-lg);color:var(--text-secondary)}.confirm-checkbox-row{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);font-size:var(--text-body);color:var(--text-secondary);cursor:pointer;display:flex}.confirm-modal-actions{justify-content:center;gap:var(--space-md);display:flex}.btn-delete-confirm{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-sm);background:var(--danger);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;border:none}.btn-delete-confirm:hover{opacity:.9}.btn-delete-confirm:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.form-stepper{margin:0 0 var(--space-2xl);justify-content:center;align-items:flex-start;padding:0;list-style:none;display:flex}.step-item{align-items:center;gap:var(--space-md);display:flex}.step-circle{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-muted);font-size:var(--text-label);font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.step-text{flex-direction:column;gap:2px;display:flex}.step-label{color:var(--text-muted);font-size:var(--text-heading-2);font-weight:var(--weight-semibold);white-space:nowrap}.step-desc{color:var(--text-muted);font-size:var(--text-overline);white-space:nowrap}.step-connector{width:60px;height:1px;margin:0 var(--space-xl);background:var(--border)}.step-item.active .step-circle,.step-item.completed .step-circle{background:var(--primary);border-color:var(--primary);color:var(--text-white)}.step-item.active .step-label,.step-item.completed .step-label{color:var(--primary)}.project-form{flex-direction:column;display:flex}.form-body{gap:var(--space-xl);flex-direction:column;display:flex}.form-section{background:var(--surface);padding:var(--space-2xl);border-radius:var(--radius-lg);border:1px solid var(--border-light)}.section-title{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 var(--space-xs)}.section-subtitle{font-size:var(--text-body-large);color:var(--text-secondary);margin:0 0 var(--space-lg)}.form-two-col{gap:var(--space-2xl);grid-template-columns:1.6fr 1fr;align-items:start;display:grid}.form-info-card,.form-documents-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-xl)}.form-card-title{align-items:center;gap:var(--space-sm);font-size:var(--text-heading-3);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 var(--space-lg);display:flex}.form-card-title span{color:var(--danger);margin-left:var(--space-xs)}.form-card-title i{color:var(--primary)}.form-info-grid{gap:var(--space-lg) var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.form-info-grid .full-width{grid-column:1/-1}.form-info-grid .span-2{grid-column:span 2}.form-group textarea.description-large{min-height:180px}.review-description{white-space:pre-wrap;font-weight:var(--weight-medium);line-height:1.6}@media (width<=700px){.form-info-grid .span-2{grid-column:auto}}.form-group .field-error{color:var(--danger);font-size:var(--text-caption);line-height:1.4}.form-group .field-hint{color:var(--text-muted);font-size:var(--text-caption)}.form-group input[aria-invalid=true]{border-color:var(--danger)}.amount-type-options{gap:var(--space-xl);flex-wrap:wrap;display:flex}.amount-type-option{align-items:center;gap:var(--space-sm);font-weight:var(--weight-medium);cursor:pointer;display:inline-flex}.form-group .amount-type-option input{width:auto;accent-color:var(--primary);margin:0 6px 0 0}.amount-notes-text{white-space:pre-wrap;font-weight:var(--weight-medium)}.form-subsection-title{align-items:center;gap:var(--space-sm);margin:var(--space-sm) 0 0;padding-top:var(--space-lg);border-top:1px solid var(--border-light);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);display:flex}.form-subsection-title i{color:var(--primary)}.form-group{gap:var(--space-sm);flex-direction:column;display:flex}.form-group label span{color:var(--danger);margin-left:3px}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;width:100%;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--text-primary);background:var(--surface);outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group select{cursor:pointer}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--border-light)}.input-icon-wrapper{align-items:center;display:flex;position:relative}.input-icon-wrapper input{padding-right:40px}.input-icon-wrapper input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:40px;height:100%;position:absolute;right:0}.input-icon-wrapper i{right:var(--space-md);font-size:var(--text-body-large);color:var(--text-muted);pointer-events:none;position:absolute}.duration-display{align-items:center;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--background);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);display:flex}.duration-display i{color:var(--text-muted)}.document-upload{text-align:center;min-height:180px;padding:var(--space-2xl) var(--space-lg);border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--background);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.document-upload i{font-size:var(--text-metric-medium);color:var(--primary);margin-bottom:var(--space-md)}.document-upload p{margin:0 0 var(--space-xs);font-size:var(--text-body);color:var(--text-secondary)}.upload-link{color:var(--primary);font-weight:var(--weight-semibold);text-decoration:underline}.upload-hint{font-size:var(--text-caption);color:var(--text-muted)}.document-upload input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.document-list{margin:var(--space-lg) 0 0;gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}.document-list li{padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.document-list-item-info{align-items:center;gap:var(--space-md);min-width:0;display:flex}.document-list-item-info>i{color:var(--text-muted);font-size:var(--text-heading-3);flex-shrink:0}.document-list-item-info>div{flex-direction:column;min-width:0;display:flex}.document-list-item-name{font-size:var(--text-body);color:var(--text-primary);font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.document-list-item-size{font-size:var(--text-caption);color:var(--text-muted)}.document-remove-btn{border:1px solid var(--primary);background:var(--surface);width:28px;min-width:28px;height:28px;color:var(--primary);font-size:var(--text-caption);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:flex}.document-remove-btn:hover{background:var(--primary);color:var(--text-white)}.form-actions{justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xs);display:flex}.btn-cancel{padding:var(--space-md) var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer}.btn-cancel:hover{background:var(--surface-hover)}.btn-save{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-sm);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;border:none}.btn-save:hover{background:var(--primary-dark)}.review-field{gap:var(--space-xs);padding:var(--space-md);background:var(--background);border:1px solid var(--border-light);border-radius:var(--radius-sm);flex-direction:column;display:flex}.review-field span{font-size:var(--text-caption);color:var(--text-muted)}.review-field strong{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);word-break:break-word}.review-empty-documents{color:var(--text-muted);font-size:var(--text-body);text-align:center;padding:var(--space-xl) 0}@media (width<=1100px){.project-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=1000px){.form-two-col{grid-template-columns:1fr}.form-info-grid{grid-template-columns:repeat(2,1fr)}.review-list{grid-template-columns:1fr}}@media (width<=700px){.project-page{padding:0}.project-stats{grid-template-columns:1fr}.project-search{width:100%}.filter-row{flex-wrap:wrap;width:100%}.filter-group{flex:100px}.filter-group select{width:100%}.project-list-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.form-info-grid{grid-template-columns:1fr}.form-stepper{padding-bottom:var(--space-xs);overflow-x:auto}.step-connector{width:30px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}.project-table th,.project-table td{padding:var(--space-md) var(--space-lg)}.project-table td:first-child{white-space:normal;min-width:200px;max-width:320px}.project-page .project-filters{justify-content:flex-start;align-items:flex-end;gap:var(--space-lg)}.project-page .project-filters .project-search{box-sizing:border-box;flex:320px;max-width:420px}.project-page .project-filters .filter-row{align-items:flex-end;gap:var(--space-lg)}@media (width<=700px){.project-page .project-filters .project-search{flex-basis:100%;max-width:none}}.project-page .project-table td:nth-child(2),.project-page .project-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;line-height:1.4}.project-page .project-table td:nth-child(2){min-width:130px;max-width:200px}.project-page .project-table td:nth-child(3){min-width:150px;max-width:230px}.project-details{flex-direction:column;gap:0;display:flex}.back-to-projects-link{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);text-decoration:none;display:inline-flex}.back-to-projects-link:hover{text-decoration:underline}.details-header{margin-bottom:var(--space-xl)}.details-title-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.details-title-row h1{font-size:var(--text-page-title);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.project-status-bar{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl) var(--space-2xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(4,1fr);display:grid}.status-item{gap:var(--space-xs);padding:0 var(--space-xl);flex-direction:column;display:flex}.status-item:first-child{padding-left:0}.status-item:not(:first-child){border-left:1px solid var(--border-light)}.status-label{font-size:var(--text-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.status-item strong{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.details-tabs{gap:var(--space-2xl);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-2xl);display:flex}.details-tab{padding:var(--space-md) 0;font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:relative}.details-tab:hover{color:var(--text-primary)}.details-tab.active{color:var(--primary)}.details-tab.active:after{content:"";background:var(--primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.details-grid{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:2fr 1fr;align-items:start;display:grid}.details-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-2xl)}.full-width-card{grid-column:1/-1}.details-card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light)}.details-card-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.documents-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.information-grid{gap:var(--space-xl) var(--space-2xl);grid-template-columns:repeat(2,1fr);display:grid}.information-grid.three-col{grid-template-columns:repeat(3,1fr)}.information-item{gap:var(--space-xs);flex-direction:column;display:flex}.information-item.full-width{grid-column:1/-1}.information-item span{font-size:var(--text-caption);color:var(--text-muted)}.information-item strong{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.information-item p{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0;line-height:1.5}.timeline-details{gap:var(--space-lg);flex-direction:column;display:flex}.timeline-detail-item{align-items:center;gap:var(--space-md);display:flex}.timeline-icon{border-radius:var(--radius-md);background:var(--primary-light);width:40px;min-width:40px;height:40px;color:var(--primary);font-size:var(--text-heading-3);justify-content:center;align-items:center;display:flex}.timeline-detail-item>div{gap:var(--space-xs);flex-direction:column;display:flex}.timeline-detail-item span{font-size:var(--text-caption);color:var(--text-muted)}.timeline-detail-item strong{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.table-document{align-items:center;gap:var(--space-md);display:flex}.document-file-icon{font-size:var(--text-heading-3)}.file-icon-pptx{color:var(--warning)}.file-icon-default{color:var(--text-muted)}.table-manager{font-size:var(--text-body);color:var(--text-primary)}.type-badge{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:var(--weight-bold);align-items:center;display:inline-flex}.type-pdf{background:var(--danger-light);color:var(--danger)}.type-docx{background:var(--info-light);color:var(--info)}.type-xlsx{background:var(--success-light);color:var(--success)}.type-pptx{background:var(--warning-light);color:var(--warning)}.type-file{background:var(--border-light);color:var(--text-secondary)}.type-technical{color:#1d4ed8;background:#dbeafe}.type-contract{color:#166534;background:#dcfce7}.type-proposal{color:#7e22ce;background:#f3e8ff}.type-schedule{color:#92400e;background:#fef3c7}.type-bidding{color:#c2410c;background:#ffedd5}.type-other{color:#4b5563;background:#f3f4f6}.action-download{color:var(--primary-dark)}.action-download:hover{background:var(--primary-light)}.action-delete{color:var(--danger)}.action-delete:hover{background:var(--danger-light)}.table-document-description{font-size:12px;line-height:1.4}.btn-upload{align-items:center;gap:var(--space-sm);height:40px;padding:0 var(--space-xl);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:none;display:inline-flex}.btn-upload:hover{background:var(--primary-dark)}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.upload-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;padding:var(--space-2xl);overflow-y:auto}.modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.modal-header h2{margin:0 0 var(--space-xs);font-size:var(--text-heading-1);font-weight:var(--weight-bold);color:var(--text-primary)}.modal-header p{font-size:var(--text-label);color:var(--text-secondary);margin:0}.close-modal{border-radius:var(--radius-sm);background:var(--border-light);width:32px;min-width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.close-modal:hover{background:var(--border);color:var(--text-primary)}.close-modal:disabled{opacity:.5;cursor:not-allowed}.form-error{background:var(--danger-light);color:var(--danger);font-size:var(--text-label);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.upload-dropzone{text-align:center;align-items:center;gap:var(--space-xs);border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-2xl) var(--space-xl);margin-bottom:var(--space-lg);flex-direction:column;min-width:0;display:flex}.upload-dropzone.has-selected-file{padding:var(--space-md);border-style:solid;justify-content:center;align-items:stretch}.upload-dropzone .upload-dropzone-icon{font-size:var(--text-metric-small);color:var(--primary);margin-bottom:var(--space-sm)}.upload-dropzone h3{font-size:var(--text-heading-3);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.upload-dropzone p{font-size:var(--text-caption);color:var(--text-muted);margin:0 0 var(--space-md)}.upload-dropzone input[type=file]{display:none}.upload-button{min-height:38px;padding:0 var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;justify-content:center;align-items:center;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.upload-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.upload-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.visually-hidden-upload-label{display:none!important}.uploaded-file-name{margin-top:var(--space-md);font-size:var(--text-label);color:var(--text-secondary)}.selected-upload-file{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;min-width:0;margin-top:0;display:flex}.selected-upload-file .uploaded-file-name{align-items:center;gap:var(--space-sm);text-align:left;overflow-wrap:anywhere;min-width:0;margin-top:0;display:flex}.selected-upload-file .uploaded-file-name>i{font-size:var(--text-body-large);color:var(--primary);flex-shrink:0;margin:0}.selected-upload-file-name{overflow-wrap:anywhere;min-width:0}.selected-upload-file-size{color:var(--text-muted);white-space:nowrap;flex-shrink:0}.remove-upload-file-button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;line-height:1;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.remove-upload-file-button:hover{color:#dc2626;background-color:#fef2f2;border-color:#dc2626}.remove-upload-file-button:focus-visible{outline-offset:2px;outline:2px solid #dc2626}.remove-upload-file-button:disabled{opacity:.5;cursor:not-allowed}.remove-upload-file-button i{margin:0;padding:0;font-size:12px;line-height:1;display:block}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-md);margin-top:var(--space-sm);display:flex}.contract-empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);flex-direction:column;align-items:center;display:flex}.contract-empty-state i{font-size:var(--text-metric-medium);color:var(--warning);margin-bottom:var(--space-md)}.contract-empty-state h3{margin:0 0 var(--space-sm);font-size:var(--text-heading-1);color:var(--text-primary)}.contract-empty-state p{margin:0 0 var(--space-xs);color:var(--text-secondary)}.contract-empty-actions{gap:var(--space-md);margin-top:var(--space-lg);display:flex}.contract-declined{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-xl);display:flex}.contract-declined span{color:var(--text-secondary)}.contract-form{gap:var(--space-xl);flex-direction:column;display:flex}.form-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.ld-checkbox-row{align-items:center;gap:var(--space-sm);font-size:var(--text-body);color:var(--text-primary);cursor:pointer;display:flex}.ld-note{gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-md);background:var(--info-light);display:flex}.ld-note i{color:var(--info);font-size:var(--text-heading-3)}.ld-note p{color:var(--text-secondary);font-size:var(--text-body);margin:0}.contract-summary .information-grid{grid-template-columns:repeat(3,1fr)}.tab-stack{gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-direction:column;display:flex}.team-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.team-member-item{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);display:flex}.team-member-item:hover{background:var(--surface-hover)}.team-member-avatar{background:var(--primary);width:40px;height:40px;color:var(--text-white);border-radius:50%;justify-content:center;align-items:center;display:flex}.team-member-info{flex-direction:column;gap:2px;display:flex}.team-member-info strong{color:var(--text-primary);font-size:var(--text-body)}.team-member-info span{color:var(--text-muted);font-size:var(--text-caption)}.team-toolbar{align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.team-role-select{height:36px;padding:0 var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-caption);color:var(--text-primary);cursor:pointer}.employee-action-danger:hover{background:var(--danger-light);color:var(--danger)}.documents-total-size{color:var(--text-secondary);font-size:var(--text-caption);margin:4px 0 0}.documents-total-size strong{color:var(--text-primary)}.project-state-banner{margin-bottom:var(--space-lg);border:1px solid var(--border);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-label);border-radius:10px;align-items:center;gap:10px;padding:12px 16px;display:flex}.project-state-banner.cancelled{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.information-item label{color:var(--text-muted);font-size:var(--text-caption)}.project-priority-select{width:100%;max-width:220px;height:38px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer}.project-priority-select:focus{border-color:var(--primary);outline:none}.project-priority-message{font-size:var(--text-caption)}.project-priority-message.success{color:var(--success)}.project-priority-message.error{color:var(--danger)}.project-team-page{color:var(--text-primary)}.employee-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-2xl);margin-bottom:var(--space-xl)}.state-message{padding:var(--space-3xl) 0;text-align:center;color:var(--text-muted);font-size:var(--text-body-large)}.state-error{color:var(--danger)}.employee-toolbar{align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.employee-search{align-items:center;gap:var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--space-lg);flex:1;min-width:240px;max-width:380px;height:44px;display:flex}.employee-search i{color:var(--text-muted)}.employee-search input[type=search]{font-size:var(--text-body);appearance:none;background:0 0;border:none;outline:none;flex:1}.employee-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.employee-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.employee-search input[type=search]::-webkit-search-results-button{-webkit-appearance:none}.employee-search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.employee-filter-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.employee-filter-group select{height:44px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body);color:var(--text-primary);cursor:pointer;min-width:150px}.btn-add-employee{align-items:center;gap:var(--space-sm);height:44px;padding:0 var(--space-xl);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:none;margin-left:auto;display:inline-flex}.btn-add-employee:hover{background:var(--primary-dark)}.employee-list-heading{margin-bottom:var(--space-lg)}.employee-list-heading h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.employee-list-table{border-collapse:collapse;width:100%}.employee-list-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);white-space:nowrap}.employee-list-table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);vertical-align:middle;font-size:var(--text-body);color:var(--text-primary)}.employee-list-table tbody tr:hover{background:var(--surface-hover)}.employee-list-table tbody tr:last-child td{border-bottom:none}.employee-row-identity{align-items:center;gap:var(--space-md);display:flex}.employee-row-avatar{background:var(--primary-light);width:40px;min-width:40px;height:40px;color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}.employee-row-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.employee-row-identity strong{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);display:block}.employee-row-identity span{font-size:var(--text-caption);color:var(--text-muted)}.employee-workload{align-items:center;gap:var(--space-sm);min-width:120px;display:flex}.employee-workload-bar{background:var(--border-light);border-radius:999px;flex:1;height:6px;overflow:hidden}.employee-workload-bar div{background:var(--primary);height:100%}.employee-workload span{font-size:var(--text-caption);color:var(--text-secondary);white-space:nowrap}.employee-status{padding:var(--space-xs) var(--space-sm);font-size:var(--text-caption);font-weight:var(--weight-semibold);border-radius:999px;align-items:center;display:inline-flex}.employee-status.success{background:var(--success-light);color:var(--success)}.employee-status.danger{background:var(--danger-light);color:var(--danger)}.employee-status.warning{background:var(--warning-light);color:var(--warning)}.employee-status.neutral{background:var(--border-light);color:var(--text-secondary)}.employee-status span,.active-status span{width:6px;height:6px;margin-right:var(--space-xs);background:currentColor;border-radius:50%;display:inline-block}.employee-row-actions{align-items:center;gap:var(--space-sm);display:flex}.employee-action-button{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:flex}.employee-action-button:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-overlay{z-index:999;background:#1c231d80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.team-modal{background:var(--surface);border-radius:var(--radius-lg);width:min(900px,92vw);max-height:88vh;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.modal-header h2{margin:0 0 var(--space-xs);font-size:var(--text-heading-1);color:var(--text-primary)}.modal-header p{color:var(--text-secondary);font-size:var(--text-label);margin:0}.close-modal{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-heading-3);background:0 0;border:none}.modal-content{padding:0 var(--space-xl);min-height:0}.employee-selection-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.employee-selection-header div{align-items:center;gap:var(--space-md);display:flex}.employee-selection-header strong{font-size:var(--text-body);color:var(--text-primary)}.employee-selection-header span{background:var(--border-light);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);font-size:var(--text-caption);border-radius:999px}.employee-selection-header button{color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none}.employee-selection-table-wrapper{border:1px solid var(--border-light);border-radius:var(--radius-md);max-height:390px;overflow:auto}.employee-selection-table{border-collapse:collapse;width:100%;min-width:700px}.employee-selection-table th{z-index:2;background:var(--background);color:var(--text-secondary);font-size:var(--text-label);text-align:left;padding:var(--space-md);border-bottom:1px solid var(--border-light);position:sticky;top:0}.employee-selection-table td{padding:var(--space-md);border-bottom:1px solid var(--border-light);font-size:var(--text-caption);cursor:pointer}.employee-selection-table tr:hover{background:var(--surface-hover)}.employee-selection-table tr.employee-selected{background:var(--primary-light)}.employee-selection-table input{cursor:pointer}.modal-employee{align-items:center;gap:var(--space-sm);display:flex}.modal-avatar{background:var(--primary-light);width:32px;height:32px;color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.modal-employee div:last-child{flex-direction:column;gap:2px;display:flex}.modal-employee strong{font-size:var(--text-caption);color:var(--text-primary)}.modal-employee small{color:var(--text-muted);font-size:var(--text-caption)}.active-status{color:var(--success);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.project-limit-status{color:var(--danger);font-weight:var(--weight-semibold);font-size:var(--text-caption)}.project-limit-status>span{background-color:var(--danger)}.employee-limit-reached{opacity:.6}.modal-footer{padding:var(--space-lg) var(--space-xl);margin-top:var(--space-md);border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.modal-footer>span{color:var(--text-secondary);font-size:var(--text-caption)}.modal-footer div{gap:var(--space-sm);display:flex}.cancel-btn,.assign-btn{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer}.cancel-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.assign-btn{background:var(--primary);color:var(--text-white);border:none}.assign-btn:hover:not(:disabled){background:var(--primary-dark)}.assign-btn:disabled{background:var(--border-light);color:var(--text-muted);cursor:not-allowed}.assign-btn i{margin-right:var(--space-xs)}@media (width<=700px){.employee-toolbar{flex-direction:column;align-items:stretch}.employee-search{max-width:none}.btn-add-employee{margin-left:0}.team-modal{width:95vw}}.employee-search-group{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.employee-toolbar{flex-wrap:nowrap}.employee-toolbar .employee-search{flex:0 330px;width:330px;min-width:0}.employee-search-group{flex-wrap:nowrap;flex:0 auto}.employee-filter-row{flex-wrap:nowrap}.employee-filter-group select{width:100%;min-width:0}.employee-search-group .employee-filter-group{width:210px}.employee-filter-row .employee-filter-group{width:170px}@media (width<=1100px){.employee-toolbar,.employee-search-group,.employee-filter-row{flex-wrap:wrap}}.team-modal-toolbar{margin-bottom:var(--space-md)}.team-modal-toolbar .employee-filter-group{gap:var(--space-sm);display:flex}.employee-selection-header .team-count-note{color:var(--text-muted);font-size:var(--text-caption);display:block}.team-count-low{color:var(--danger)!important}.employee-selection-table tr.employee-disabled{opacity:.45;cursor:not-allowed}.employee-selection-table tr.employee-disabled:hover{background:0 0}.modal-footer .assign-btn:disabled{opacity:.5;cursor:not-allowed}.ppc-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.ppc-toolbar p{font-size:var(--text-label);color:var(--text-secondary);margin:0}.ppc-year{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-secondary);align-items:center;gap:8px;display:flex}.ppc-year select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);height:38px;font-size:var(--text-label);color:var(--text-primary);padding:0 12px}.ppc-summary{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.ppc-chip{font-size:var(--text-label);font-weight:var(--weight-bold);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.ppc-chip-good{background:var(--success-light);color:var(--success)}.ppc-chip-bad{background:var(--danger-light);color:var(--danger)}.ppc-empty{padding:var(--space-2xl);text-align:center;color:var(--text-muted);font-size:var(--text-body)}.ppc-scroll{width:100%;overflow-x:auto}.ppc-canvas{height:360px;position:relative}.ppc-canvas-short{height:300px}.ppc-chip-neutral{background:var(--border-light);color:var(--text-secondary)}.ppc-chip-warn{background:var(--accent-light);color:#c2410c}.ppc-staff .ppc-summary{gap:var(--space-sm);margin:0 0 var(--space-md);flex-wrap:wrap;display:flex}.ppc-note{margin:var(--space-sm) 0 0;color:var(--text-muted);font-size:var(--text-caption)}.ppc-section-heading h3{color:#1f2937;margin:0;font-size:15px;font-weight:600}.ppc-progress-heading{margin-top:28px}.ppc-progress-list{flex-direction:column;gap:18px;margin-top:16px;display:flex}.ppc-progress-row{grid-template-columns:minmax(130px,1fr) minmax(100px,2fr) 44px;align-items:center;gap:14px;display:grid}.ppc-progress-info{flex-direction:column;gap:4px;min-width:0;display:flex}.ppc-progress-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ppc-progress-count{color:#6b7280;font-size:11px}.ppc-progress-track{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.ppc-progress-fill{border-radius:inherit;background:#2563eb;height:100%;transition:width .25s}.ppc-progress-percent{color:#1f2937;text-align:right;font-size:13px;font-weight:600}.ppc-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px;display:grid}.ppc-summary-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:12px;display:flex}.ppc-summary-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.ppc-summary-label{color:#6b7280;flex:1;font-size:12px}.ppc-summary-item strong{color:#111827;font-size:18px}.ppc-section-heading{margin:22px 0 12px}.ppc-section-heading h3,.ppc-breakdown h3{color:#1f2937;margin:0;font-size:15px;font-weight:600}.ppc-section-heading p{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.5}.ppc-breakdown{margin-top:26px}.ppc-breakdown-table-wrap{width:100%;margin-top:12px;overflow-x:auto}.ppc-breakdown-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.ppc-breakdown-table th,.ppc-breakdown-table td{white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:12px 14px}.ppc-breakdown-table thead th{color:#6b7280;background:#f9fafb;font-weight:600}.ppc-breakdown-table tbody td{color:#374151}.ppc-breakdown-table tfoot th{color:#111827;background:#f9fafb;font-weight:700}.ppc-project-cell{text-overflow:ellipsis;max-width:240px;overflow:hidden}.ppc-unclassified-note{color:#92400e;margin-top:12px;font-size:12px;line-height:1.5}@media (width<=700px){.ppc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.ppc-progress-row{grid-template-columns:minmax(100px,1fr) minmax(65px,1.2fr) 38px;gap:8px}}.ppc-filters{align-items:center;gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.ppc-filter-project{align-items:center;gap:8px;min-width:0;display:flex}.ppc-filter-label{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-secondary)}.ppc-clear,.ppc-link,.ppc-view-all{color:var(--primary-dark);font:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.ppc-clear:hover,.ppc-link:hover,.ppc-view-all:hover{text-decoration:underline}.ppc-footer{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-sm);display:flex}.ppc-footer .ppc-note{margin:0}.ppc-view-all{border:1px solid var(--border);border-radius:var(--radius-md);flex:none;padding:6px 12px}.ppc-history{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.ppc-history-search{max-width:360px;height:38px;margin-bottom:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);align-items:center;gap:8px;padding:0 12px;display:flex}.ppc-history-search input{min-width:0;font:inherit;font-size:var(--text-label);color:var(--text-primary);background:0 0;border:0;outline:none;flex:1}.ppc-table-wrap{overflow-x:auto}.ppc-table tbody tr{cursor:default}.ppc-table td{vertical-align:top}.ppc-table td small{color:var(--text-muted);font-size:var(--text-caption);margin-top:2px;display:block}.ppc-staff .ppc-table td:nth-child(3),.ppc-staff .ppc-table td:nth-child(4),.ppc-nowrap{white-space:nowrap}.ppc-result{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text-primary);align-items:center;gap:6px;display:inline-flex}.ppc-result:before{content:"";background:var(--ppc-result);border-radius:50%;width:9px;height:9px}.ppc-pagination{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-sm);font-size:var(--text-label);color:var(--text-secondary);display:flex}.ppc-pagination>div{align-items:center;gap:var(--space-sm);display:flex}.ppc-pagination button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;place-items:center;display:grid}.ppc-pagination button:disabled{opacity:.45;cursor:not-allowed}@media (width<=640px){.ppc-footer{flex-direction:column}}.employee-details{flex-direction:column;display:flex}.back-to-employees-link{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);text-decoration:none;display:inline-flex}.back-to-employees-link:hover{text-decoration:underline}.employee-header{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl) var(--space-2xl);margin-bottom:var(--space-2xl);justify-content:space-between;align-items:center;display:flex}.employee-header-left{align-items:center;gap:var(--space-lg);display:flex}.employee-header-avatar{background:var(--primary-light);width:64px;height:64px;color:var(--primary-dark);font-size:var(--text-heading-1);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.employee-header-avatar img{object-fit:cover;width:100%;height:100%}.employee-header-name-row{align-items:center;gap:var(--space-md);display:flex}.employee-header-name-row h1{font-size:var(--text-heading-1);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.employee-active-badge{padding:var(--space-xs) var(--space-md);background:var(--success-light);color:var(--success);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;gap:6px;display:inline-flex}.employee-active-badge span{background:currentColor;border-radius:50%;width:6px;height:6px}.employee-active-badge.unavailable{background:var(--danger-light);color:var(--danger)}.employee-availability-field label{font-size:var(--text-caption);color:var(--text-muted)}.employee-availability-field select{max-width:220px;height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--surface);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold)}.employee-availability-field select:focus{border-color:var(--primary);outline:none}.employee-availability-field small{color:var(--text-secondary);font-size:var(--text-caption)}.employee-availability-message.success{color:var(--success)}.employee-availability-message.error{color:var(--danger)}.employee-header-role{margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:var(--text-body)}.employee-header-right{gap:var(--space-2xl);display:flex}.employee-header-stat{gap:var(--space-xs);text-align:right;flex-direction:column;display:flex}.employee-header-stat span{font-size:var(--text-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.employee-header-stat strong{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.employee-detail-sections{gap:var(--space-xl);grid-template-columns:1fr 1fr;grid-template-areas:"personal performance""tasks tasks";align-items:start;display:grid}.employee-card-personal{grid-area:personal}.employee-card-performance{grid-area:performance}.employee-card-tasks{grid-area:tasks}@media (width<=1100px){.employee-detail-sections{grid-template-columns:1fr;grid-template-areas:"personal""performance""tasks"}}.employee-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-2xl)}.employee-card-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light)}.employee-card-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.employee-info-grid{gap:var(--space-xl) var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.employee-info-item{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.employee-info-item span{font-size:var(--text-caption);color:var(--text-muted)}.employee-info-item strong{overflow-wrap:anywhere;font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.employee-table-wrapper{overflow-x:auto}.employee-table{border-collapse:collapse;width:100%}.employee-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light)}.employee-table td{padding:var(--space-xl);border-bottom:1px solid var(--border-light);vertical-align:middle}.employee-table tbody tr:last-child td{border-bottom:none}.task-name-cell{flex-direction:column;gap:2px;display:flex}.task-name-cell strong{color:var(--text-primary);font-size:var(--text-body-large);font-weight:var(--weight-semibold)}.task-name-cell span{color:var(--text-muted);font-size:var(--text-caption)}.task-badge{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;display:inline-flex}.task-badge-completed{background:var(--success-light);color:var(--success)}.task-badge-progress{background:var(--info-light);color:var(--info)}.task-badge-delayed{background:var(--danger-light);color:var(--danger)}.task-badge-pending{background:var(--warning-light);color:var(--warning)}.table-state{padding:var(--space-2xl);text-align:center;color:var(--text-muted);font-size:var(--text-body)}.list-pagination{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xl);margin-top:var(--space-lg);border-top:1px solid var(--border-light);font-size:var(--text-body);color:var(--text-secondary);flex-wrap:wrap;display:flex}.list-pagination-arrow,.list-pagination-page{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-body);cursor:pointer;justify-content:center;align-items:center;display:flex}.list-pagination-page.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-white)}.performance-layout{align-items:center;gap:var(--space-3xl);flex-wrap:wrap;display:flex}.performance-ring-wrapper{flex-shrink:0;width:180px;height:180px;position:relative}.performance-ring{width:100%;height:100%;transform:rotate(-90deg)}.performance-ring-track{fill:none;stroke:var(--border-light);stroke-width:10px}.performance-ring-fill{fill:none;stroke:var(--success);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .4s}.performance-ring-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.performance-ring-label strong{font-size:var(--text-metric-large);font-weight:var(--weight-bold);color:var(--text-primary)}.performance-ring-label span{font-size:var(--text-caption);color:var(--text-muted)}.performance-ring-label em{font-style:normal;font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--success)}.performance-stats{gap:var(--space-lg);flex-direction:column;flex:1;min-width:220px;display:flex}.performance-stat-row{align-items:center;gap:var(--space-sm);font-size:var(--text-body);color:var(--text-secondary);display:flex}.performance-stat-row strong{color:var(--text-primary);font-size:var(--text-body-large);font-weight:var(--weight-bold);margin-left:auto}.performance-dot{border-radius:50%;width:10px;height:10px}.dot-success{background:var(--success)}.dot-info{background:var(--info)}.dot-danger{background:var(--danger)}.dot-primary{background:var(--primary)}.performance-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.performance-chart-block h3{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 10px}.performance-chart-block h3 em{color:var(--primary-dark);font-style:normal}.performance-chart-canvas{height:240px;position:relative}@media (width<=800px){.performance-charts{grid-template-columns:1fr}}.employee-tabs{border:1px solid var(--border);background:#fff;border-radius:12px;gap:6px;width:fit-content;max-width:100%;margin-bottom:20px;padding:6px;display:flex;overflow-x:auto}.employee-tabs button{color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.employee-tabs button:hover{background:var(--primary-light)}.employee-tabs button.active{background:var(--primary);color:#fff}.performance-status-chart{border-top:1px solid var(--border-light);margin-top:24px;padding-top:20px}.employee-detail-sections{display:block}.employee-detail-sections>.employee-card{width:100%;max-width:none}.employee-card-header p{font-size:var(--text-label);color:var(--text-secondary);margin:4px 0 0}.employee-card-personal .employee-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.employee-card-personal .employee-info-item{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-hover);gap:4px;padding:14px 16px}.employee-card-personal .employee-info-item span{text-transform:uppercase;letter-spacing:.03em}@media (width<=1100px){.employee-card-personal .employee-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.employee-card-personal .employee-info-grid{grid-template-columns:1fr}}.task-assignment{color:var(--text-primary)}.list-state-message{min-height:44px;color:var(--text-muted);font-size:var(--text-label);align-items:center;display:flex}.task-workspace{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.workspace-toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);flex-wrap:wrap;display:flex}.workspace-project-picker{flex-direction:column;flex:none;gap:2px;display:flex}.workspace-project-picker label{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-secondary);margin-bottom:4px}.workspace-project-picker>select{width:100%;min-width:440px;height:48px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);cursor:pointer;outline:none}.workspace-project-picker>select:focus{border-color:var(--text-primary)}.create-task-button{align-items:center;gap:var(--space-sm);height:40px;padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:none;transition:background-color .2s;display:inline-flex}.create-task-button:hover:not(:disabled){background:var(--primary-dark)}.create-task-button:disabled{opacity:.5;cursor:not-allowed}.selected-project-info{align-items:center;gap:var(--space-lg);padding:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--border-light);display:flex}.project-folder-icon{border-radius:var(--radius-md);background:var(--primary-light);width:42px;height:42px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.selected-project-info>div{flex-direction:column;display:flex}.selected-project-info span{font-size:var(--text-label);color:var(--text-muted);font-weight:var(--weight-semibold)}.selected-project-info p{font-size:var(--text-body);color:var(--text-secondary);margin:2px 0 0}.workspace-filters{align-items:flex-end;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-wrap:wrap;display:flex}.workspace-search{align-items:center;gap:var(--space-md);background:var(--background);border-radius:var(--radius-md);padding:0 var(--space-lg);flex:1;min-width:220px;height:40px;display:flex}.workspace-search i{color:var(--text-muted)}.workspace-search input{font-size:var(--text-body);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.task-filter-group{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.task-filter-group span{font-size:var(--text-caption);color:var(--text-muted)}.task-filter-group select{min-width:150px;height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-label);cursor:pointer;outline:none}.no-project-state{text-align:center;min-height:62vh;padding:var(--space-3xl) var(--space-2xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.no-project-icon{width:128px;height:128px;margin-bottom:var(--space-2xl);background:var(--primary-light);color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:52px;display:flex;position:relative}.no-project-icon-badge{background:var(--primary);width:48px;height:48px;color:var(--text-white);font-size:var(--text-heading-3);border:4px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-6px;right:-6px}.no-project-state h2{margin:0 0 var(--space-md);font-size:var(--text-page-title);font-weight:var(--weight-bold);color:var(--text-primary)}.no-project-state>p{margin:0 0 var(--space-3xl);max-width:520px;color:var(--text-secondary);font-size:var(--text-body-large);line-height:1.5}.no-project-feature-grid{gap:var(--space-xl);grid-template-columns:repeat(4,1fr);width:100%;max-width:1080px;display:grid}.no-project-feature{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);border:none;flex-direction:column;display:flex}.no-project-feature i{margin-bottom:var(--space-xs);color:var(--primary);font-size:var(--text-metric-small)}.no-project-feature strong{font-size:var(--text-body-large);font-weight:var(--weight-bold);color:var(--text-primary)}.no-project-feature span{font-size:var(--text-label);color:var(--text-muted);line-height:1.5}@media (width<=900px){.no-project-feature-grid{grid-template-columns:1fr 1fr}}.board-state-message{min-height:100px;margin:var(--space-lg) var(--space-2xl);color:var(--text-muted);font-size:var(--text-label);justify-content:center;align-items:center;display:flex}.board-state-error{color:var(--danger)}.phase-task-row{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-sm);grid-template-columns:2.4fr 1.4fr .9fr 1fr 1.1fr;display:grid}.phase-task-row-head{padding:var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-light)}.phase-group{margin-top:var(--space-xl)}.phase-group-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.phase-group-header h3{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em;margin:0}.phase-progress-label{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text-secondary)}.phase-progress-bar{background:var(--border-light);width:100%;height:6px;margin-bottom:var(--space-sm);border-radius:999px;overflow:hidden}.phase-progress-fill{background:var(--success);border-radius:999px;height:100%;transition:width .2s}.phase-group .phase-task-row{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);margin-bottom:var(--space-sm);cursor:pointer;transition:background-color .15s}.task-preview-button{border-radius:var(--radius-sm);background:var(--primary-light);width:32px;height:32px;color:var(--primary);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.task-preview-button:hover{background:var(--primary);color:var(--text-white)}.phase-group .phase-task-row:hover{background:var(--surface-hover)}.task-name-cell{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.assignee-cell{align-items:center;gap:var(--space-sm);font-size:var(--text-label);color:var(--text-secondary);display:flex}.phase-empty-row{border:1px dashed var(--border);border-radius:var(--radius-md);min-height:60px;color:var(--text-muted);font-size:var(--text-label);margin-bottom:var(--space-sm);justify-content:center;align-items:center;display:flex}.employee-avatar{background:var(--primary-light);width:26px;height:26px;color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.priority{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.02em;display:inline-flex}.priority.low{background:var(--border-light);color:var(--text-secondary)}.priority.medium{background:var(--warning-light);color:var(--warning)}.priority.high{background:var(--danger-light);color:var(--danger)}.priority.critical{background:var(--danger);color:var(--text-white)}.status-chip{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;display:inline-flex}.status-chip.assigned{background:var(--border-light);color:var(--text-secondary)}.status-chip.in-progress{background:var(--info-light);color:var(--info)}.status-chip.for-review{background:var(--warning-light);color:var(--warning)}.status-chip.completed{background:var(--success-light);color:var(--success)}.status-chip.delayed{background:var(--danger-light);color:var(--danger)}.status-chip.cancelled{background:var(--border-light);color:var(--text-muted)}.task-summary{gap:var(--space-lg);padding:0 0 var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.task-summary-item{align-items:center;gap:var(--space-lg);padding:var(--space-xl) var(--space-2xl);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface);min-height:104px;box-shadow:var(--shadow-sm);display:flex}.task-summary-icon{border-radius:var(--radius-md);width:52px;min-width:52px;height:52px;font-size:var(--text-heading-3);justify-content:center;align-items:center;display:flex}.task-summary-item strong{color:var(--text-primary);font-size:34px;font-weight:800;line-height:1.1;display:block}.task-summary-item div>span{font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--text-secondary);margin-top:2px;display:block}.task-summary-item.tone-info .task-summary-icon{background:var(--info-light);color:var(--info)}.task-summary-item.tone-muted .task-summary-icon{background:var(--border-light);color:var(--text-secondary)}.task-summary-item.tone-primary .task-summary-icon{background:var(--primary-light);color:var(--primary)}.task-summary-item.tone-warning .task-summary-icon{background:var(--warning-light);color:var(--warning)}.task-summary-item.tone-success .task-summary-icon{background:var(--success-light);color:var(--success)}.task-summary-item.tone-danger .task-summary-icon{background:var(--danger-light);color:var(--danger)}.phase-task-list{padding:0 var(--space-xl) var(--space-xl)}.phase-task-row-head{margin:0 calc(var(--space-lg) + 1px) var(--space-sm);padding:var(--space-md) var(--space-sm) var(--space-md) calc(var(--space-sm) + 4px);border-radius:var(--radius-md);background:var(--background);border:none}.phase-group{margin-top:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--background)}.phase-group-header{margin-bottom:var(--space-md)}.phase-group-title{align-items:center;gap:var(--space-md);display:flex}.phase-number{background:var(--primary);width:28px;height:28px;color:var(--text-white);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}.phase-task-count{padding:2px var(--space-md);background:var(--surface);border:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);border-radius:999px}.phase-progress-label{padding:2px var(--space-md);background:var(--surface);border:1px solid var(--border-light);font-size:var(--text-caption);border-radius:999px}.phase-progress-label.is-complete{background:var(--success-light);border-color:var(--success-light);color:var(--success)}.phase-progress-bar{height:8px;margin-bottom:var(--space-md);background:var(--border)}.phase-progress-fill{background:linear-gradient(90deg, var(--primary), var(--success))}.phase-group .phase-task-row{border-left:4px solid var(--border);transition:transform .15s,box-shadow .15s}.phase-group .phase-task-row:hover{background:var(--surface);transform:translateY(-1px);box-shadow:0 4px 12px #1018281a}.phase-group .phase-task-row.accent-in-progress{border-left-color:var(--info)}.phase-group .phase-task-row.accent-for-review{border-left-color:var(--warning)}.phase-group .phase-task-row.accent-completed{border-left-color:var(--success)}.phase-group .phase-task-row.accent-delayed{border-left-color:var(--danger)}.phase-group .phase-task-row.accent-cancelled{border-left-color:var(--text-muted);opacity:.7}.phase-group .phase-empty-row{background:var(--surface)}.due-date-cell{align-items:center;gap:var(--space-xs) var(--space-sm);font-size:var(--text-label);color:var(--text-secondary);flex-wrap:wrap;display:flex}.due-date-cell i{color:var(--text-muted)}.due-date-cell small{padding:1px var(--space-sm);border-radius:var(--radius-sm);background:var(--danger-light);color:var(--danger);font-size:var(--text-caption);font-weight:var(--weight-bold)}.due-date-cell.is-overdue,.due-date-cell.is-overdue i{color:var(--danger)}@media (width<=1100px){.task-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-overlay{padding:var(--space-xl);z-index:999;background:#1c231d80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.task-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:620px;max-height:88vh;box-shadow:var(--shadow-sm);overflow-y:auto}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;display:flex}.modal-header span{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-muted)}.modal-header h2{font-size:var(--text-heading-1);color:var(--text-primary);margin:3px 0 0}.modal-header button{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-heading-3);background:0 0;border:none}.modal-header button:hover{color:var(--text-primary)}.task-modal form{padding:var(--space-xl)}.form-error{margin:0 0 var(--space-lg);padding:var(--space-md);border-radius:var(--radius-sm);background:var(--danger-light);color:var(--danger);font-size:var(--text-label);font-weight:var(--weight-semibold)}.form-group{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.form-group label{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;width:100%;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-body-large);outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text-primary)}.form-group input[readonly],.form-group [aria-readonly=true]{background:var(--surface-hover);color:var(--text-secondary);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:90px}.form-row{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.modal-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-lg) var(--space-xl) var(--space-xl);border-top:1px solid var(--border-light);display:flex}.cancel-button,.save-task-button,.approve-button{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;display:flex}.cancel-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.cancel-button:hover{background:var(--surface-hover)}.save-task-button{background:var(--primary);color:var(--text-white);border:none}.save-task-button:hover:not(:disabled){background:var(--primary-dark)}.save-task-button:disabled,.approve-button:disabled{opacity:.6;cursor:not-allowed}.approve-button{background:var(--success);color:var(--text-white);border:none}.approve-button:hover:not(:disabled){opacity:.9}.detail-overlay{padding:var(--space-xl);z-index:999;background:#1c231d80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.task-detail-panel{border-radius:var(--radius-lg);background:var(--surface);width:100%;max-width:560px;max-height:88vh;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow-y:auto}.detail-panel-header{padding:var(--space-xl);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;display:flex}.detail-panel-header h2{margin:var(--space-sm) 0 0;font-size:var(--text-heading-1);color:var(--text-primary)}.detail-panel-subtitle{font-size:var(--text-label);color:var(--text-secondary);margin:2px 0 0}.detail-panel-header button{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-heading-3);background:0 0;border:none}.detail-panel-header button:hover{color:var(--text-primary)}.detail-panel-body{padding:var(--space-xl);flex:1}.detail-panel-body h3{margin:0 0 var(--space-md);font-size:var(--text-label);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.detail-panel-body h3:not(:first-child){margin-top:var(--space-2xl)}.detail-info-list{gap:var(--space-md);margin:0 0 var(--space-xl);flex-direction:column;display:flex}.detail-info-list dt{font-size:var(--text-caption);color:var(--text-muted);font-weight:var(--weight-medium);margin-bottom:2px}.detail-info-list dd{font-size:var(--text-body);color:var(--text-primary);margin:0}.detail-dates-row{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.detail-dates-row.three-col{grid-template-columns:1fr 1fr 1fr}.detail-dates-row>div{gap:var(--space-xs);flex-direction:column;display:flex}.detail-progress-cell{gap:var(--space-xs)}.detail-progress-bar{background:var(--border-light);border-radius:999px;width:100%;height:6px;margin-top:2px;overflow:hidden}.detail-progress-fill{background:var(--success);border-radius:999px;height:100%;transition:width .2s}.detail-label{font-size:var(--text-caption);color:var(--text-muted);font-weight:var(--weight-medium)}.detail-dates-row strong{font-size:var(--text-body);color:var(--text-primary)}.detail-assignee{align-items:center;gap:var(--space-md);display:flex}.detail-assignee div{flex-direction:column;display:flex}.detail-assignee strong{font-size:var(--text-body);color:var(--text-primary)}.detail-assignee span{font-size:var(--text-caption);color:var(--text-secondary)}.detail-evidence-state{font-size:var(--text-label);color:var(--text-muted);margin:0}.detail-evidence-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.detail-evidence-list li{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--background);display:flex}.detail-evidence-info{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.detail-evidence-info>i{color:var(--primary);font-size:var(--text-heading-3);flex-shrink:0}.detail-evidence-info>div{flex-direction:column;min-width:0;display:flex}.detail-evidence-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);overflow:hidden}.detail-evidence-list small{color:var(--text-muted);font-size:var(--text-caption);flex-shrink:0}.detail-evidence-actions{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.detail-evidence-action{border-radius:var(--radius-sm);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.detail-evidence-action:hover{background:var(--primary-light);color:var(--primary)}.detail-panel-actions{gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-light);display:flex}.detail-panel-actions button{flex:1;justify-content:center}@media (width<=900px){.phase-task-row{grid-template-columns:2fr 1.4fr .8fr}.phase-task-row-head span:nth-child(4),.phase-task-row-head span:nth-child(5),.phase-task-row span:nth-child(4),.phase-task-row span:nth-child(5){display:none}}@media (width<=800px){.workspace-toolbar{flex-direction:column;align-items:stretch}.workspace-project-picker{max-width:none}.create-task-button{justify-content:center}.workspace-search{flex:100%}.task-filter-group{flex:140px}}@media (width<=600px){.form-row{grid-template-columns:1fr;gap:0}.task-detail-panel{max-width:100%}}.workspace-filters{align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap}.workspace-filters .workspace-search{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);flex:none;width:360px;max-width:100%}.workspace-filters .workspace-search:focus-within{border-color:var(--primary)}.workspace-filters .task-filter-group{flex:none}.workspace-filters .task-filter-group select{width:auto;min-width:0;max-width:260px}@media (width<=800px){.workspace-filters .workspace-search{flex:100%;width:auto}}.phase-group.is-locked{opacity:.75}.phase-lock-chip{background:var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.workspace-filters .create-task-button{margin-left:auto}@media (width<=800px){.workspace-filters .create-task-button{flex:100%;justify-content:center;margin-left:0}}.task-assignment .task-modal{max-width:820px;max-height:92vh}.task-assignment .task-modal form{padding:var(--space-xl) var(--space-2xl) 0}.task-assignment .task-modal .form-group{margin-bottom:var(--space-lg)}.task-assignment .task-modal .form-group small{color:var(--text-muted);font-size:var(--text-caption);line-height:1.4}.task-assignment .task-modal .form-row{gap:var(--space-xl)}.task-assignment .task-modal .form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.task-assignment .task-modal .form-group textarea{min-height:84px}.task-assignment .task-modal .modal-actions{margin:var(--space-lg) calc(var(--space-2xl) * -1) 0;padding:var(--space-lg) var(--space-2xl);background:var(--surface);position:sticky;bottom:0}@media (width<=700px){.task-assignment .task-modal .form-row,.task-assignment .task-modal .form-row-3{grid-template-columns:1fr;gap:0}}.task-assignment .task-detail-panel{max-width:780px;max-height:92vh}.task-assignment .detail-panel-body{padding:var(--space-xl) var(--space-2xl)}.task-assignment .detail-info-list{gap:var(--space-lg) var(--space-2xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.task-assignment .detail-info-list>div:nth-child(5){grid-column:1/-1}.task-assignment .detail-panel-actions{padding:var(--space-lg) var(--space-2xl);background:var(--surface);flex-wrap:wrap;position:sticky;bottom:0}.task-assignment .detail-panel-actions button{white-space:nowrap;padding-left:var(--space-lg);padding-right:var(--space-lg);flex:auto}@media (width<=700px){.task-assignment .detail-info-list{grid-template-columns:1fr}}.task-assignment .return-modal-overlay{z-index:1100;padding:var(--space-xl);background:#1c231d80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.task-assignment .return-modal{gap:var(--space-lg);width:100%;max-width:560px;max-height:92vh;padding:var(--space-2xl);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow-y:auto}.task-assignment .return-modal h2{font-size:var(--text-heading-2);color:var(--text-primary);margin:0}.task-assignment .return-modal-task{margin:calc(var(--space-sm) * -1) 0 0;color:var(--text-secondary);font-size:var(--text-body)}.task-assignment .return-modal-field{gap:var(--space-sm);flex-direction:column;display:flex}.task-assignment .return-modal-label{color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-bold)}.task-assignment .return-progress-options{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.task-assignment .return-progress-options button{padding:var(--space-md) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer;flex-direction:column;align-items:center;gap:2px;font-family:inherit;display:flex}.task-assignment .return-progress-options button strong{font-size:var(--text-heading-3);font-weight:800}.task-assignment .return-progress-options button small{color:var(--text-muted);font-size:var(--text-caption)}.task-assignment .return-progress-options button:hover:not(:disabled){background:var(--surface-hover)}.task-assignment .return-progress-options button.active{border-color:var(--primary);background:var(--primary-light)}.task-assignment .return-progress-options button.active small{color:var(--primary-dark)}.task-assignment .return-modal-note{color:var(--text-muted);font-size:var(--text-caption);line-height:1.4}.task-assignment .return-modal textarea{box-sizing:border-box;width:100%;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-body);resize:vertical}.task-assignment .return-modal-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}@media (width<=500px){.task-assignment .return-progress-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.task-assignment .task-row-action,.task-assignment .task-row-action-head{justify-content:center;display:flex}.task-assignment .task-view-button{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.task-assignment .task-view-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}@media (width<=900px){.task-assignment .phase-task-row{grid-template-columns:2fr 1.4fr .8fr 64px}}.task-assignment .phase-group .phase-task-row{cursor:default}.task-assignment .phase-group .phase-task-row:hover{box-shadow:var(--shadow-sm);transform:none}.detail-revision-locked{color:var(--text-secondary);font-size:var(--text-caption);align-items:center;gap:6px;display:inline-flex}.return-modal-label .required-mark,.return-modal-required{color:var(--danger)}.return-modal-actions .save-task-button:disabled{opacity:.5;cursor:not-allowed}.task-workspace:has(.project-search-picker.is-open){overflow:visible}.task-assignment .task-summary-item>div>small{font-size:var(--text-caption);color:var(--text-muted);order:-1}.task-assignment .task-summary-item.is-indicator{border:1px dashed var(--danger-light);box-shadow:none}.due-date-cell small.is-late{background:var(--warning-light);color:#b45309}.phase-progress-label{align-items:center;gap:6px;display:inline-flex}.phase-progress-label.is-complete{cursor:help}.task-assignment .phase-task-row{grid-template-columns:2.4fr 1.4fr .9fr 1fr 1.1fr 168px}.task-assignment .task-row-action{justify-content:flex-end;gap:var(--space-sm)}.task-assignment .task-row-action-head{justify-content:flex-end;padding-right:4px}.task-assignment .task-review-button{height:34px;padding:0 var(--space-md);border-radius:var(--radius-md);background:var(--warning-light);color:#b45309;font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;border:none;align-items:center;gap:6px;display:inline-flex}.task-assignment .task-review-button:hover{background:var(--warning);color:var(--text-white)}@media (width<=900px){.task-assignment .phase-task-row{grid-template-columns:2fr 1.4fr .8fr 150px}}.task-overdue-toggle{align-items:center;gap:var(--space-sm);height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;display:inline-flex}.task-overdue-toggle:hover{border-color:var(--danger);color:var(--danger)}.task-overdue-toggle.is-active{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.task-overdue-toggle:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.task-overdue-note{color:var(--danger)}.task-overdue-clear{color:var(--primary-dark);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.phase-progress-label.is-locked{background:var(--border-light);border-color:var(--border);color:var(--text-secondary);cursor:help}.phase-empty-row .fa-lock{color:var(--text-muted);margin-right:4px}.task-board-area{gap:var(--space-md);padding:var(--space-lg) var(--space-xl) var(--space-xl);flex-direction:column;display:flex}.task-board-area .task-overdue-note{min-height:0;margin:0}@media (width<=700px){.task-board-area{padding:var(--space-md)}}.task-board{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;width:100%;min-width:0;display:grid}.task-board-column{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-hover);flex-direction:column;min-width:0;display:flex;overflow:hidden}.column-todo{border-top:3px solid var(--text-muted)}.column-in-progress{border-top:3px solid var(--info)}.column-in-review{border-top:3px solid var(--warning)}.column-completed{border-top:3px solid var(--success)}.task-board-column-header{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);background:var(--surface);font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-primary);display:flex}.task-board-column-header span{align-items:center;gap:var(--space-sm);min-width:0;display:inline-flex}.task-board-column-header span i{flex-shrink:0}.column-todo .task-board-column-header i{color:var(--text-muted)}.column-in-progress .task-board-column-header i{color:var(--info)}.column-in-review .task-board-column-header i{color:var(--warning)}.column-completed .task-board-column-header i{color:var(--success)}.task-board-column-header strong{text-align:center;min-width:22px;color:var(--text-secondary);font-size:var(--text-caption);flex-shrink:0}.task-board-column-list{gap:var(--space-sm);min-height:80px;padding:var(--space-sm);flex-direction:column;display:flex}.task-board-empty{min-height:70px;padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:var(--text-caption);justify-content:center;align-items:center;display:flex}.task-card{gap:var(--space-sm);box-sizing:border-box;width:100%;min-width:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.task-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 7px #10182814}.task-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.task-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);min-width:0;display:flex}.task-card-title{min-width:0;color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);overflow-wrap:anywhere;line-height:1.4}.task-card-revision-flag{background:var(--danger-light);color:var(--danger);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.task-card-revision-flag.working{background:var(--accent-light);color:var(--accent)}.task-card-project{min-width:0;color:var(--text-muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-card-footer{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;display:flex}.task-card-priority{border-radius:var(--radius-sm);width:fit-content;font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;padding:3px 9px;display:inline-flex}.task-card-priority.priority-low{background:var(--success-light);color:var(--success)}.task-card-priority.priority-medium{background:var(--warning-light);color:var(--warning)}.task-card-priority.priority-high,.task-card-priority.priority-critical{background:var(--danger-light);color:var(--danger)}.task-card-dates{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-md);min-width:0;padding-top:var(--space-xs);border-top:1px solid var(--border-light);color:var(--text-muted);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.task-card-dates strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.task-card-project{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.35;overflow:visible}.task-card-header{flex-direction:column;align-items:flex-start;gap:6px}.task-layout-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);gap:4px;margin-left:auto;padding:4px;display:inline-flex}.task-layout-toggle button{align-items:center;gap:var(--space-sm);height:36px;padding:0 var(--space-lg);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;display:inline-flex}.task-layout-toggle button:hover{background:var(--surface-hover)}.task-layout-toggle button.active{background:var(--primary);color:var(--text-white)}@media (width<=700px){.task-layout-toggle{width:100%;margin-left:0}.task-layout-toggle button{flex:1;justify-content:center}}.column-for-review{border-top:3px solid var(--warning)}.column-for-review .task-board-column-header i{color:var(--warning)}.task-card{position:relative}.task-card.is-draggable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.task-card.is-draggable .task-card-title{padding-right:20px}.task-card-grip{top:var(--space-md);right:var(--space-md);color:var(--text-muted);font-size:var(--text-caption);position:absolute}.task-card.is-drag-source{opacity:.35;border-style:dashed}.task-card.is-saving{opacity:.7;pointer-events:none}.kanban-ghost{z-index:2000;border-color:var(--primary);pointer-events:none;margin:0;transition:none;position:fixed;top:0;left:0;box-shadow:0 12px 28px #0f172a2e}body.kanban-dragging,body.kanban-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.task-board.is-dragging .task-board-column{transition:background-color .15s,box-shadow .15s}.task-board.is-dragging .task-board-column.drop-allowed{box-shadow:inset 0 0 0 2px var(--primary-light)}.task-board.is-dragging .task-board-column.drop-allowed.drop-over{background:var(--primary-light);box-shadow:inset 0 0 0 2px var(--primary)}.task-board.is-dragging .task-board-column.drop-blocked.drop-over{background:var(--danger-light);box-shadow:inset 0 0 0 2px var(--danger)}.task-board-drop-hint{left:50%;bottom:var(--space-xl);z-index:2001;align-items:flex-start;gap:var(--space-sm);box-sizing:border-box;width:max-content;max-width:min(520px,100vw - 32px);padding:var(--space-sm) var(--space-lg);border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--surface);color:var(--primary-dark);font-size:var(--text-label);font-weight:var(--weight-semibold);pointer-events:none;line-height:1.45;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0f172a29}.task-board-drop-hint i{margin-top:2px}.task-board-drop-hint.blocked{border-color:var(--danger);color:var(--danger)}.task-board-notice{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--success);border-radius:var(--radius-md);background:var(--success-light);color:var(--success);font-size:var(--text-label);line-height:1.5;display:flex}.task-board-notice.is-error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.task-board-notice>i{margin-top:3px}.task-board-notice span{flex:1;min-width:0}.task-board-notice-close{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px}.task-card-assignee{min-width:0;color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-medium);overflow-wrap:anywhere;align-items:center;gap:6px;display:inline-flex}.task-card-assignee .employee-avatar{width:22px;height:22px;font-size:10px}.task-card-dates .is-overdue strong{color:var(--danger)}.task-card-dates em{color:var(--warning);font-style:normal;font-weight:var(--weight-semibold)}@media (width<=1300px){.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.task-board{grid-template-columns:1fr}}@media (width<=450px){.task-board-column-header{padding-left:var(--space-md);padding-right:var(--space-md)}.task-board-column-list{padding:var(--space-xs)}.task-card{padding:var(--space-sm)}}.no-project-selected{min-height:52vh;margin-bottom:var(--space-xl);padding:var(--space-3xl) var(--space-2xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.no-project-selected-icon{width:128px;height:128px;margin-bottom:var(--space-2xl);background:var(--primary-light);color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:52px;display:flex;position:relative}.no-project-selected-badge{border:4px solid var(--surface);background:var(--primary);width:48px;height:48px;color:var(--text-white);font-size:var(--text-heading-3);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-6px;right:-6px}.no-project-selected h2{margin:0 0 var(--space-md);color:var(--text-primary);font-size:var(--text-page-title);font-weight:var(--weight-bold)}.no-project-selected>p{max-width:520px;margin:0 0 var(--space-3xl);color:var(--text-secondary);font-size:var(--text-body-large);line-height:1.5}.no-project-selected-features{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);width:100%;max-width:900px;display:grid}.no-project-selected-feature{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.no-project-selected-feature i{margin-bottom:var(--space-xs);color:var(--primary);font-size:var(--text-metric-small)}.no-project-selected-feature strong{color:var(--text-primary);font-size:var(--text-body-large);font-weight:var(--weight-bold)}.no-project-selected-feature span{color:var(--text-muted);font-size:var(--text-label);line-height:1.5}@media (width<=900px){.no-project-selected-features{grid-template-columns:1fr}}@media (width<=600px){.no-project-selected{padding:var(--space-2xl) var(--space-lg)}}.materials-page{min-width:0;color:var(--text-primary);--materials-accent:var(--primary,#2563eb);--materials-accent-hover:var(--primary-dark,#1d4ed8);--materials-border:var(--border-light,#e2e8f0);--materials-muted:var(--text-secondary,#64748b);--materials-radius:var(--radius-md,8px);--materials-control-height:40px}.materials-page *,.materials-page :before,.materials-page :after{box-sizing:border-box}.materials-page button,.materials-page input,.materials-page select,.materials-page textarea{font-family:inherit}.materials-page button:disabled{cursor:not-allowed}.materials-page-tabs{border-bottom:1px solid var(--materials-border);flex-wrap:wrap;align-items:center;gap:4px;margin:18px 0 22px;display:flex}.materials-page-tab{min-height:44px;color:var(--materials-muted);font-size:var(--text-body,14px);font-weight:var(--weight-semibold,600);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:8px;margin-bottom:-1px;padding:11px 16px;transition:color .18s,border-color .18s,background-color .18s;display:inline-flex}.materials-page-tab:hover{color:var(--materials-accent)}.materials-page-tab.active{border-bottom-color:var(--materials-accent);color:var(--materials-accent)}.materials-page-tab:focus-visible{outline:2px solid var(--materials-accent);outline-offset:-3px}.materials-tab-count{background:var(--border-light,#f1f5f9);min-width:22px;height:22px;color:var(--materials-muted);font-size:12px;font-weight:var(--weight-bold,700);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.materials-toolbar{align-items:flex-end;gap:var(--space-lg,16px);min-width:0;margin-bottom:var(--space-xl,24px);padding:var(--space-lg,16px) var(--space-xl,24px);border:1px solid var(--materials-border);border-radius:var(--radius-lg,12px);background:var(--surface,#fff);box-shadow:var(--shadow-sm,0 1px 3px #0f172a0f);flex-wrap:wrap;display:flex}.materials-toolbar-label{color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);font-weight:var(--weight-medium,500);margin:0;display:block}.materials-bom-project-selector,.materials-project-select{flex-direction:column;flex:0 420px;gap:7px;min-width:0;display:flex}.materials-bom-project-selector{width:100%;max-width:520px;margin-bottom:22px}.materials-bom-project-selector label,.materials-project-select label{color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);font-weight:var(--weight-semibold,600);margin:0;display:block}.materials-bom-project-selector select,.materials-project-select select{width:100%;min-width:0;min-height:var(--materials-control-height);border:1px solid var(--border,#d1d5db);border-radius:var(--materials-radius);background:var(--surface,#fff);color:var(--text-primary);font-size:var(--text-body,14px);cursor:pointer;outline:none;padding:0 12px;transition:border-color .18s,box-shadow .18s}.materials-bom-project-selector select:focus,.materials-project-select select:focus,.material-filter-group select:focus,.material-search:focus-within{border-color:var(--materials-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--materials-accent) 12%, transparent);outline:none}.materials-bom-project-selector select:disabled,.materials-project-select select:disabled{background:var(--background,#f8fafc);color:var(--text-muted,#94a3b8);cursor:not-allowed}.materials-bom-overview{gap:var(--space-lg,16px);min-width:0;margin-bottom:var(--space-xl,24px);flex-direction:column;display:flex}.materials-bom-project-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.materials-bom-project-info{flex:280px;min-width:0}.materials-bom-project-info h2,.materials-bom-project-info h3{color:var(--text-primary);font-size:var(--text-heading-2,20px);font-weight:var(--weight-bold,700);overflow-wrap:anywhere;margin:0 0 6px;line-height:1.4}.materials-bom-project-info p{color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);margin:0;line-height:1.6}.materials-bom-project-meta{color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;display:flex}.materials-bom-project-meta span{overflow-wrap:anywhere;min-width:0}.materials-bom-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;display:grid}.materials-bom-summary-item{border:1px solid var(--materials-border);border-radius:var(--materials-radius);background:var(--surface,#fff);min-width:0;padding:14px 16px}.materials-bom-summary-item span{color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);margin-bottom:6px;line-height:1.5;display:block}.materials-bom-summary-item strong{color:var(--text-primary);font-size:21px;font-weight:var(--weight-bold,700);overflow-wrap:anywhere;line-height:1.3;display:block}.materials-requests-card,.project-material-list-card{min-width:0;margin-bottom:var(--space-xl,24px);padding:var(--space-2xl,24px);border:1px solid var(--materials-border);border-radius:var(--radius-lg,12px);background:var(--surface,#fff);box-shadow:var(--shadow-sm,0 1px 3px #0f172a0f)}.project-material-list-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-lg,16px);min-width:0;margin-bottom:var(--space-xl,24px);display:flex}.project-material-list-heading>div{min-width:0}.project-material-list-heading h2{color:var(--text-primary);font-size:var(--text-heading-2,20px);font-weight:var(--weight-bold,700);margin:0 0 6px;line-height:1.35}.project-material-list-heading p{color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);margin:0;line-height:1.6}.list-state-message{padding:var(--space-2xl,24px) 12px;color:var(--text-muted,#94a3b8);font-size:var(--text-body,14px);text-align:center;line-height:1.6}.list-state-error{color:var(--danger,#dc2626)}.materials-bom-empty-state,.materials-empty-state{border:1px dashed var(--materials-border);border-radius:var(--radius-lg,12px);background:var(--background,#f8fafc);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:210px;padding:32px 20px;display:flex}.materials-bom-empty-state>i,.materials-empty-state>i{color:var(--text-muted,#94a3b8);margin-bottom:4px;font-size:28px}.materials-bom-empty-state h3,.materials-empty-state h3{color:var(--text-primary);font-size:var(--text-heading-3,18px);font-weight:var(--weight-semibold,600);margin:0;line-height:1.4}.materials-bom-empty-state p,.materials-empty-state p{max-width:460px;color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);margin:0;line-height:1.65}.material-toolbar{align-items:center;gap:var(--space-md,12px);min-width:0;margin-bottom:var(--space-xl,24px);flex-wrap:wrap;display:flex}.material-search{align-items:center;gap:var(--space-md,12px);width:100%;min-width:0;max-width:460px;height:var(--materials-control-height);border:1px solid var(--border,#d1d5db);border-radius:var(--materials-radius);background:var(--surface,#fff);flex:280px;padding:0 12px;transition:border-color .18s,box-shadow .18s;display:flex}.material-search i{color:var(--text-muted,#94a3b8);flex-shrink:0}.material-search input[type=search]{width:100%;min-width:0;color:var(--text-primary);font-size:var(--text-body,14px);appearance:none;background:0 0;border:0;outline:none;flex:1;padding:0}.material-search input[type=search]::-webkit-search-decoration{appearance:none}.material-search input[type=search]::-webkit-search-cancel-button{appearance:none}.material-search input[type=search]::-webkit-search-results-button{appearance:none}.material-search input[type=search]::-webkit-search-results-decoration{appearance:none}.material-filter-group{flex:0 auto;min-width:0;display:flex}.material-filter-group select{width:auto;min-width:150px;max-width:260px;height:var(--materials-control-height);border:1px solid var(--border,#d1d5db);border-radius:var(--materials-radius);background:var(--surface,#fff);color:var(--text-primary);font-size:var(--text-body,14px);cursor:pointer;outline:none;padding:0 12px;transition:border-color .18s,box-shadow .18s}.btn-export-excel{min-height:var(--materials-control-height);border-radius:var(--materials-radius);background:var(--materials-accent);color:var(--text-white,#fff);font-size:var(--text-body,14px);font-weight:var(--weight-semibold,600);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin-left:auto;padding:0 16px;transition:background-color .18s,border-color .18s;display:inline-flex}.btn-export-excel:hover:not(:disabled){background:var(--materials-accent-hover)}.btn-export-excel:disabled{opacity:.55;cursor:not-allowed}.btn-export-excel-secondary{border-color:var(--border,#d1d5db);background:var(--surface,#fff);color:var(--text-primary)}.btn-export-excel-secondary:hover:not(:disabled){background:var(--surface-hover,#f8fafc)}.project-material-table-wrapper{border:1px solid var(--materials-border);border-radius:var(--materials-radius);background:var(--surface,#fff);scrollbar-width:thin;width:100%;min-width:0;overflow-x:auto}.project-material-table,.material-catalog-table{border-collapse:collapse;width:100%}.project-material-table{min-width:760px}.project-material-table th,.material-catalog-table th{border-bottom:1px solid var(--materials-border);background:var(--background,#f8fafc);color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);font-weight:var(--weight-bold,700);letter-spacing:.025em;text-align:left;text-transform:uppercase;vertical-align:middle;padding:12px 16px;line-height:1.45}.project-material-table td,.material-catalog-table td{border-bottom:1px solid var(--materials-border);color:var(--text-primary);font-size:var(--text-body,14px);text-align:left;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:normal;padding:13px 16px;line-height:1.5}.project-material-table tbody tr:last-child td,.material-catalog-table tbody tr:last-child td{border-bottom:0}.project-material-table tbody tr:hover,.material-catalog-table tbody tr:hover{background:var(--surface-hover,#f8fafc)}.project-material-table td.nowrap{white-space:nowrap}.project-material-message{color:var(--text-muted,#94a3b8);overflow-wrap:anywhere;padding:var(--space-2xl,24px)!important;text-align:center!important;white-space:normal!important}.material-catalog-table{table-layout:fixed;min-width:1080px}.material-catalog-table th:first-child,.material-catalog-table td:first-child{width:18%}.material-catalog-table th:nth-child(2),.material-catalog-table td:nth-child(2){width:13%}.material-catalog-table th:nth-child(3),.material-catalog-table td:nth-child(3){width:7%}.material-catalog-table th:nth-child(4),.material-catalog-table td:nth-child(4){width:11%}.material-catalog-table th:nth-child(5),.material-catalog-table td:nth-child(5){width:14%}.material-catalog-table th:nth-child(6),.material-catalog-table td:nth-child(6){width:13%}.material-catalog-availability-cell,.material-catalog-status-cell{vertical-align:middle;min-width:0}.material-catalog-status-cell .materials-status-badge,.material-catalog-availability-cell .materials-status-badge{white-space:normal;overflow-wrap:anywhere}.material-catalog-table th:nth-child(7),.material-catalog-table td:nth-child(7){width:24%}.material-catalog-actions-cell{vertical-align:middle;min-width:0}.material-wrap-cell{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:280px}.material-wrap-text{white-space:normal;overflow-wrap:anywhere;min-width:0;display:block}.material-wrap-cell strong,.material-catalog-table .request-main-cell strong,.project-material-table .request-main-cell strong{color:var(--text-primary);font-weight:var(--weight-semibold,600);overflow-wrap:anywhere;line-height:1.45;display:block}.material-wrap-cell small,.material-catalog-table .request-main-cell small,.project-material-table .request-main-cell small{color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);font-weight:var(--weight-normal,400);white-space:normal;overflow-wrap:anywhere;margin-top:4px;line-height:1.5;display:block}.material-catalog-actions{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.material-catalog-action-buttons{flex-wrap:wrap;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.material-catalog-action-btn{border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,6px);background:var(--surface,#fff);min-width:0;min-height:36px;color:var(--text-primary);font-family:inherit;font-size:12px;font-weight:var(--weight-semibold,600);text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 11px;line-height:1.4;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.material-catalog-action-btn i{flex-shrink:0}.material-catalog-action-btn:focus-visible,.bom-row-action-btn:focus-visible,.list-pagination-arrow:focus-visible,.list-pagination-page:focus-visible{outline:2px solid var(--materials-accent);outline-offset:2px}.material-catalog-action-btn:disabled{opacity:.5;cursor:not-allowed}.material-catalog-action-btn:hover:not(:disabled){border-color:var(--border,#cbd5e1);background:var(--surface-hover,#f8fafc)}.material-catalog-edit-btn{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.material-catalog-edit-btn:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd}.material-catalog-unavailable-btn{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.material-catalog-unavailable-btn:hover:not(:disabled){background:#ffedd5}.material-catalog-available-btn{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.material-catalog-available-btn:hover:not(:disabled){background:#dcfce7}.material-catalog-archive-btn{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.material-catalog-archive-btn:hover:not(:disabled){background:#fee2e2}.material-requests-table{min-width:900px}.material-requests-table th,.material-requests-table td{vertical-align:middle}.material-requests-table .request-main-cell strong,.material-requests-table .request-main-cell small{display:block}.material-requests-table .request-main-cell small,.material-requests-table td small{color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);margin-top:4px;line-height:1.5}.material-request-detail-row>td{background:var(--background,#f8fafc);padding:16px}.material-request-detail{flex-direction:column;gap:14px;display:flex}.material-request-detail-heading{flex-direction:column;gap:6px;display:flex}.material-request-detail-heading>strong{color:var(--text-primary);font-size:var(--text-body,14px);font-weight:var(--weight-semibold,600)}.material-request-detail-heading p{color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);margin:0;line-height:1.6}.material-request-detail .project-material-table-wrapper{border-color:var(--materials-border);border-radius:var(--materials-radius);margin:0}.material-request-detail .project-material-table{min-width:700px}.materials-status-badge{max-width:100%;font-size:var(--text-caption,12px);font-weight:var(--weight-semibold,600);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;line-height:1.35;display:inline-flex}.materials-status-badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.materials-status-badge.status-ongoing{background:var(--primary-light,#dbeafe);color:var(--primary-dark,#1d4ed8)}.materials-status-badge.status-completed{background:var(--info-light,#e0f2fe);color:var(--info,#0369a1)}.materials-status-badge.status-not-started{background:var(--border-light,#f1f5f9);color:var(--text-secondary,#64748b)}.materials-status-badge.status-pending{background:var(--warning-light,#fef3c7);color:var(--warning,#b45309)}.materials-status-badge.status-delayed,.materials-status-badge.status-rejected,.materials-status-badge.status-not-allocated,.materials-status-badge.status-unavailable,.materials-status-badge.status-archived{background:var(--danger-light,#fee2e2);color:var(--danger,#b91c1c)}.materials-status-badge.status-approved,.materials-status-badge.status-fully-allocated,.materials-status-badge.status-available{background:var(--success-light,#dcfce7);color:var(--success,#15803d)}.materials-status-badge.status-partially-allocated{background:var(--warning-light,#fef3c7);color:var(--warning,#b45309)}.materials-status-badge.status-cancelled{background:var(--border-light,#f1f5f9);color:var(--text-muted,#64748b)}.request-review-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.request-approve-button,.request-reject-button{border-radius:var(--radius-sm,6px);min-height:32px;font-size:var(--text-caption,12px);font-weight:var(--weight-semibold,600);cursor:pointer;border:1px solid #0000;padding:6px 11px;transition:background-color .18s}.request-approve-button{border-color:var(--success,#15803d);background:var(--success-light,#dcfce7);color:var(--success,#15803d)}.request-approve-button:hover:not(:disabled){background:#bbf7d0}.request-reject-button{border-color:var(--danger,#dc2626);background:var(--danger-light,#fee2e2);color:var(--danger,#b91c1c)}.request-reject-button:hover:not(:disabled){background:#fecaca}.request-approve-button:disabled,.request-reject-button:disabled{opacity:.5;cursor:not-allowed}.request-review-note{max-width:150px;color:var(--text-secondary,#64748b);font-size:var(--text-caption,12px);text-overflow:ellipsis;white-space:nowrap;display:inline-block;overflow:hidden}.bom-group-row{background:var(--background,#f8fafc);cursor:pointer}.bom-group-row:hover{background:var(--surface-hover,#f1f5f9)}.bom-group-toggle{color:var(--text-primary);font-size:var(--text-body,14px);font-weight:var(--weight-semibold,600);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.bom-group-count{color:var(--text-muted,#94a3b8);font-size:var(--text-caption,12px);text-align:right}.brand-badge,.category-pill{border-radius:var(--radius-sm,6px);max-width:100%;font-size:var(--text-caption,12px);font-weight:var(--weight-semibold,600);overflow-wrap:anywhere;align-items:center;padding:4px 9px;line-height:1.4;display:inline-flex}.brand-badge-primary{background:var(--primary-light,#dbeafe);color:var(--primary-dark,#1d4ed8)}.brand-badge-info{background:var(--info-light,#e0f2fe);color:var(--info,#0369a1)}.brand-badge-success{background:var(--success-light,#dcfce7);color:var(--success,#15803d)}.brand-badge-warning{background:var(--warning-light,#fef3c7);color:var(--warning,#b45309)}.brand-badge-danger{background:var(--danger-light,#fee2e2);color:var(--danger,#b91c1c)}.brand-badge-neutral,.category-pill{background:var(--border-light,#f1f5f9);color:var(--text-secondary,#64748b)}.category-pill{font-weight:var(--weight-medium,500)}.bom-row-actions{white-space:normal;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bom-row-action-btn{border:1px solid var(--border,#d1d5db);border-radius:var(--radius-sm,6px);background:var(--surface,#fff);min-width:34px;min-height:34px;color:var(--text-secondary,#64748b);font:inherit;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:6px 9px;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.bom-row-action-btn:hover:not(:disabled){background:var(--surface-hover,#f8fafc);color:var(--text-primary)}.bom-row-action-btn:disabled{opacity:.5;cursor:not-allowed}.bom-row-action-danger:hover:not(:disabled){border-color:var(--danger,#dc2626);background:var(--danger-light,#fee2e2);color:var(--danger,#b91c1c)}.list-pagination{margin-top:var(--space-lg,16px);padding-top:var(--space-lg,16px);border-top:1px solid var(--materials-border);color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.list-pagination-controls{align-items:center;gap:4px;display:flex}.list-pagination-arrow,.list-pagination-page{border:1px solid var(--materials-border);border-radius:var(--radius-sm,6px);background:var(--surface,#fff);width:34px;height:34px;color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.list-pagination-arrow:hover:not(:disabled),.list-pagination-page:hover:not(.active){background:var(--surface-hover,#f8fafc);color:var(--text-primary)}.list-pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.list-pagination-page.active{border-color:var(--materials-accent);background:var(--materials-accent);color:var(--text-white,#fff)}.materials-modal-overlay{z-index:3000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.materials-modal{gap:var(--space-md,12px);width:100%;max-width:440px;max-height:calc(100vh - 48px);padding:var(--space-2xl,24px);border:1px solid var(--materials-border);border-radius:var(--radius-lg,12px);background:var(--surface,#fff);box-shadow:var(--shadow-md,0 10px 30px #0003);flex-direction:column;display:flex;overflow-y:auto}.materials-modal.materials-modal-wide{column-gap:var(--space-lg,16px);row-gap:var(--space-md,12px);grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px;display:grid}.materials-modal h3{color:var(--text-primary);font-size:var(--text-heading-3,18px);font-weight:var(--weight-bold,700);margin:0;line-height:1.4}.materials-modal-subtitle{color:var(--text-secondary,#64748b);font-size:var(--text-body,14px);margin:-4px 0 4px;line-height:1.6}.materials-modal-error{border:1px solid var(--danger,#dc2626);border-radius:var(--materials-radius);background:var(--danger-light,#fee2e2);color:var(--danger,#b91c1c);font-size:var(--text-body,14px);margin:0;padding:10px 12px;line-height:1.5}.materials-modal label{min-width:0;color:var(--text-secondary,#64748b);font-size:var(--text-label,13px);font-weight:var(--weight-semibold,600);flex-direction:column;gap:6px;display:flex}.materials-modal input,.materials-modal select,.materials-modal textarea{border:1px solid var(--border,#d1d5db);border-radius:var(--materials-radius);background:var(--surface,#fff);width:100%;min-width:0;color:var(--text-primary);font-family:inherit;font-size:var(--text-body,14px);font-weight:var(--weight-normal,400);padding:9px 11px;line-height:1.5;transition:border-color .18s,box-shadow .18s}.materials-modal input,.materials-modal select{min-height:var(--materials-control-height)}.materials-modal input:focus,.materials-modal select:focus,.materials-modal textarea:focus{border-color:var(--materials-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--materials-accent) 12%, transparent);outline:none}.materials-modal textarea{resize:vertical}.materials-modal.materials-modal-wide>h3,.materials-modal.materials-modal-wide>p,.materials-modal.materials-modal-wide>.materials-modal-actions,.materials-modal.materials-modal-wide>label:last-of-type{grid-column:1/-1}.materials-modal-actions{margin-top:var(--space-md,12px);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.materials-modal-cancel,.materials-modal-submit{border-radius:var(--materials-radius);min-height:38px;font-family:inherit;font-size:var(--text-body,14px);font-weight:var(--weight-semibold,600);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 15px;transition:background-color .18s,border-color .18s;display:inline-flex}.materials-modal-cancel{border-color:var(--border,#d1d5db);background:var(--surface,#fff);color:var(--text-primary)}.materials-modal-cancel:hover:not(:disabled){background:var(--surface-hover,#f8fafc)}.materials-modal-submit{background:var(--materials-accent);color:var(--text-white,#fff)}.materials-modal-submit:hover:not(:disabled){background:var(--materials-accent-hover)}.materials-modal-submit:disabled{opacity:.55;cursor:not-allowed}@media (width<=1100px){.material-catalog-table{min-width:1080px}.material-catalog-action-buttons{align-items:stretch}.material-catalog-action-btn{flex:auto}}@media (width<=900px){.project-material-list-heading{flex-direction:column;align-items:stretch}.materials-project-select,.materials-bom-project-selector{flex:100%;max-width:none}.materials-project-select select,.materials-bom-project-selector select{width:100%}.material-toolbar{align-items:stretch}.material-search{flex-basis:100%;max-width:none}.materials-page .material-toolbar .material-filter-group{flex:180px}.materials-page .material-toolbar .material-filter-group select{width:100%;max-width:none}.materials-bom-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-modal.materials-modal-wide{flex-direction:column;display:flex}}@media (width<=600px){.materials-page-tabs{gap:0;margin-top:12px}.materials-page-tab{flex:auto;min-height:42px;padding:10px 12px;font-size:13px}.materials-page-tab i{display:none}.materials-toolbar,.materials-requests-card,.project-material-list-card{padding:var(--space-lg,16px)}.project-material-list-heading{gap:12px;margin-bottom:18px}.project-material-list-heading h2{font-size:18px}.material-toolbar{gap:10px}.materials-page .material-toolbar .material-filter-group{flex-basis:100%}.materials-page .material-toolbar .material-filter-group select{width:100%}.btn-export-excel{width:100%;margin-left:0}.materials-bom-summary{grid-template-columns:minmax(0,1fr)}.materials-bom-summary-item{padding:12px 14px}.materials-bom-project-header{flex-direction:column;align-items:stretch}.materials-bom-empty-state,.materials-empty-state{min-height:180px;padding:24px 16px}.material-request-detail-row>td{padding:10px}.materials-modal-overlay{align-items:flex-start;padding:12px}.materials-modal{max-height:calc(100vh - 24px);padding:var(--space-lg,16px);margin:auto 0}.materials-modal-actions>button{flex:auto}.list-pagination{flex-direction:column;align-items:flex-start}.list-pagination-controls{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.materials-page *,.materials-page :before,.materials-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.materials-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.list-state-message.list-state-success{color:var(--success,#15803d)}.material-request-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.material-request-actions .list-state-message{text-align:left;padding:0}.material-inline-badge{vertical-align:middle;margin-left:8px}.material-quantity-cell{white-space:nowrap;font-weight:var(--weight-semibold,600)}.materials-modal input.materials-readonly-input{background:var(--surface-hover,#f3f4f6);color:var(--text-secondary,#64748b);cursor:not-allowed}.materials-form-field{min-width:0;color:var(--text-secondary,#64748b);font-size:var(--text-label,13px);font-weight:var(--weight-semibold,600);flex-direction:column;gap:6px;display:flex}.materials-availability-toggle{min-height:var(--materials-control-height);border:1px solid var(--border,#d1d5db);border-radius:var(--materials-radius);background:var(--surface,#fff);grid-template-columns:1fr 1fr;padding:3px;display:grid}.materials-availability-toggle button{border-radius:calc(var(--materials-radius) - 2px);color:var(--text-secondary,#64748b);font-family:inherit;font-size:var(--text-body,14px);font-weight:var(--weight-semibold,600);cursor:pointer;background:0 0;border:0}.materials-availability-toggle button.active.is-available{background:var(--success-light,#dcfce7);color:#15803d}.materials-availability-toggle button.active.is-unavailable{background:var(--danger-light,#fee2e2);color:var(--danger,#b91c1c)}.materials-modal.materials-modal-wide>.materials-form-wide{grid-column:1/-1}.materials-review-lines{border:1px solid var(--border,#d1d5db);border-radius:var(--materials-radius);flex-direction:column;gap:6px;margin:0;padding:10px 12px;list-style:none;display:flex}.materials-review-lines li{font-size:var(--text-body,14px);align-items:center;gap:10px;display:flex}.materials-review-lines li>span:first-child{flex:auto;min-width:0}.materials-modal label.materials-checkbox-row{color:var(--text-primary);font-weight:var(--weight-normal,400);flex-direction:row;align-items:flex-start;gap:10px;line-height:1.5}.materials-modal .materials-checkbox-row input{width:18px;min-width:18px;height:18px;min-height:0;margin-top:2px;padding:0}@media (width<=640px){.materials-modal.materials-modal-wide{grid-template-columns:1fr}}.sc-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:20px}.sc-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:16px;display:grid}.sc-date-info h2{font-size:var(--text-heading-3);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.sc-date-info span{color:var(--text-secondary);font-size:var(--text-caption)}.sc-navigation{align-items:center;gap:10px;display:flex}.sc-arrow{border:1px solid var(--border);width:38px;height:38px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:50%}.sc-arrow:hover{border-color:var(--primary);color:var(--primary-dark)}.sc-today{background:var(--primary);color:#fff;min-width:110px;height:42px;font-size:var(--text-body-large);font-weight:var(--weight-bold);cursor:pointer;border:0;border-radius:999px;padding:0 24px}.sc-today:hover{background:var(--primary-dark)}.sc-toolbar-extra{justify-content:flex-end;gap:10px;display:flex}.sc-toolbar-extra select{border:1px solid var(--border);height:38px;font-size:var(--text-label);background:#fff;border-radius:9px;padding:0 10px}.sc-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.sc-weekday{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);text-align:center;text-transform:uppercase;padding:8px}.sc-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:112px;padding:6px;overflow:hidden}.sc-day.outside{background:var(--surface);opacity:.55}.sc-day.today{background:var(--primary-light)}.sc-day-number{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:4px;display:inline-block}.sc-day.today .sc-day-number{background:var(--primary);color:#fff;border-radius:50%;place-items:center;min-width:24px;height:24px;display:inline-grid}.sc-day-events{flex-direction:column;gap:3px;display:flex}.sc-day-events small{color:var(--text-muted);font-size:11px}.sc-event{width:100%;font-family:inherit;font-size:11px;font-weight:var(--weight-semibold);text-align:left;cursor:pointer;border:0;border-left:3px solid;border-radius:5px;align-items:center;gap:5px;padding:3px 6px;display:flex}.sc-event:disabled{cursor:default}.sc-event span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sc-task{background:var(--info-light);color:var(--info)}.sc-task-completed{background:var(--success-light);color:var(--success)}.sc-task-overdue,.sc-conflict{background:var(--danger-light);color:var(--danger)}.sc-schedule,.sc-meeting{background:var(--primary-light);color:var(--primary-dark)}.sc-project{background:var(--accent-light);color:var(--accent)}.sc-reminder{background:var(--warning-light);color:var(--warning)}.sc-footer{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:14px;display:flex}.sc-legend{color:var(--text-secondary);font-size:var(--text-caption);flex-wrap:wrap;gap:8px 16px;display:flex}.sc-legend span{align-items:center;gap:6px;display:inline-flex}.sc-dot{background:currentColor;border-radius:50%;width:10px;height:10px;display:inline-block}.sc-footer-note{color:var(--text-secondary);font-size:var(--text-caption);margin-left:auto}@media (width<=800px){.sc-toolbar{text-align:center;grid-template-columns:1fr;justify-items:center}.sc-toolbar-extra{justify-content:center}.sc-day{min-height:84px}}.sc-day.outside{opacity:1}.sc-day.outside .sc-day-number{color:var(--text-muted)}.sc-date-info span{white-space:nowrap}.sc-toolbar-extra select{max-width:220px}@media (width<=600px){.sc-card{padding:12px}.sc-day{min-height:54px;padding:3px}.sc-event{padding:2px 3px}.sc-event span{display:none}.sc-toolbar-extra select{width:100%;max-width:100%}}.scheduling-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.scheduling-toolbar{gap:var(--space-lg);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg) var(--space-xl);flex-direction:column;display:flex}.scheduling-toolbar-row{align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;display:flex}.scheduling-toolbar-row-top{justify-content:space-between}.scheduling-toolbar-row-bottom{border-top:1px solid var(--border-light);padding-top:var(--space-lg)}.scheduling-toolbar-label{font-size:var(--text-caption);color:var(--text-muted);margin-bottom:2px;display:block}.scheduling-project-select{flex-direction:column;gap:2px;min-width:280px;display:flex}.scheduling-project-select>select{width:100%;min-width:280px;height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);cursor:pointer;outline:none}.scheduling-project-select>select:focus{border-color:var(--text-primary)}.scheduling-header-stats{gap:var(--space-2xl);flex-wrap:wrap;display:flex}.scheduling-header-stats>div{flex-direction:column;gap:2px;display:flex}.scheduling-header-stats span{font-size:var(--text-caption);color:var(--text-muted)}.scheduling-header-stats strong{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text-secondary)}.scheduling-project-value{align-items:center;gap:var(--space-sm);font-weight:var(--weight-semibold);color:var(--text-primary);cursor:pointer;display:flex}.scheduling-view-tabs-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:0 var(--space-xl);display:flex}.scheduling-view-tab{align-items:center;gap:var(--space-sm);padding:var(--space-lg) 0;margin-right:var(--space-2xl);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-muted);cursor:pointer;background:0 0;border:none;display:flex;position:relative}.scheduling-view-tab:hover{color:var(--text-primary)}.scheduling-view-tab.active{color:var(--primary)}.scheduling-view-tab.active:after{content:"";background:var(--primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}@media (width<=800px){.scheduling-view-tabs-card{scrollbar-width:thin;overflow-x:auto}.scheduling-view-tab{white-space:nowrap;flex-shrink:0}}.scheduling-no-project-state{text-align:center;min-height:62vh;padding:var(--space-3xl) var(--space-2xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.scheduling-no-project-icon{width:128px;height:128px;margin-bottom:var(--space-2xl);background:var(--primary-light);color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:52px;display:flex;position:relative}.scheduling-no-project-icon-badge{background:var(--primary);width:48px;height:48px;color:var(--text-white);font-size:var(--text-heading-3);border:4px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-6px;right:-6px}.scheduling-no-project-state h2{margin:0 0 var(--space-md);font-size:var(--text-page-title);font-weight:var(--weight-bold);color:var(--text-primary)}.scheduling-no-project-state>p{margin:0 0 var(--space-3xl);max-width:520px;color:var(--text-secondary);font-size:var(--text-body-large);line-height:1.5}.scheduling-no-project-feature-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);width:100%;max-width:900px;display:grid}.scheduling-no-project-feature{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.scheduling-no-project-feature i{margin-bottom:var(--space-xs);color:var(--primary);font-size:var(--text-metric-small)}.scheduling-no-project-feature strong{font-size:var(--text-body-large);font-weight:var(--weight-bold);color:var(--text-primary)}.scheduling-no-project-feature span{font-size:var(--text-label);color:var(--text-muted);line-height:1.5}@media (width<=900px){.scheduling-no-project-feature-grid{grid-template-columns:1fr}}.scheduling-search{align-items:center;gap:var(--space-md);background:var(--background);border-radius:var(--radius-md);padding:0 var(--space-lg);flex:1;min-width:220px;height:40px;display:flex}.scheduling-search i{color:var(--text-muted)}.scheduling-search input{font-size:var(--text-body);background:0 0;border:none;outline:none;flex:1}.scheduling-filter{flex-direction:column;gap:2px;display:flex}.scheduling-filter span{font-size:var(--text-caption);color:var(--text-muted)}.scheduling-filter select{height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-label);color:var(--text-primary);cursor:pointer}.scheduling-add-button{align-items:center;gap:var(--space-sm);height:40px;padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:none;margin-left:auto;display:inline-flex}.scheduling-add-button:hover{background:var(--primary-dark)}.scheduling-panel-layout{gap:var(--space-xl);grid-template-columns:1fr;display:grid}.scheduling-panel-layout.with-detail{grid-template-columns:1fr 340px}.scheduling-gantt-card,.scheduling-list-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-2xl);overflow:hidden}.scheduling-gantt-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.scheduling-gantt-heading h2{margin:0 0 var(--space-xs);font-size:var(--text-heading-2);font-weight:var(--weight-bold)}.scheduling-gantt-heading span{color:var(--text-secondary);font-size:var(--text-body)}.scheduling-legend{gap:var(--space-lg);flex-wrap:wrap;display:flex}.scheduling-legend span{align-items:center;gap:var(--space-xs);font-size:var(--text-caption);color:var(--text-secondary);display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-in-progress{background:var(--info)}.legend-to-do{background:var(--text-muted)}.legend-blocked{background:var(--danger)}.gantt-scroll{overflow-x:auto}.gantt-grid{min-width:900px}.gantt-header-row,.gantt-task-row{grid-template-columns:220px 100px 100px 110px 1fr;align-items:center;display:grid}.gantt-task-col-header,.gantt-date-col-header{padding:var(--space-sm) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light)}.gantt-timeline-header{border-bottom:1px solid var(--border-light)}.gantt-month-row{display:flex}.gantt-month-cell{text-align:center;padding:var(--space-xs) 0;font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--text-secondary);border-left:1px solid var(--border-light)}.gantt-week-row{display:flex}.gantt-week-cell{text-align:center;padding:var(--space-xs) 0;font-size:var(--text-caption);color:var(--text-muted);border-left:1px solid var(--border-light);flex:1}.gantt-phase-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--background);cursor:pointer;border-bottom:1px solid var(--border-light);display:flex}.gantt-phase-label{align-items:center;gap:var(--space-sm);font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-primary);display:flex}.gantt-phase-meta{align-items:center;gap:var(--space-md);display:flex}.phase-progress{font-size:var(--text-caption);color:var(--text-secondary);font-weight:var(--weight-semibold);text-align:right;min-width:36px}.gantt-task-row{border-bottom:1px solid var(--border-light);min-height:52px}.gantt-task-row.active{background:var(--primary-light)}.gantt-task-info{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);display:flex}.gantt-task-info strong{font-size:var(--text-label);color:var(--text-primary)}.task-status-icon{border-radius:50%;flex-shrink:0;width:8px;height:8px}.task-status-icon.status-completed{background:var(--success)}.task-status-icon.status-in-progress{background:var(--info)}.task-status-icon.status-to-do{background:var(--text-muted)}.task-status-icon.status-blocked{background:var(--danger)}.gantt-date-cell{padding:var(--space-sm) var(--space-md);font-size:var(--text-caption);color:var(--text-secondary)}.gantt-timeline-cell,.gantt-phase-timeline{height:100%;min-height:40px;position:relative}.timeline-grid-lines{display:flex;position:absolute;inset:0}.timeline-grid-lines>div{border-left:1px solid var(--border-light);flex:1}.task-bar{border-radius:var(--radius-sm);min-width:40px;height:26px;color:var(--text-white);font-size:var(--text-caption);font-weight:var(--weight-bold);cursor:pointer;padding:0 var(--space-sm);border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:8px}.task-bar.status-completed{background:var(--success)}.task-bar.status-in-progress{background:var(--info)}.task-bar.status-to-do{background:var(--text-muted)}.task-bar.status-blocked{background:var(--danger)}.phase-status-pill,.task-status-pill{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;display:inline-flex}.phase-status-pill:before,.task-status-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px}.status-to-do{background:var(--border-light);color:var(--text-secondary)}.status-blocked{background:var(--danger-light);color:var(--danger)}.priority-pill{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:var(--weight-bold);align-items:center;display:inline-flex}.priority-critical{background:var(--danger);color:var(--text-white)}.task-detail-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;align-self:start;display:flex}.task-detail-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.task-detail-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0}.task-detail-header button{color:var(--text-muted);cursor:pointer;font-size:var(--text-heading-3);background:0 0;border:none}.task-detail-fields{gap:var(--space-sm);flex-direction:column;margin:0;display:flex}.task-detail-field{flex-direction:column;gap:2px;display:flex}.task-detail-field dt{align-items:center;gap:var(--space-xs);font-size:var(--text-caption);color:var(--text-muted);display:flex}.task-detail-field dd{font-size:var(--text-body);color:var(--text-primary);font-weight:var(--weight-semibold);margin:0}.task-detail-label{align-items:center;gap:var(--space-xs);font-size:var(--text-caption);color:var(--text-muted);margin-bottom:var(--space-xs);display:flex}.task-detail-assignee-row{align-items:center;gap:var(--space-md);display:flex}.task-detail-avatar{background:var(--primary-light);width:36px;height:36px;color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-detail-assignee-row div strong{font-size:var(--text-body);color:var(--text-primary);display:block}.task-detail-assignee-row div span{font-size:var(--text-caption);color:var(--text-muted)}.task-detail-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.task-detail-grid strong{font-size:var(--text-body);color:var(--text-primary)}.task-dependency-item{align-items:center;gap:var(--space-sm);font-size:var(--text-body);color:var(--text-primary);padding:var(--space-xs) 0;display:flex}.task-detail-empty{color:var(--text-muted);font-size:var(--text-caption);margin:0}.task-detail-description p{color:var(--text-secondary);font-size:var(--text-body);margin:0;line-height:1.5}.task-detail-actions{gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border-light);flex-direction:column;display:flex}.task-detail-action{align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-body);cursor:pointer;display:flex}.task-detail-action:hover{background:var(--surface-hover)}.task-detail-action.danger{border-color:var(--danger);color:var(--danger)}.task-detail-action.danger:hover{background:var(--danger-light)}.scheduling-task-table{border-collapse:collapse;width:100%}.scheduling-task-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light)}.scheduling-task-table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);font-size:var(--text-body);color:var(--text-primary)}.scheduling-task-table tbody tr{cursor:pointer}.scheduling-task-table tbody tr:hover{background:var(--surface-hover)}.scheduling-pagination{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-xl);margin-top:var(--space-lg);border-top:1px solid var(--border-light);font-size:var(--text-body);color:var(--text-secondary);flex-wrap:wrap;display:flex}.scheduling-pagination-controls{align-items:center;gap:6px;display:flex}.scheduling-pagination-arrow,.scheduling-pagination-page{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-body);cursor:pointer;justify-content:center;align-items:center;display:flex}.scheduling-pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.scheduling-pagination-page.active{background:var(--primary);border-color:var(--primary);color:var(--text-white)}.calendar-view{gap:var(--space-xl);flex-direction:column;display:flex}.calendar-reset-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.calendar-reset-button:hover{background:var(--surface-hover);color:var(--text-primary)}.calendar-main-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-2xl)}.calendar-toolbar{align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.calendar-toolbar h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.calendar-navigation{align-items:center;gap:var(--space-sm);display:flex}.calendar-today-button{height:36px;padding:0 var(--space-lg);border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--surface);color:var(--primary-dark);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer}.calendar-today-button:hover{background:var(--primary-light)}.calendar-arrow-button{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.calendar-arrow-button:hover{background:var(--surface-hover);color:var(--text-primary)}.calendar-weekday-header{border-bottom:1px solid var(--border-light);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday-header div{text-align:center;padding:var(--space-sm) 0;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase}.calendar-month-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day-cell{align-items:flex-start;gap:var(--space-xs);min-height:112px;padding:var(--space-sm);border:1px solid var(--border-light);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;display:flex}.calendar-day-cell:hover{background:var(--surface-hover)}.calendar-day-cell.outside-month{background:var(--background);color:var(--text-muted)}.calendar-day-cell.selected{outline:2px solid var(--primary);outline-offset:-2px}.calendar-day-number{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-primary)}.calendar-day-events{flex-direction:column;gap:2px;width:100%;display:flex}.calendar-day-events small{font-size:var(--text-overline);color:var(--text-muted)}.calendar-week-view{gap:var(--space-sm);grid-template-columns:repeat(7,1fr);display:grid}.calendar-week-column{gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;flex-direction:column;min-height:160px;display:flex}.calendar-week-column.selected{outline:2px solid var(--primary);outline-offset:-2px}.calendar-day-view{gap:var(--space-md);flex-direction:column;display:flex}.calendar-day-agenda-item{align-items:center;gap:var(--space-lg);padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex}.calendar-empty-state{padding:var(--space-2xl);text-align:center;color:var(--text-muted)}.calendar-event{padding:2px var(--space-xs);border-radius:var(--radius-sm);font-size:var(--text-overline);font-weight:var(--weight-semibold);cursor:default;align-items:center;gap:4px;display:flex}.calendar-event-completed{background:var(--success-light);color:var(--success)}.calendar-event-ongoing{background:var(--info-light);color:var(--info)}.calendar-event-upcoming{background:var(--border-light);color:var(--text-secondary)}.calendar-event-delayed{background:var(--warning-light);color:var(--warning)}.calendar-event-meeting{background:var(--accent-light);color:var(--accent)}.calendar-event-critical{background:var(--danger-light);color:var(--danger)}.calendar-footer{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-lg);color:var(--text-secondary);font-size:var(--text-body);flex-wrap:wrap;display:flex}.calendar-legend{gap:var(--space-lg);flex-wrap:wrap;display:flex}.calendar-legend span{align-items:center;gap:var(--space-xs);font-size:var(--text-caption);display:flex}.legend-completed,.legend-ongoing,.legend-upcoming,.legend-meeting,.legend-critical{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-completed{background:var(--success)}.legend-ongoing{background:var(--info)}.legend-upcoming{background:var(--text-muted)}.legend-critical{background:var(--danger)}.calendar-modal-overlay{z-index:100;background:#1c231d66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.day-details-modal,.calendar-event-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);width:100%;max-width:480px;max-height:90vh;padding:var(--space-2xl);overflow-y:auto}.day-details-header,.calendar-modal-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.day-details-header h2,.calendar-modal-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0}.day-details-header button,.calendar-modal-header button{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.selected-date-event-list{gap:var(--space-md);flex-direction:column;display:flex}.selected-date-event{align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex}.selected-event-details h3{font-size:var(--text-body);margin:2px 0}.selected-event-details p{font-size:var(--text-caption);color:var(--text-secondary);margin:0}.calendar-conflict-alert{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--warning-light);color:var(--warning);display:flex}.calendar-conflict-alert button{border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--surface);color:var(--warning);padding:var(--space-xs) var(--space-md);cursor:pointer}.calendar-event-form{gap:var(--space-lg);flex-direction:column;display:flex}.calendar-event-form label{gap:var(--space-xs);font-size:var(--text-label);color:var(--text-secondary);flex-direction:column;display:flex}.calendar-event-form input,.calendar-event-form select{height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-body)}.critical-event-option{align-items:center;gap:var(--space-sm)!important;flex-direction:row!important}.calendar-modal-actions{justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xl);display:flex}.calendar-cancel-button{height:40px;padding:0 var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer}.calendar-save-button{height:40px;padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-weight:var(--weight-semibold);cursor:pointer;border:none}.calendar-save-button:hover{background:var(--primary-dark)}.calendar-save-button:disabled,.calendar-cancel-button:disabled{opacity:.6;cursor:not-allowed}.recommendation-heading .calendar-cancel-button{align-items:center;gap:var(--space-sm);flex-shrink:0;display:inline-flex}.recommendation-notice,.recommendation-alert,.recommendation-limitations{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-label);display:flex}.recommendation-notice{background:var(--primary-light);color:var(--text-primary)}.recommendation-notice i{color:var(--primary-dark);margin-top:2px}.recommendation-alert-danger{background:var(--danger-light);color:var(--danger)}.recommendation-alert-success{background:var(--success-light);color:var(--success)}.recommendation-limitations{background:var(--background);color:var(--text-secondary)}.recommendation-limitations p{margin:0 0 var(--space-xs)}.recommendation-limitations p:last-child{margin-bottom:0}.recommendation-stats{column-gap:var(--space-xl);row-gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--background)}.recommendation-text-danger{color:var(--danger)!important}.recommendation-conflicts{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--danger);border-radius:var(--radius-md)}.recommendation-conflicts h3{margin:0 0 var(--space-sm);color:var(--danger);font-size:var(--text-label);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em}.recommendation-conflicts ul{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recommendation-conflict{gap:var(--space-sm);font-size:var(--text-label);color:var(--text-primary);display:flex}.recommendation-conflict strong{flex-shrink:0;min-width:130px}.recommendation-conflict-high strong{color:var(--danger)}.recommendation-conflict-medium strong{color:var(--warning)}.recommendation-table td{vertical-align:top}.recommendation-table small,.recommendation-muted{color:var(--text-muted);font-size:var(--text-caption);display:block}.recommendation-table .task-status-pill{margin-top:var(--space-xs)}.recommendation-critical{margin:var(--space-xs) 0 0 var(--space-xs);color:var(--danger);font-size:var(--text-caption);font-weight:var(--weight-semibold);align-items:center;gap:4px;display:inline-flex}.recommendation-changed{color:var(--primary-dark);font-weight:var(--weight-semibold)}.recommendation-table .recommendation-shift{color:var(--warning);font-weight:var(--weight-semibold)}.recommendation-row-warning td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.recommendation-notes{min-width:260px;max-width:420px}.recommendation-notes p{margin:0 0 var(--space-xs);font-size:var(--text-caption);color:var(--text-secondary)}.recommendation-notes .recommendation-warning-high{color:var(--danger)}.recommendation-notes .recommendation-warning-medium{color:var(--warning)}.recommendation-actions{justify-content:flex-end;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border-light);font-size:var(--text-label);color:var(--text-secondary);flex-wrap:wrap;display:flex}.recommendation-actions>span{margin-right:auto}.recommendation-text-warning{color:var(--warning)!important}.recommendation-stats>div{cursor:help}.recommendation-stat-note{color:var(--warning);font-size:var(--text-caption);font-weight:var(--weight-medium)}.recommendation-help{color:var(--text-muted);cursor:help;margin-left:2px}.recommendation-assessment,.recommendation-workload{align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-label);display:flex}.recommendation-assessment{background:var(--success-light);color:var(--success)}.recommendation-assessment-partial{background:var(--warning-light);color:var(--text-primary)}.recommendation-assessment-partial i,.recommendation-workload>i{color:var(--warning);margin-top:2px}.recommendation-workload{border:1px solid var(--warning);color:var(--text-primary)}.recommendation-workload p{margin:var(--space-xs) 0 var(--space-sm);color:var(--text-secondary)}.recommendation-workload ul{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recommendation-workload li{align-items:center;gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.recommendation-workload a,.recommendation-open-task{color:var(--primary-dark);font-weight:var(--weight-semibold);white-space:nowrap;text-decoration:none}.recommendation-workload a:hover,.recommendation-open-task:hover{text-decoration:underline}.recommendation-open-task{margin-top:var(--space-xs);font-size:var(--text-caption);display:block}.recommendation-critical-flag{color:var(--warning)}.recommendation-row-history td{color:var(--text-secondary)}.recommendation-notes .recommendation-status-note{color:var(--text-primary)}.recommendation-notes .recommendation-warning-low{color:var(--text-muted)}.recommendation-confirm{color:var(--text-primary);flex:100%}.recommendation-confirm h3{margin:0 0 var(--space-sm);font-size:var(--text-body);font-weight:var(--weight-semibold)}.recommendation-confirm p{margin:var(--space-sm) 0 0;color:var(--text-secondary)}.recommendation-confirm .recommendation-warning-medium{color:var(--warning)}.recommendation-confirm-list{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--background);flex-direction:column;margin:0;list-style:none;display:flex}.recommendation-confirm-list li{justify-content:space-between;gap:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.recommendation-confirm-list span{align-items:center;gap:var(--space-sm);color:var(--text-secondary);flex-wrap:wrap;display:inline-flex}.recommendation-confirm-list b{color:var(--primary-dark)}.recommendation-confirm-list i{font-size:var(--text-caption);color:var(--text-muted)}.recommendation-confirm-buttons{justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-md);display:flex}@media (width<=800px){.recommendation-conflict{flex-direction:column;gap:2px}.recommendation-heading{flex-direction:column}}@media (width<=1100px){.scheduling-panel-layout.with-detail{grid-template-columns:1fr}}.scheduling-toolbar-row-bottom{flex-wrap:wrap;align-items:flex-end}.scheduling-toolbar-row-bottom select{width:170px;min-width:0}.scheduling-toolbar-row-bottom .scheduling-search{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);flex:none;width:380px;max-width:100%}.scheduling-toolbar-row-bottom .scheduling-search:focus-within{border-color:var(--primary)}.scheduling-toolbar-row-bottom .scheduling-filter{flex:none}.scheduling-toolbar-row-bottom .scheduling-filter select{width:auto;min-width:0;max-width:240px}.scheduling-toolbar-row-bottom .scheduling-add-button{margin-left:auto}@media (width<=800px){.scheduling-toolbar-row-bottom .scheduling-search{flex:100%;width:auto}.scheduling-toolbar-row-bottom .scheduling-add-button{flex:100%;justify-content:center;margin-left:0}}.scheduling-toolbar .scheduling-toolbar-row-bottom{align-items:flex-end}.scheduling-toolbar .scheduling-toolbar-row-bottom .scheduling-search,.scheduling-toolbar .scheduling-toolbar-row-bottom .scheduling-filter select,.scheduling-toolbar .scheduling-toolbar-row-bottom .scheduling-add-button,.scheduling-toolbar .scheduling-toolbar-row-bottom .calendar-cancel-button{box-sizing:border-box;height:40px}.pm-monitoring-page{color:#17313b;flex-direction:column;gap:24px;display:flex}.pm-overview-card,.pm-overview-stats-card,.pm-monitoring-card{background:#fff;border:1px solid #dbe8ea;border-radius:18px;box-shadow:0 8px 24px #194a540f}.pm-card-heading h2,.pm-overview-copy h2{margin:0}.pm-card-heading>div>p{color:#688088;margin:4px 0 0;font-size:13px}.pm-approve-button,.pm-return-button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-weight:700}.pm-approve-button:disabled,.pm-return-button:disabled{cursor:not-allowed;opacity:.55}.pm-project-picker-card{gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.pm-project-picker-select{flex-direction:column;align-self:flex-start;gap:2px;display:flex}.pm-project-picker-label{font-size:var(--text-caption);color:var(--text-muted);margin-bottom:2px;display:block}.pm-project-picker-select>select{min-width:280px;height:40px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;outline:none}.pm-project-picker-select>select:focus{border-color:var(--text-primary)}.pm-no-project-state{text-align:center;min-height:62vh;padding:var(--space-3xl) var(--space-2xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.pm-no-project-icon{width:128px;height:128px;margin-bottom:var(--space-2xl);background:var(--primary-light);color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:52px;display:flex;position:relative}.pm-no-project-icon-badge{background:var(--primary);width:48px;height:48px;color:var(--text-white);font-size:var(--text-heading-3);border:4px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-6px;right:-6px}.pm-no-project-state h2{margin:0 0 var(--space-md);font-size:var(--text-page-title);font-weight:var(--weight-bold);color:var(--text-primary)}.pm-no-project-state>p{margin:0 0 var(--space-3xl);max-width:520px;color:var(--text-secondary);font-size:var(--text-body-large);line-height:1.5}.pm-no-project-feature-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);width:100%;max-width:900px;display:grid}.pm-no-project-feature{align-items:center;gap:var(--space-sm);padding:var(--space-2xl) var(--space-lg);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.pm-no-project-feature i{margin-bottom:var(--space-xs);color:var(--primary);font-size:var(--text-metric-small)}.pm-no-project-feature strong{font-size:var(--text-body-large);font-weight:var(--weight-bold);color:var(--text-primary)}.pm-no-project-feature span{font-size:var(--text-label);color:var(--text-muted);line-height:1.5}@media (width<=900px){.pm-no-project-feature-grid{grid-template-columns:1fr}}.pm-alert{border-radius:12px;padding:14px 18px;font-weight:700}.pm-alert-error{color:#b42318;background:#fff0f0}.pm-alert-success{color:#137a4a;background:#eafaf2}.pm-loading-card{color:#688088;justify-content:center;align-items:center;gap:10px;min-height:180px;display:flex}.pm-overview-card{background:linear-gradient(135deg,#fff 0%,#effcfb 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:32px;display:flex}.pm-overview-progress{align-items:center;gap:28px;display:flex}.pm-overview-ring{--progress:0;background:radial-gradient(closest-side, #fff 76%, transparent 77% 100%), conic-gradient(#00a9a5 calc(var(--progress) * 1%), #dcebec 0);text-align:center;border-radius:50%;flex:0 0 150px;place-content:center;width:150px;height:150px;display:grid}.pm-overview-ring strong{font-size:32px;line-height:1}.pm-overview-copy>span{color:#688088;text-transform:uppercase;font-size:12px;font-weight:800}.pm-overview-copy h2{margin-top:5px;font-size:22px}.pm-overview-copy p{color:#688088;margin:8px 0 0}.pm-overview-stats{flex-wrap:wrap;gap:18px;display:flex}.pm-summary-card{background:#fff;border:1px solid #dbe8ea;border-radius:14px;align-items:center;gap:16px;min-width:170px;min-height:100px;padding:20px;display:flex}.pm-summary-card>i{color:#46636b;background:#eaf4f5;border-radius:12px;place-content:center;width:46px;height:46px;font-size:16px;display:grid}.pm-summary-card div{flex-direction:column;gap:5px;display:flex}.pm-summary-card span{color:#688088;font-size:13px}.pm-summary-card strong{font-size:26px}.pm-summary-card.is-completed>i{color:#137a4a;background:#eafaf2}.pm-summary-card.is-review>i{color:#a86900;background:#fff6dc}.pm-summary-card.is-progress>i{color:#007b79;background:#e7f8f7}.pm-summary-card.is-delayed>i{color:#b42318;background:#fff0f0}.pm-monitoring-card{padding:24px}.pm-split-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}@media (width<=1100px){.pm-split-screen{grid-template-columns:1fr}}.pm-card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.pm-count-badge{color:#8b5b00;background:#fff6dc;border-radius:999px;place-content:center;min-width:34px;height:34px;padding:0 10px;font-weight:800;display:grid}.pm-empty-state{color:#7b9299;text-align:center;place-items:center;min-height:125px;display:grid}.pm-empty-state i{color:#00a9a5;font-size:30px}.pm-monitoring-table{border-collapse:collapse;width:100%}.pm-monitoring-table th,.pm-monitoring-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e6eff0;padding:14px 12px}.pm-monitoring-table th{color:#688088;letter-spacing:.05em;text-transform:uppercase;font-size:11px}.pm-monitoring-table td{font-size:13px}.pm-monitoring-table td strong,.pm-monitoring-table td small{display:block}.pm-monitoring-table td small{color:#7b9299;text-overflow:ellipsis;white-space:nowrap;max-width:310px;margin-top:4px;overflow:hidden}.pm-review-actions{white-space:nowrap;gap:8px;display:flex}.pm-approve-button{color:#fff;background:#009d9a}.pm-approve-button:hover{background:#007f7c}.pm-return-button{color:#536d75;background:#fff;border:1px solid #d6e4e6}.pm-return-button:hover{background:#f4f8f8}.pm-status{color:#536d75;white-space:nowrap;background:#edf3f4;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.pm-status.completed{color:#137a4a;background:#eafaf2}.pm-status.for-review{color:#8b5b00;background:#fff6dc}.pm-status.delayed{color:#b42318;background:#fff0f0}.pm-workflow-progress{align-items:center;gap:10px;display:flex}.pm-workflow-progress>div{background:#dcebec;border-radius:999px;flex:1;height:7px;overflow:hidden}.pm-workflow-progress>div span{border-radius:inherit;background:#00a9a5;height:100%;display:block}.pm-workflow-progress strong{color:#536d75;text-align:right;min-width:36px;font-size:12px}.pm-no-tasks{color:#7b9299;text-align:center!important;padding:28px!important}.pm-pagination{color:#536d75;border-top:1px solid #e6eff0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:16px;font-size:13px;display:flex}.pm-pagination-controls{align-items:center;gap:6px;display:flex}.pm-pagination-arrow,.pm-pagination-page{color:#536d75;cursor:pointer;background:#fff;border:1px solid #d6e4e6;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;display:flex}.pm-pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.pm-pagination-page.active{color:#fff;background:#009d9a;border-color:#009d9a}.pm-phase-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.pm-phase-tab{text-align:left;cursor:pointer;background:#fbfdfd;border:1px solid #dbe8ea;border-radius:14px;flex-direction:column;gap:8px;padding:16px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex}.pm-phase-tab:hover{border-color:#b9d4d6}.pm-phase-tab.is-selected{background:#effcfb;border-color:#009d9a;box-shadow:0 0 0 1px #009d9a}.pm-phase-tab-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.pm-phase-tab-number{color:#46636b;background:#eaf4f5;border-radius:50%;place-content:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid}.pm-phase-tab-completed .pm-phase-tab-number{color:#fff;background:#137a4a}.pm-phase-tab-in-progress .pm-phase-tab-number{color:#fff;background:#a86900}.pm-phase-tab strong{font-size:14px}.pm-phase-tab-name{color:#536d75;font-size:12px;line-height:1.4}.pm-phase-detail{border-top:1px solid #e6eff0;padding-top:20px}.pm-phase-detail-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.pm-phase-detail-heading h3{margin:6px 0 4px;font-size:17px}.pm-phase-detail-heading>div:first-child>p{color:#688088;max-width:520px;margin:0;font-size:13px}.pm-phase-detail-progress{text-align:right;min-width:220px}.pm-phase-detail-progress .pm-workflow-progress{justify-content:flex-end}.pm-phase-detail-progress small{color:#7b9299;margin-top:6px;font-size:12px;display:block}.pm-phase-tab-switch{border-bottom:1px solid #e6eff0;gap:4px;margin-bottom:18px;display:flex}.pm-phase-tab-switch button{color:#7b9299;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-right:20px;padding:10px 4px;font-size:13px;font-weight:700}.pm-phase-tab-switch button.is-active{color:#009d9a;border-bottom-color:#009d9a}.pm-step-action{white-space:nowrap;padding:8px 12px;font-size:12px}.pm-avatar-group{align-items:center;gap:4px;display:flex}.pm-avatar-chip{color:#fff;background:#009d9a;border-radius:50%;place-content:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.pm-avatar-more{color:#46636b;background:#dcebec}.pm-no-assignee{color:#a7b6bb;font-size:12px}.pm-phase-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.pm-phase-info-item{background:#fbfdfd;border:1px solid #dbe8ea;border-radius:14px;flex-direction:column;gap:6px;padding:16px;display:flex}.pm-phase-info-item span{color:#688088;font-size:12px}.pm-phase-info-item strong{font-size:15px}.pm-phase-team-list{flex-direction:column;gap:10px;display:flex}.pm-phase-team-member{background:#fbfdfd;border:1px solid #dbe8ea;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.pm-phase-team-member>div{flex-direction:column;flex:1;gap:2px;display:flex}.pm-phase-team-member strong{font-size:13px}.pm-phase-team-member span{color:#688088;font-size:12px}.pm-phase-team-count{color:#536d75;white-space:nowrap;font-size:12px;font-weight:700}@media (width<=1100px){.pm-phase-tabs,.pm-phase-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.pm-project-picker-select select{width:100%;min-width:0}.pm-overview-card{flex-direction:column;align-items:stretch}.pm-overview-stats{flex-direction:column}.pm-summary-card{min-width:0}.pm-phase-tabs,.pm-phase-info-grid{grid-template-columns:1fr}.pm-phase-detail-progress{text-align:left}.pm-phase-detail-progress .pm-workflow-progress{justify-content:flex-start}.pm-review-actions{flex-direction:column;align-items:stretch}}.pm-charts-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.pm-chart-card h3{margin:0 0 12px;font-size:15px;font-weight:700}.pm-chart-canvas{height:250px;position:relative}.pm-chart-empty{text-align:center;color:var(--text-muted);margin:0;padding-top:90px}@media (width<=1100px){.pm-charts-row{grid-template-columns:1fr}}.pm-split-screen{grid-template-columns:1fr}.pm-split-screen>section:nth-child(2){order:-1}.pm-monitoring-table td{white-space:nowrap}.pm-monitoring-table td:first-child{white-space:normal}.pm-table-wrap{overflow-x:auto}.pm-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.pm-charts-grid-tasks{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.pm-charts-grid .pm-chart-canvas{height:320px}@media (width<=1000px){.pm-charts-grid,.pm-charts-grid-tasks{grid-template-columns:1fr}}.pm-phase-tab.is-locked,.pm-phase-tab.is-locked:hover{opacity:.6;cursor:not-allowed}.pm-insights-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);align-items:stretch;gap:20px;display:grid}.pm-insight-card{flex-direction:column;min-height:300px;padding:20px 22px;display:flex}.pm-insight-card h3{align-items:center;gap:8px;margin:0 0 18px;font-size:15px;font-weight:700;display:flex}.pm-insight-card h3 .fa-circle-info{color:var(--text-muted);cursor:help;font-size:13px}.pm-insight-card .pm-chart-empty{padding-top:70px}.pm-phase-bars{flex-direction:column;flex:1;justify-content:space-around;gap:18px;margin:0;padding:0;list-style:none;display:flex}.pm-phase-bars li{grid-template-columns:64px minmax(0,1fr) 42px;align-items:center;gap:12px;font-size:13px;display:grid}.pm-phase-bar-label{color:#17313b;font-weight:500}.pm-phase-bar-track{background:#e8f1f2;border-radius:999px;height:14px;position:relative;overflow:hidden}.pm-phase-bar-fill{border-radius:inherit;background:#08c8be;transition:width .4s;position:absolute;inset:0 auto 0 0}.pm-phase-bar-value{color:#536d75;text-align:right;font-variant-numeric:tabular-nums}.pm-task-status{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;display:grid}.pm-task-status-chart{height:180px;position:relative}.pm-task-status-legend{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pm-task-status-legend li{color:#17313b;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;display:grid}.pm-task-status-legend strong{font-variant-numeric:tabular-nums;font-weight:600}.pm-legend-swatch{border-radius:3px;width:12px;height:12px}.pm-insight-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pm-line-legend{color:#536d75;gap:14px;font-size:12px;display:flex}.pm-line-legend span{align-items:center;gap:6px;display:inline-flex}.pm-line-key{border-top:2.5px solid #08c8be;width:18px;height:0;display:inline-block}.pm-line-key.is-planned{border-top:2px dashed #94a3b8}.pm-line-chart{flex:1;min-height:200px;position:relative}.pm-line-caption{color:#688088;margin:10px 0 0;font-size:12px}.pm-line-caption strong{color:#17313b}.pm-line-caption .is-behind{color:#b42318;font-weight:600}.pm-line-caption .is-ahead{color:#137a4a;font-weight:600}@media (width<=1200px){.pm-insights-row{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-insights-row>:last-child{grid-column:1/-1}}@media (width<=760px){.pm-insights-row,.pm-task-status{grid-template-columns:1fr}}.pm-priority{color:#536d75;white-space:nowrap;background:#edf3f4;border-radius:6px;align-items:center;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.pm-priority.low{color:#1d4ed8;background:#eff6ff}.pm-priority.medium{color:#c2410c;background:#fff4e8}.pm-priority.high{color:#b91c1c;background:#fef2f2}.pm-priority.critical{color:#fff;background:#b91c1c}.pm-status.assigned{color:#007b79;background:#e7f8f7}.pm-status.in-progress{color:#1d4ed8;background:#eff6ff}.pm-status.needs-revision{color:#c2410c;background:#fff4e8}.pm-help-icon{color:var(--text-muted);cursor:help;margin-left:6px}.pm-outlook{color:#536d75;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 0;font-size:13px;display:flex}.pm-outlook strong{color:#17313b}.pm-risk-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}.pm-risk-badge.risk-low{background:var(--success-light);color:#15803d}.pm-risk-badge.risk-medium{background:var(--warning-light);color:#b45309}.pm-risk-badge.risk-high{background:var(--danger-light);color:#b91c1c}.pm-risk-badge.risk-critical{background:var(--danger);color:var(--text-white)}.analytics-dashboard-page{box-sizing:border-box;width:100%;min-height:100%;padding:var(--space-2xl);background:var(--background);color:var(--text-primary)}html.analytics-scroll-page{scrollbar-gutter:stable;overflow-y:auto}html.analytics-scroll-page::-webkit-scrollbar{width:12px}html.analytics-scroll-page::-webkit-scrollbar-track{background:var(--surface-hover)}html.analytics-scroll-page::-webkit-scrollbar-thumb{border:3px solid var(--surface-hover);background:var(--border);border-radius:999px}html.analytics-scroll-page::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@supports not selector(::-webkit-scrollbar){html.analytics-scroll-page{scrollbar-color:var(--text-muted) var(--surface-hover)}}.analytics-dashboard-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-xl);display:flex}.analytics-selector-actions{justify-content:flex-end;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.analytics-dashboard-header>div{min-width:0}.analytics-dashboard-header h1{color:var(--text-primary);font-size:var(--text-heading-1);font-weight:var(--weight-bold);margin:0 0 6px;line-height:1.2}.analytics-dashboard-header p{max-width:760px;color:var(--text-secondary);font-size:var(--text-body);margin:0;line-height:1.55}.analytics-eyebrow{color:var(--primary);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;font-size:var(--text-overline)!important;margin:0 0 5px!important;line-height:1.3!important}.analytics-refresh-button{min-width:110px;height:42px;padding:0 var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;transition:border-color .2s,background .2s,color .2s,opacity .2s;display:inline-flex}.analytics-refresh-button:hover:not(:disabled){border-color:var(--primary);background:var(--surface-hover);color:var(--primary-dark)}.analytics-refresh-button:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.analytics-refresh-button:disabled{opacity:.55;cursor:not-allowed}.analytics-project-selector{justify-content:space-between;align-items:flex-end;gap:var(--space-xl);margin-bottom:var(--space-xl);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:flex}.analytics-project-selector>div:first-child{flex-direction:column;gap:6px;width:360px;max-width:100%;display:flex}.analytics-project-selector label{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.analytics-project-selector select{box-sizing:border-box;width:100%;height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.analytics-project-selector select:hover{border-color:var(--primary)}.analytics-project-selector select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.analytics-project-meta{color:var(--text-muted);font-size:var(--text-caption);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.analytics-status{background:var(--border-light);min-height:26px;color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;line-height:1.2;display:inline-flex}.analytics-status.ongoing,.analytics-status.in-progress,.analytics-status.active{background:var(--info-light);color:var(--info)}.analytics-status.completed{background:var(--success-light);color:var(--success)}.analytics-status.delayed{background:var(--danger-light);color:var(--danger)}.analytics-status.not-started{background:var(--border-light);color:var(--text-secondary)}.analytics-alert{margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-caption);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.analytics-alert-error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.analytics-alert-success{border-color:var(--success);background:var(--success-light);color:var(--success)}.analytics-alert i{margin-top:2px}.analytics-loading-card{box-sizing:border-box;min-height:240px;padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-secondary);font-size:var(--text-body);justify-content:center;align-items:center;gap:10px;display:flex}.analytics-section{margin-bottom:var(--space-2xl)}.analytics-section:last-child{margin-bottom:0}.analytics-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-lg);display:flex}.analytics-section-heading h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 5px;line-height:1.3}.analytics-section-heading p{max-width:760px;color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.55}.analytics-model-label{border:1px solid var(--border);background:var(--surface);min-height:28px;color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;display:inline-flex}.analytics-kpi-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.analytics-kpi-card{min-width:0;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:5px;display:flex}.analytics-kpi-card>span{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.4}.analytics-kpi-card>strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold);line-height:1.2}.analytics-kpi-card>strong small{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.analytics-kpi-card>small{color:var(--text-muted);font-size:var(--text-overline);line-height:1.4}.analytics-kpi-card.forecast{border-left:3px solid var(--primary)}.analytics-kpi-card.success{border-left:3px solid var(--success)}.analytics-kpi-card.warning{border-left:3px solid var(--warning)}.analytics-kpi-card.danger{border-left:3px solid var(--danger)}.analytics-two-column{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-two-column:last-child{margin-bottom:0}.analytics-forecast-basis-grid{align-items:stretch}.analytics-forecast-basis-grid>.analytics-prediction-card{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;display:flex}.analytics-forecast-basis-grid .analytics-card-heading{min-height:96px}.analytics-chart-card{box-sizing:border-box;min-width:0;padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.analytics-chart-wide{width:100%;margin-bottom:var(--space-lg)}.analytics-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.analytics-card-heading>div{min-width:0}.analytics-card-heading h3{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 5px;line-height:1.3}.analytics-card-heading p{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.5}.analytics-count-badge{box-sizing:border-box;background:var(--border-light);min-width:28px;height:28px;color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.analytics-chart-container{width:100%;min-width:0;height:300px;position:relative}.analytics-chart-container canvas{max-width:100%;max-height:100%}.analytics-chart-doughnut{max-width:420px;height:300px;margin:0 auto}.analytics-chart-task-risk{height:340px}.analytics-chart-resource{height:320px}.analytics-chart-forecast,.analytics-chart-progress{height:360px}.analytics-progress-heading{align-items:flex-start}.analytics-progress-heading>div{min-width:0}.analytics-progress-view-switcher{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.analytics-progress-view-switcher button{height:32px;color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 12px;transition:background .2s,color .2s}.analytics-progress-view-switcher button:hover{background:var(--surface);color:var(--text-primary)}.analytics-progress-view-switcher button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #0f172a14}.analytics-progress-date-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analytics-progress-date-item{box-sizing:border-box;min-width:0;padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover)}.analytics-progress-date-item span{color:var(--text-muted);font-size:12px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;line-height:1.35;display:block}.analytics-progress-date-item strong{color:var(--text-primary);font-size:14px;font-weight:var(--weight-semibold);overflow-wrap:anywhere;line-height:1.4;display:block}.analytics-progress-note{margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover);align-items:flex-start;gap:8px;display:flex}.analytics-progress-note i{color:var(--primary);flex:none;margin-top:2px}.analytics-progress-note span{color:var(--text-secondary);font-size:13px;line-height:1.55}.analytics-progress-summary{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analytics-progress-summary-item{min-width:0;padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover)}.analytics-progress-summary-item span{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;display:block}.analytics-progress-summary-item strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold);line-height:1.35;display:block}.analytics-progress-summary-item small{color:var(--text-secondary);font-size:var(--text-overline);margin-top:3px;display:block}.analytics-phase-progress{gap:var(--space-md);flex-direction:column;display:flex}.analytics-phase-progress-row{align-items:center;gap:var(--space-md);grid-template-columns:minmax(150px,.9fr) minmax(180px,1.5fr) auto;display:grid}.analytics-phase-progress-info{min-width:0}.analytics-phase-progress-info strong{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.analytics-phase-progress-info span{color:var(--text-muted);font-size:var(--text-overline);margin-top:3px;display:block}.analytics-progress-track{background:var(--border-light);border-radius:999px;width:100%;height:7px;overflow:hidden}.analytics-progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .3s}.analytics-progress-fill.completed{background:var(--success)}.analytics-progress-fill.warning{background:var(--warning)}.analytics-progress-fill.danger{background:var(--danger)}.analytics-phase-progress-value{min-width:48px;color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-align:right}.analytics-risk-badge{width:fit-content;min-width:62px;font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 9px;line-height:1.2;display:inline-flex}.analytics-risk-badge.low{background:var(--success-light);color:var(--success)}.analytics-risk-badge.medium{background:var(--warning-light);color:var(--warning)}.analytics-risk-badge.high,.analytics-risk-badge.critical{background:var(--danger-light);color:var(--danger)}.analytics-risk-badge.analytics-risk-level{text-transform:none;letter-spacing:normal;border:1px solid #0000;gap:5px}.analytics-risk-badge.analytics-risk-level.low{background:var(--risk-low-light);color:var(--risk-low)}.analytics-risk-badge.analytics-risk-level.medium{background:var(--risk-medium-light);color:var(--risk-medium)}.analytics-risk-badge.analytics-risk-level.high{border-color:var(--risk-high-accent);background:var(--risk-high-light);color:var(--risk-high)}.analytics-risk-badge.analytics-risk-level.critical{background:var(--risk-high);color:var(--surface)}.analytics-risk-badge.analytics-risk-level.unknown{border-color:var(--border);background:var(--risk-unknown-light);color:var(--risk-unknown)}.analytics-risk-icon{font-size:.95em}.analytics-risk-text{align-items:center;gap:8px;display:inline-flex}.analytics-risk-text.low{color:var(--risk-low)!important}.analytics-risk-text.medium{color:var(--risk-medium)!important}.analytics-risk-text.high,.analytics-risk-text.critical{color:var(--risk-high)!important}.analytics-risk-text.unknown{color:var(--risk-unknown)!important}.analytics-forecast-status{width:fit-content;min-height:28px;font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;line-height:1.2;display:inline-flex}.analytics-forecast-status.on-track,.analytics-forecast-status.projected-on-time,.analytics-forecast-status.projected-early,.analytics-forecast-status.completed{background:var(--success-light);color:var(--success)}.analytics-forecast-status.projected-late,.analytics-forecast-status.behind,.analytics-forecast-status.at-risk{background:var(--danger-light);color:var(--danger)}.analytics-forecast-status.insufficient-data{background:var(--warning-light);color:var(--warning)}.analytics-completion-forecast-card{flex-direction:column;display:flex}.analytics-forecast-main{box-sizing:border-box;min-height:116px;margin-bottom:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover);flex-direction:column;justify-content:center;gap:6px;display:flex}.analytics-forecast-main>span{color:var(--text-muted);font-size:13px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;line-height:1.35}.analytics-forecast-main>strong{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);line-height:1.2}.analytics-forecast-main>small{color:var(--text-secondary);font-size:13px;line-height:1.4}.analytics-forecast-details{gap:var(--space-sm);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analytics-forecast-details>div{box-sizing:border-box;min-width:0;padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface)}.analytics-forecast-details span{color:var(--text-muted);font-size:12px;font-weight:var(--weight-semibold);margin-bottom:5px;line-height:1.35;display:block}.analytics-forecast-details strong{color:var(--text-primary);font-size:14px;font-weight:var(--weight-bold);overflow-wrap:anywhere;line-height:1.35;display:block}.analytics-forecast-details .forecast-late{color:var(--danger)}.analytics-forecast-details .forecast-early,.analytics-forecast-details .forecast-on-time{color:var(--success)}.analytics-forecast-period-summary{gap:var(--space-sm);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analytics-forecast-period-summary>div{min-width:0;padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover)}.analytics-forecast-period-summary span{color:var(--text-muted);font-size:12px;font-weight:var(--weight-semibold);margin-bottom:5px;line-height:1.35;display:block}.analytics-forecast-period-summary strong{color:var(--text-primary);font-size:13px;font-weight:var(--weight-semibold);overflow-wrap:anywhere;line-height:1.4;display:block}.analytics-forecast-method{gap:var(--space-md);flex-direction:column;margin-top:auto;display:flex}.analytics-forecast-method>div{min-width:0}.analytics-forecast-method strong{color:var(--text-primary);font-size:13px;font-weight:var(--weight-semibold);margin-bottom:4px;display:block}.analytics-forecast-method p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.analytics-forecast-calculation{gap:var(--space-lg);flex-direction:column;display:flex}.analytics-forecast-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.analytics-forecast-header>div{min-width:0}.analytics-forecast-header h3{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 5px}.analytics-forecast-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.5}.analytics-forecast-metrics{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analytics-forecast-metric{min-width:0;padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover)}.analytics-forecast-metric span{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;line-height:1.3;display:block}.analytics-forecast-metric strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold);line-height:1.35;display:block}.analytics-forecast-metric small{color:var(--text-secondary);font-size:var(--text-overline);margin-top:3px;line-height:1.4;display:block}.analytics-calculation-box{padding:var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover)}.analytics-calculation-box>span{margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);display:block}.analytics-calculation-formula{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--text-overline);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.65;overflow-x:auto}.analytics-calculation-table-wrap{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;overflow-x:auto}.analytics-calculation-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:560px}.analytics-calculation-table th{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-align:left}.analytics-calculation-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);vertical-align:middle;line-height:1.45}.analytics-calculation-table tbody tr:last-child td{border-bottom:none}.analytics-calculation-table td:first-child{width:45%;color:var(--text-secondary)}.analytics-calculation-table td:last-child{color:var(--text-primary);font-weight:var(--weight-semibold)}.analytics-progress-basis-card{flex-direction:column;display:flex}.analytics-progress-basis-content{align-items:flex-start;gap:var(--space-md);box-sizing:border-box;padding:var(--space-lg);flex:1;display:flex}.analytics-progress-basis-icon{border-radius:var(--radius-sm);background:var(--primary-light);width:38px;height:38px;color:var(--primary);flex:0 0 38px;justify-content:center;align-items:center;display:flex}.analytics-progress-basis-content>div:last-child{min-width:0}.analytics-progress-basis-content p{margin:0 0 var(--space-md);color:var(--text-secondary);font-size:14px;line-height:1.6}.analytics-progress-basis-content p:last-child{margin-bottom:0}.analytics-progress-basis-content p strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.analytics-progress-basis-stat{justify-content:space-between;align-items:center;gap:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:8px;padding:10px 12px;display:flex}.analytics-progress-basis-stat span{color:var(--text-secondary);font-size:13px;line-height:1.35}.analytics-progress-basis-stat strong{color:var(--text-primary);font-size:14px;font-weight:var(--weight-bold);white-space:nowrap;flex:none}.analytics-progress-basis-rule{padding:var(--space-md);border-top:1px solid var(--border-light);margin-top:auto}.analytics-progress-basis-rule span{color:var(--text-muted);font-size:12px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;display:block}.analytics-progress-basis-rule strong{color:var(--text-primary);font-size:13px;font-weight:var(--weight-semibold);line-height:1.5;display:block}.analytics-data-sufficiency{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);display:flex}.analytics-data-sufficiency i{color:var(--warning);flex:none;margin-top:2px}.analytics-data-sufficiency strong{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);margin-bottom:3px;display:block}.analytics-data-sufficiency p{color:var(--text-secondary);font-size:var(--text-overline);margin:0;line-height:1.5}.analytics-predictive-section{padding-top:var(--space-sm)}.analytics-insight-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analytics-insight-card{align-items:flex-start;gap:var(--space-md);min-width:0;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:flex}.analytics-insight-card>div:last-child{min-width:0}.analytics-insight-icon{border-radius:var(--radius-sm);background:var(--border-light);width:38px;height:38px;color:var(--text-secondary);flex:0 0 38px;justify-content:center;align-items:center;display:flex}.analytics-insight-card h3{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold);margin:3px 0 5px;line-height:1.35}.analytics-insight-card p{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.5}.analytics-insight-card span{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.analytics-insight-card.task{border-left:3px solid var(--warning)}.analytics-insight-card.resource{border-left:3px solid var(--info)}.analytics-insight-card.timeline{border-left:3px solid var(--warning)}.analytics-insight-card.schedule{border-left:3px solid var(--danger)}.analytics-insight-card.forecast{border-left:3px solid var(--primary)}.analytics-insight-card.normal{border-left:3px solid var(--success)}.analytics-insight-card.risk-critical,.analytics-insight-card.risk-high{border-left-color:var(--risk-high-accent)}.analytics-insight-card.risk-medium{border-left-color:var(--risk-medium-accent)}.analytics-insight-card.risk-low{border-left-color:var(--risk-low-accent)}.analytics-insight-card.risk-unknown{border-left-color:var(--risk-unknown)}.analytics-table-wrap{border:1px solid var(--border-light);border-radius:var(--radius-sm);scrollbar-width:thin;width:100%;overflow-x:auto}.analytics-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:720px}.analytics-table th{padding:var(--space-md);border-bottom:1px solid var(--border);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-align:left;white-space:nowrap}.analytics-table td{padding:var(--space-md);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);vertical-align:middle;line-height:1.5}.analytics-table tbody tr:last-child td{border-bottom:none}.analytics-table tbody tr:hover{background:var(--surface-hover)}.analytics-table td strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.analytics-pagination{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-lg);margin-top:var(--space-md);font-size:var(--text-caption);color:var(--text-secondary);flex-wrap:wrap;display:flex}.analytics-pagination-controls{align-items:center;gap:6px;display:flex}.analytics-pagination-arrow,.analytics-pagination-page{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:28px;height:28px;color:var(--text-secondary);font-size:var(--text-caption);cursor:pointer;justify-content:center;align-items:center;display:flex}.analytics-pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.analytics-pagination-page.active{background:var(--primary);border-color:var(--primary);color:var(--text-white)}.analytics-date-value{color:var(--text-primary);font-weight:var(--weight-semibold);white-space:nowrap}.analytics-variance-positive{color:var(--danger);font-weight:var(--weight-semibold)}.analytics-variance-negative{color:var(--success);font-weight:var(--weight-semibold)}.analytics-variance-neutral{color:var(--text-secondary);font-weight:var(--weight-semibold)}.analytics-empty-state{box-sizing:border-box;min-height:180px;padding:var(--space-xl);text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.analytics-empty-state i{margin-bottom:var(--space-md);color:var(--success);font-size:24px}.analytics-empty-state h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0 0 6px}.analytics-empty-state p{max-width:560px;color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.6}.analytics-page-empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:360px}.analytics-prediction-card{box-sizing:border-box;min-width:0;padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.analytics-prediction-main{margin-bottom:var(--space-lg);flex-direction:column;gap:6px;display:flex}.analytics-prediction-main>span{color:var(--text-secondary);font-size:var(--text-caption)}.analytics-prediction-main>strong{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);line-height:1.25}.analytics-prediction-main>small{color:var(--text-muted);font-size:var(--text-caption)}.analytics-prediction-reason{padding-top:var(--space-lg);border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.6}.analytics-prediction-meta{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-prediction-meta-item{min-width:0}.analytics-prediction-meta-item span{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;display:block}.analytics-prediction-meta-item strong{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);overflow-wrap:anywhere;line-height:1.45;display:block}.analytics-recommendation{align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-sm);background:var(--surface-hover);display:flex}.analytics-recommendation i{color:var(--primary);flex:none;margin-top:3px}.analytics-recommendation p{color:var(--text-secondary);font-size:var(--text-body);margin:0;line-height:1.65}.analytics-methodology{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-methodology-item{min-width:0;padding:var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-hover)}.analytics-methodology-item>span{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;display:block}.analytics-methodology-item>strong{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);margin-bottom:5px;display:block}.analytics-methodology-item>p{color:var(--text-secondary);font-size:var(--text-overline);margin:0;line-height:1.55}@media (width<=1180px){.analytics-kpi-grid,.analytics-insight-grid,.analytics-forecast-metrics,.analytics-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.analytics-dashboard-page{padding:var(--space-xl)}.analytics-dashboard-header{flex-direction:column;align-items:stretch}.analytics-refresh-button{align-self:flex-start}.analytics-project-selector{flex-direction:column;align-items:stretch}.analytics-project-selector>div:first-child{width:100%}.analytics-project-meta{justify-content:flex-start}.analytics-two-column{grid-template-columns:1fr}.analytics-section-heading{gap:var(--space-md);flex-direction:column}.analytics-model-label{align-self:flex-start}.analytics-phase-progress-row{grid-template-columns:1fr;gap:6px}.analytics-phase-progress-value{text-align:left}.analytics-forecast-header{flex-direction:column;align-items:flex-start}.analytics-methodology{grid-template-columns:1fr}.analytics-forecast-basis-grid .analytics-card-heading{min-height:auto}.analytics-progress-heading{gap:var(--space-md);flex-direction:column}.analytics-progress-view-switcher{align-self:flex-start}.analytics-progress-date-grid{grid-template-columns:1fr}.analytics-chart-progress{height:320px}.analytics-forecast-period-summary{grid-template-columns:1fr}}@media (width<=600px){.analytics-dashboard-page{padding:var(--space-lg)}.analytics-dashboard-header h1{font-size:var(--text-heading-2)}.analytics-dashboard-header p{font-size:var(--text-caption)}.analytics-refresh-button{width:100%}.analytics-kpi-grid,.analytics-insight-grid,.analytics-progress-summary,.analytics-forecast-metrics,.analytics-prediction-meta{grid-template-columns:1fr}.analytics-chart-card,.analytics-prediction-card{padding:var(--space-lg)}.analytics-chart-container{height:260px}.analytics-chart-task-risk{height:320px}.analytics-chart-resource{height:280px}.analytics-chart-forecast{height:300px}.analytics-chart-progress{height:280px}.analytics-chart-doughnut{height:260px}.analytics-table{min-width:680px}.analytics-calculation-table{min-width:520px}.analytics-progress-view-switcher{width:100%}.analytics-progress-view-switcher button{flex:1;padding:0 8px}.analytics-forecast-details,.analytics-forecast-period-summary{grid-template-columns:1fr}.analytics-progress-basis-content{padding:var(--space-md)}.analytics-progress-basis-stat{flex-direction:column;align-items:flex-start;gap:4px}}.analytics-table th{font-size:13px;font-weight:var(--weight-semibold);line-height:1.4}.analytics-table td{font-size:14px;line-height:1.55}.analytics-table td strong{font-size:14px}.analytics-calculation-table th{font-size:13px;line-height:1.4}.analytics-calculation-table td{font-size:14px;line-height:1.5}.analytics-chart-container,.analytics-chart-container canvas{font-size:14px}.analytics-card-heading h3{font-size:var(--text-heading-3)}.analytics-card-heading p,.analytics-phase-progress-info strong{font-size:14px}.analytics-phase-progress-info span{font-size:13px}.analytics-phase-progress-value{font-size:14px}.analytics-forecast-metric span{font-size:13px}.analytics-forecast-metric strong{font-size:15px}.analytics-forecast-metric small,.analytics-progress-summary-item span{font-size:13px}.analytics-progress-summary-item strong{font-size:15px}.analytics-progress-summary-item small{font-size:13px}.analytics-insight-card h3{font-size:15px}.analytics-insight-card p{font-size:14px}.analytics-insight-card span{font-size:13px}.analytics-prediction-main>span,.analytics-prediction-main>small,.analytics-prediction-reason{font-size:14px}.analytics-prediction-meta-item span{font-size:13px}.analytics-prediction-meta-item strong{font-size:14px}.analytics-recommendation p{font-size:15px}.analytics-calculation-box>span{font-size:14px}.analytics-calculation-formula{font-size:13px;line-height:1.7}.analytics-data-sufficiency strong{font-size:14px}.analytics-data-sufficiency p,.analytics-methodology-item>span{font-size:13px}.analytics-methodology-item>strong{font-size:14px}.analytics-methodology-item>p{font-size:13px}@media (width<=420px){.analytics-dashboard-page,.analytics-project-selector,.analytics-chart-card,.analytics-prediction-card,.analytics-kpi-card,.analytics-insight-card,.analytics-forecast-metric,.analytics-progress-summary-item,.analytics-methodology-item{padding:var(--space-md)}.analytics-table{min-width:640px}.analytics-calculation-table{min-width:500px}.analytics-progress-view-switcher button{padding:0 6px;font-size:11px}}.analytics-view-tabs{margin-bottom:var(--space-lg);border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.analytics-view-tabs button{height:36px;padding:0 var(--space-lg);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;display:inline-flex}.analytics-view-tabs button.active{background:var(--primary-light);color:var(--primary-dark)}.prediction-grid{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.prediction-card{min-width:0;padding:var(--space-lg);border:1px solid var(--border);background:var(--surface);border-left-width:4px;border-radius:12px;flex-direction:column;gap:10px;display:flex}.prediction-card.tone-good{border-left-color:var(--success)}.prediction-card.tone-warn{border-left-color:var(--warning)}.prediction-card.tone-bad{border-left-color:var(--danger)}.prediction-card.tone-neutral{border-left-color:var(--text-muted)}.prediction-card-label{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;display:inline-flex}.prediction-card-label i{color:var(--primary)}.prediction-headline{color:var(--text-primary);font-size:var(--text-metric-small);font-weight:var(--weight-bold);line-height:1.25}.tone-good .prediction-headline{color:var(--success)}.tone-warn .prediction-headline{color:var(--warning)}.tone-bad .prediction-headline{color:var(--danger)}.prediction-card.risk-critical,.prediction-card.risk-high{border-left-color:var(--risk-high-accent)}.prediction-card.risk-medium{border-left-color:var(--risk-medium-accent)}.prediction-card.risk-low{border-left-color:var(--risk-low-accent)}.prediction-card.risk-unknown{border-left-color:var(--risk-unknown)}.risk-critical .prediction-headline,.risk-high .prediction-headline{color:var(--risk-high)}.risk-medium .prediction-headline{color:var(--risk-medium)}.risk-low .prediction-headline{color:var(--risk-low)}.risk-unknown .prediction-headline{color:var(--risk-unknown)}.prediction-headline small{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-medium)}.prediction-facts{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.prediction-facts dt{color:var(--text-muted);font-size:var(--text-overline)}.prediction-facts dd{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);margin:2px 0 0}.prediction-note{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.5}.prediction-reasons{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.prediction-reasons li{font-size:var(--text-caption);flex-direction:column;gap:2px;line-height:1.45;display:flex}.prediction-reasons strong{color:var(--text-primary)}.prediction-reasons span{color:var(--text-secondary)}.prediction-actions-card{border-left-color:var(--primary);margin-bottom:var(--space-lg)}.prediction-actions{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.prediction-actions li{color:var(--text-primary);font-size:var(--text-label);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.prediction-priority{min-width:58px;font-size:var(--text-overline);font-weight:var(--weight-semibold);text-align:center;border-radius:999px;flex-shrink:0;padding:2px 8px}.prediction-priority.priority-critical{background:var(--danger);color:var(--surface)}.priority-high{background:var(--danger-light);color:var(--danger)}.prediction-explainer{padding:var(--space-md) var(--space-lg);border:1px solid var(--border);background:var(--surface-hover);border-radius:12px}.prediction-explainer summary{color:var(--primary-dark);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.prediction-explainer ul{margin:var(--space-md) 0 0;color:var(--text-secondary);font-size:var(--text-caption);padding-left:20px;line-height:1.7}.yearly-year-select{flex-direction:column;gap:4px;min-width:140px;display:flex}.yearly-year-select span{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.yearly-year-select select{height:42px;padding:0 var(--space-md);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:var(--text-label);border-radius:8px}.yearly-risk-grid{margin-top:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr))}.text-good{color:var(--success)!important}.text-warn{color:var(--warning)!important}.text-bad{color:var(--danger)!important}.text-risk-high{color:var(--risk-high)!important}.text-risk-medium{color:var(--risk-medium)!important}.text-risk-low{color:var(--risk-low)!important}.yearly-empty{padding:var(--space-lg) 0}.yearly-table-wrapper{overflow-x:auto}.yearly-table{border-collapse:collapse;width:100%;font-size:var(--text-label)}.yearly-table th{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-align:left;white-space:nowrap;padding:10px 12px}.yearly-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle;padding:12px}.yearly-table td small{color:var(--text-muted);font-size:var(--text-overline);display:block}.prediction-pill{font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.prediction-pill.tone-good{background:var(--success-light);color:var(--success)}.prediction-pill.tone-warn{background:var(--warning-light);color:#b45309}.prediction-pill.tone-bad{background:var(--danger-light);color:var(--danger)}.prediction-pill.tone-neutral{background:var(--surface-hover);color:var(--text-secondary)}.prediction-pill.risk-critical{background:var(--risk-high);color:var(--surface)}.prediction-pill.risk-high{box-shadow:inset 0 0 0 1px var(--risk-high-accent);background:var(--risk-high-light);color:var(--risk-high)}.prediction-pill.risk-medium{background:var(--risk-medium-light);color:var(--risk-medium)}.prediction-pill.risk-low{background:var(--risk-low-light);color:var(--risk-low)}.prediction-pill.risk-unknown{background:var(--risk-unknown-light);color:var(--risk-unknown)}@media (width<=1100px){.prediction-grid,.yearly-risk-grid{grid-template-columns:1fr}}.report-page{box-sizing:border-box;width:100%;min-height:100%;padding:var(--space-lg) var(--space-2xl) var(--space-2xl);background:var(--background);color:var(--text-primary)}.report-page>*{max-width:1440px;margin-left:auto;margin-right:auto}.report-eyebrow{color:var(--primary);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;font-size:var(--text-overline)!important;margin:0 0 5px!important;line-height:1.3!important}.report-project-card{margin-bottom:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.report-project-card .report-setup-field{width:100%;min-width:0;max-width:360px}.report-setup-card{align-items:flex-end;gap:var(--space-xl);margin-bottom:var(--space-xl);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;display:flex}.report-setup-field{flex-direction:column;gap:6px;min-width:260px;display:flex}.report-setup-field label{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.report-setup-field select{box-sizing:border-box;width:100%;height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}.report-setup-field select:hover{border-color:var(--primary)}.report-setup-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.report-type-field{flex:1;min-width:420px}.report-type-options{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.report-type-option{box-sizing:border-box;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;gap:4px;transition:border-color .2s,background .2s;display:flex}.report-type-option strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.report-type-option span{color:var(--text-secondary);font-size:var(--text-overline);line-height:1.4}.report-type-option:hover{border-color:var(--primary)}.report-type-option.active{border-color:var(--primary);background:var(--primary-light)}.report-type-option.active strong{color:var(--primary-dark)}.report-generate-button{min-width:180px;height:42px;padding:0 var(--space-lg);border-radius:var(--radius-sm);background:var(--primary);color:var(--text-white);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;transition:background .2s,opacity .2s;display:inline-flex}.report-generate-button:hover:not(:disabled){background:var(--primary-dark)}.report-generate-button:disabled{opacity:.55;cursor:not-allowed}.report-alert{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-caption);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.report-alert-error{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.report-empty-state{box-sizing:border-box;min-height:300px;padding:var(--space-2xl);border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.report-empty-state i{color:var(--text-muted);font-size:32px}.report-empty-state h2{color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold);margin:0}.report-empty-state p{max-width:420px;font-size:var(--text-caption);margin:0;line-height:1.55}.report-preview{box-sizing:border-box;padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.report-letterhead{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border);display:flex}.report-letterhead h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 8px}.report-letterhead-meta{color:var(--text-muted);font-size:var(--text-caption);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.report-generated-meta{color:var(--text-muted);font-size:var(--text-overline);margin:0}.report-actions{flex-shrink:0;gap:8px;display:flex}.report-action-button{height:40px;padding:0 var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;align-items:center;gap:8px;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.report-action-button:hover{border-color:var(--primary);color:var(--primary-dark)}.report-action-button.primary{border-color:var(--primary);background:var(--primary);color:var(--text-white)}.report-action-button.primary:hover{background:var(--primary-dark);color:var(--text-white)}.report-status{background:var(--border-light);min-height:24px;color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;display:inline-flex}.report-status.ongoing,.report-status.in-progress,.report-status.active{background:var(--info-light);color:var(--info)}.report-status.completed{background:var(--success-light);color:var(--success)}.report-status.delayed{background:var(--danger-light);color:var(--danger)}.report-section{margin-bottom:var(--space-xl)}.report-section:last-child{margin-bottom:0}.report-section>h3{margin:0 0 var(--space-lg);color:var(--text-primary);font-size:var(--text-heading-3);font-weight:var(--weight-bold)}.report-kpi-grid{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.report-kpi-card{min-width:0;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);flex-direction:column;gap:5px;display:flex}.report-kpi-card>span{color:var(--text-secondary);font-size:var(--text-caption)}.report-kpi-card>strong{color:var(--text-primary);font-size:var(--text-metric-medium);font-weight:var(--weight-bold)}.report-kpi-card>small{color:var(--text-muted);font-size:var(--text-overline)}.report-outlook-summary{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:1.1fr 1fr;align-items:stretch;display:grid}.report-outlook-summary .report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.report-outlook-summary .report-chart-card{flex-direction:column;margin-bottom:0;display:flex}.report-outlook-summary .report-chart-container{flex:1;height:auto;min-height:190px}.report-chart-row{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.report-chart-row .report-chart-card{margin-bottom:0}.report-chart-flex-grow{flex:320px}.report-chart-sidebar{flex-direction:column;flex:0 0 260px;display:flex}.report-chart-card{box-sizing:border-box;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);margin-bottom:var(--space-md)}.report-chart-card h4{margin:0 0 var(--space-sm);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.report-chart-container{width:100%;height:220px;position:relative}.report-chart-container-small{max-width:236px;height:236px;margin:0 auto}.report-table-wrap{width:100%;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:var(--text-caption)}.report-table-keyvalue{max-width:640px}.report-table th,.report-table td{border-bottom:1px solid var(--border-light);text-align:left;vertical-align:top;padding:10px 12px}.report-table thead th{color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase}.report-table tbody th{width:220px;color:var(--text-secondary);font-weight:var(--weight-semibold)}.report-table tbody tr:last-child td,.report-table tbody tr:last-child th{border-bottom:none}.report-table-block{margin-top:var(--space-md)}.report-table-block h4{margin:0 0 var(--space-sm);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-semibold);align-items:center;gap:8px;display:flex}.report-count-badge{background:var(--border-light);min-width:24px;height:22px;color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-semibold);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;display:inline-flex}.report-empty-note{padding:var(--space-md);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption);margin:0}.report-insight-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.report-insight-card{max-width:420px;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.report-insight-card strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.report-insight-card p{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.5}.report-risk-badge{font-size:var(--text-overline);font-weight:var(--weight-semibold);border-radius:999px;justify-content:center;align-items:center;padding:3px 9px;display:inline-flex}.report-risk-badge.low{background:var(--success-light);color:var(--success)}.report-risk-badge.medium{background:var(--warning-light);color:var(--warning)}.report-risk-badge.high{background:var(--danger-light);color:var(--danger)}.report-two-column{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.report-info-card{box-sizing:border-box;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--background)}.report-info-card h4{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);margin:0 0 8px}.report-info-card p{color:var(--text-secondary);font-size:var(--text-caption);margin:0 0 6px;line-height:1.55}.report-info-card p:last-child{margin-bottom:0}.report-outcome-label{font-weight:var(--weight-bold);color:var(--text-primary)!important;font-size:var(--text-body)!important}.report-outcome-score{color:var(--text-muted)!important;font-size:var(--text-overline)!important}@media (width<=1200px){.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-type-options,.report-two-column,.report-outlook-summary{grid-template-columns:1fr}.report-chart-sidebar{flex:100%}.report-chart-container-small{max-width:220px}}@media (width<=768px){.report-page{padding:var(--space-lg)}.report-kpi-grid{grid-template-columns:1fr}.report-letterhead{flex-direction:column}.report-actions{width:100%}.report-action-button{flex:1;justify-content:center}}.report-actions-top{justify-content:flex-end}.report-action-button:disabled{opacity:.5;cursor:not-allowed}.report-actions-top{margin-bottom:4px}.report-page{padding:0}.report-page>*{max-width:none}.report-page .report-project-card .report-setup-field{width:fit-content;min-width:440px;max-width:100%}@media (width<=600px){.report-page .report-project-card .report-setup-field{width:100%;min-width:0}}.report-page>.analytics-view-tabs{align-self:flex-start;width:auto}.filtered-report-filters{margin-bottom:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filtered-report-filters .report-setup-field{flex:200px;min-width:180px;max-width:none}.filtered-report-filters .report-generate-button{height:42px}.filtered-report-filters-used{margin-bottom:var(--space-md);font-size:var(--text-caption)}.filtered-report-filters-used ul{color:var(--text-secondary);flex-wrap:wrap;gap:6px 18px;margin:6px 0 0;padding:0;list-style:none;display:flex}.filtered-report-filters-used span{color:var(--text-primary);font-weight:var(--weight-semibold)}.filtered-report-summary{margin:0 0 var(--space-md);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.filtered-report-subtitle{margin:var(--space-xl) 0 var(--space-md);font-size:var(--text-heading-3)}.filtered-report-filters select{min-width:0}.dashboard-page{gap:var(--space-xl);color:var(--text-primary);flex-direction:column;display:flex}.dashboard-stat-card{align-items:flex-start;gap:var(--space-lg);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl);display:flex}.dashboard-stat-icon{border-radius:var(--radius-md);width:44px;min-width:44px;height:44px;font-size:var(--text-heading-3);justify-content:center;align-items:center;display:flex}.dashboard-stat-icon.primary{background:var(--primary-light);color:var(--primary)}.dashboard-stat-icon.info{background:var(--info-light);color:var(--info)}.dashboard-stat-icon.success{background:var(--success-light);color:var(--success)}.dashboard-stat-icon.warning{background:var(--warning-light);color:var(--warning)}.dashboard-stat-icon.danger{background:var(--danger-light);color:var(--danger)}.dashboard-stat-title{font-size:var(--text-label);color:var(--text-secondary);margin-bottom:2px;display:block}.dashboard-stat-value{font-size:var(--text-metric-medium);font-weight:var(--weight-bold);color:var(--text-primary);display:block}.dashboard-stat-caption{font-size:var(--text-caption);font-weight:var(--weight-semibold);margin-top:2px;display:block}.caption-primary{color:var(--primary)}.caption-info{color:var(--info)}.caption-success{color:var(--success)}.caption-warning{color:var(--warning)}.caption-danger{color:var(--danger)}.dashboard-columns{gap:var(--space-xl);grid-template-columns:2fr 1fr;align-items:start;display:grid}.dashboard-main-column,.dashboard-side-column{gap:var(--space-xl);flex-direction:column;display:flex}.dashboard-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl)}.dashboard-card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dashboard-card-header h2{font-size:var(--text-heading-3);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.dashboard-card-link{color:var(--primary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;text-decoration:none}.dashboard-card-link:hover{text-decoration:underline}.chart-range-label{font-size:var(--text-caption);color:var(--text-muted)}.performance-table{border-collapse:collapse;width:100%}.performance-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light)}.performance-table td{padding:var(--space-md);border-bottom:1px solid var(--border-light);font-size:var(--text-body)}.performance-table tbody tr{cursor:pointer}.performance-table tbody tr:hover{background:var(--surface-hover)}.performance-table tbody tr:last-child td{border-bottom:none}.performance-project-name{font-weight:var(--weight-semibold);color:var(--text-primary)}.performance-progress-cell{align-items:center;gap:var(--space-sm);display:flex}.performance-progress-bar{background:var(--border-light);border-radius:999px;width:100px;height:6px;overflow:hidden}.performance-progress-bar div{background:var(--primary);border-radius:999px;height:100%}.staff-status{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;display:inline-flex}.staff-status--to-do{background:var(--border-light);color:var(--text-secondary)}.staff-status--in-progress{background:var(--info-light);color:var(--info)}.staff-status--for-review{background:var(--warning-light);color:var(--warning)}.staff-status--needs-revision,.staff-status--revision-in-progress,.staff-status--delayed,.staff-status--overdue{background:var(--danger-light);color:var(--danger)}.staff-status--unknown{background:var(--border-light);color:var(--text-muted)}.view-all-projects-link{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;text-decoration:none;display:flex}.view-all-projects-link:hover{background:var(--surface-hover)}.dashboard-notification-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-notification-item{align-items:flex-start;gap:var(--space-md);cursor:pointer;padding:var(--space-sm);margin:0 calc(var(--space-sm) * -1);border-radius:var(--radius-md);display:flex}.dashboard-notification-item:hover{background:var(--surface-hover)}.dashboard-notification-icon{width:28px;min-width:28px;height:28px;font-size:var(--text-caption);border-radius:50%;justify-content:center;align-items:center;display:flex}.dashboard-notification-info{background:var(--info-light);color:var(--info)}.dashboard-notification-text{flex-direction:column;min-width:0;display:flex}.dashboard-notification-text p{font-size:var(--text-body);color:var(--text-primary);font-weight:var(--weight-semibold);margin:0}.staff-schedule-type{font-size:var(--text-caption);color:var(--text-secondary)}.dashboard-notification-time{font-size:var(--text-caption);color:var(--text-muted);white-space:nowrap;margin-left:auto}.dashboard-deadline-list{gap:var(--space-lg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-deadline-item{align-items:flex-start;gap:var(--space-md);cursor:pointer;padding:var(--space-xs);margin:0 calc(var(--space-xs) * -1);border-radius:var(--radius-md);display:flex}.dashboard-deadline-item:hover{background:var(--surface-hover)}.dashboard-deadline-icon{border-radius:var(--radius-sm);background:var(--primary-light);width:32px;min-width:32px;height:32px;color:var(--primary);justify-content:center;align-items:center;display:flex}.dashboard-deadline-item>div{flex-direction:column;min-width:0;display:flex}.dashboard-deadline-item strong{font-size:var(--text-body);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-deadline-subtext{font-size:var(--text-caption);color:var(--text-secondary)}.staff-file-icon--pdf{background:var(--danger-light);color:var(--danger)}.staff-file-icon--xlsx{background:var(--success-light);color:var(--success)}.staff-file-icon--docx{background:var(--info-light);color:var(--info)}.staff-file-icon--dwg{background:var(--border-light);color:var(--text-secondary)}.staff-progress-summary__label{margin-bottom:var(--space-sm);font-size:var(--text-body);color:var(--text-secondary);justify-content:space-between;align-items:baseline;display:flex}.staff-progress-summary__label strong{color:var(--text-primary)}.performance-progress-bar.staff-progress-summary__bar{width:100%;height:10px}.staff-progress-stats{gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.staff-progress-stats>div{padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md)}.staff-progress-stats span{font-size:var(--text-caption);color:var(--text-secondary);display:block}.staff-progress-stats strong{font-size:var(--text-metric-small);font-weight:var(--weight-bold);color:var(--text-primary)}.staff-phase-stepper{padding:var(--space-md) var(--space-lg) var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.staff-phase{min-width:0;padding:0 var(--space-sm);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.staff-phase__line{background:var(--border-light);width:100%;height:3px;position:absolute;top:17px;left:-50%}.staff-phase:first-child .staff-phase__line{display:none}.staff-phase--completed .staff-phase__line,.staff-phase--active .staff-phase__line{background:var(--primary)}.staff-phase__marker{z-index:1;width:36px;height:36px;margin-bottom:var(--space-sm);border:3px solid var(--border-light);background:var(--surface);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid;position:relative}.staff-phase--completed .staff-phase__marker{border-color:var(--primary);background:var(--primary);color:var(--text-white)}.staff-phase--active .staff-phase__marker{border-color:var(--primary);color:var(--text-primary)}.staff-phase>strong{min-height:38px;color:var(--text-secondary);font-size:var(--text-caption);line-height:1.35}.staff-phase>span{margin-top:var(--space-xs);color:var(--text-muted);font-size:var(--text-overline)}.staff-phase--completed>span{color:var(--success);font-weight:var(--weight-semibold)}.staff-phase--active>span{color:var(--info);font-weight:var(--weight-semibold)}.staff-phase-cards{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.staff-phase-cards button{align-items:center;gap:var(--space-md);min-width:0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;transition:border-color .18s,background-color .18s;display:flex}.staff-phase-cards button:hover{border-color:var(--primary-light);background:var(--surface-hover)}.staff-phase-cards__icon{border-radius:var(--radius-md);width:44px;height:44px;font-size:var(--text-heading-3);flex:0 0 44px;place-items:center;display:grid}.staff-phase-cards__icon.current{background:var(--info-light);color:var(--info)}.staff-phase-cards__icon.next{background:var(--primary-light);color:var(--primary)}.staff-phase-cards button>span:last-child{flex-direction:column;min-width:0;display:flex}.staff-phase-cards small{color:var(--text-secondary);font-size:var(--text-overline);margin-bottom:1px}.staff-phase-cards strong{color:var(--text-primary);font-size:var(--text-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-phase-cards em{color:var(--text-secondary);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-style:normal;overflow:hidden}@media (width<=1200px) and (width>=901px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}@media (width<=600px){.dashboard-stats{grid-template-columns:1fr}.staff-phase-stepper{gap:var(--space-md);grid-template-columns:1fr}.staff-phase{text-align:left;align-items:flex-start;padding-left:48px}.staff-phase__marker{position:absolute;top:0;left:0}.staff-phase__line{width:3px;height:22px;top:-18px;left:17px}.staff-phase>strong{min-height:auto}.staff-phase-cards{grid-template-columns:1fr}}.staff-revision-alert{gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--danger);background:var(--danger-light);color:var(--danger);border-left-width:5px;border-radius:12px;align-items:flex-start;display:flex}.staff-revision-alert>i{margin-top:2px;font-size:22px}.staff-revision-alert ul{color:var(--text-primary);margin:6px 0 0;padding-left:18px}.staff-revision-alert li button{color:var(--danger);font-weight:var(--weight-bold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.staff-priority-flag{background:var(--danger-light);color:var(--danger);font-weight:var(--weight-bold);font-size:var(--text-caption);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.staff-priority-flag.critical{background:var(--danger);color:#fff}.staff-priority-normal{color:var(--text-muted);font-size:var(--text-caption)}.staff-priority-reason{color:var(--text-secondary);margin-top:3px;font-size:11px;line-height:1.35;display:block}.staff-progress-description{color:var(--text-secondary);font-size:var(--text-label);margin:10px 0 0;line-height:1.55}.staff-status,.performance-table td:nth-child(4),.performance-table td:nth-child(3){white-space:nowrap}.staff-priority-reason{max-width:260px}@media (width<=1200px){.dashboard-columns{grid-template-columns:1fr}}.dashboard-main-column,.dashboard-side-column{min-width:0}.dashboard-card{min-width:0;overflow-x:auto}.staff-dashboard .dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=800px){.staff-dashboard .dashboard-stats{grid-template-columns:1fr}}.staff-dashboard .dashboard-notification-item.is-unread{background:var(--primary-light)}.staff-dashboard .dashboard-notification-item.is-unread .dashboard-notification-text p{font-weight:var(--weight-bold)}.staff-dashboard .dashboard-notification-item .dashboard-notification-text p{font-size:var(--text-label);line-height:1.4}.staff-dashboard .dashboard-unread-badge{min-width:22px;height:22px;margin-left:var(--space-sm);background:var(--danger);color:var(--text-white);font-size:var(--text-caption);font-weight:var(--weight-bold);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.staff-dashboard .staff-status--completed{background:var(--success-light);color:var(--success)}.staff-dashboard .dashboard-notification-primary{background:var(--primary-light);color:var(--primary)}.staff-dashboard .dashboard-notification-success{background:var(--success-light);color:var(--success)}.staff-dashboard .dashboard-notification-warning{background:var(--warning-light);color:var(--warning)}.staff-dashboard .dashboard-notification-danger{background:var(--danger-light);color:var(--danger)}.staff-dashboard .dashboard-notification-muted{background:var(--border-light);color:var(--text-secondary)}.staff-due-date{white-space:nowrap}.staff-due-tag{font-size:var(--text-overline);font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 8px;display:inline-block}.staff-due-tag.is-overdue{background:var(--danger-light);color:var(--danger)}.staff-due-tag.is-late{background:var(--accent-light);color:#c2410c}.dashboard-reminder-pointer{margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:var(--text-caption);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.dashboard-reminder-pointer:hover{color:var(--primary-dark);text-decoration:underline}.my-projects{flex-direction:column;display:flex}.my-projects .project-stats{gap:var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(4,1fr);display:grid}.my-projects .stat-card{align-items:center;gap:var(--space-lg);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-xl) var(--space-2xl);display:flex}.my-projects .stat-icon{border-radius:var(--radius-md);width:56px;min-width:56px;height:56px;font-size:var(--text-heading-3);justify-content:center;align-items:center;display:flex}.my-projects .stat-icon.primary{background:var(--primary-light)}.my-projects .stat-icon.primary i{color:var(--primary)}.my-projects .stat-icon.warning{background:var(--warning-light)}.my-projects .stat-icon.warning i{color:var(--warning)}.my-projects .stat-icon.info{background:var(--info-light)}.my-projects .stat-icon.info i{color:var(--info)}.my-projects .stat-icon.success{background:var(--success-light)}.my-projects .stat-icon.success i{color:var(--success)}.my-projects .stat-content{gap:var(--space-xs);flex-direction:column;display:flex}.my-projects .stat-title{font-size:var(--text-body-large);color:var(--text-primary);font-weight:800}.my-projects .stat-value{font-size:var(--text-metric-large);color:var(--text-primary);font-weight:800;line-height:1}.my-projects .stat-caption{font-size:var(--text-caption);color:var(--text-muted)}.my-projects .project-filters{justify-content:space-between;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.my-projects .project-search{align-items:center;gap:var(--space-md);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:0 var(--space-lg);flex:1;min-width:320px;max-width:640px;height:52px;display:flex}.my-projects .project-search i{color:var(--text-muted);font-size:var(--text-heading-3)}.my-projects .project-search input[type=search]{font-size:var(--text-body-large);appearance:none;background:0 0;border:none;outline:none;flex:1}.my-projects .project-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.my-projects .project-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.my-projects .project-search input[type=search]::-webkit-search-results-button{-webkit-appearance:none}.my-projects .project-search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.my-projects .filter-row{align-items:center;gap:var(--space-xl);flex-shrink:0;display:flex}.my-projects .filter-group{gap:var(--space-xs);flex-direction:column;flex-shrink:0;display:flex}.my-projects .filter-group label{font-size:var(--text-body-large);color:var(--text-muted);white-space:nowrap}.my-projects .filter-group select{box-sizing:border-box;width:140px;height:46px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body-large);color:var(--text-primary);flex-shrink:0}.my-projects .project-table-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.my-projects .project-list-header{padding:var(--space-xl) var(--space-xl) var(--space-lg);justify-content:space-between;align-items:center;display:flex}.my-projects .project-list-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.my-projects .read-only-label{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.my-projects .project-table-wrapper{overflow-x:auto}.my-projects .project-table{border-collapse:collapse;width:100%}.my-projects .project-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light);white-space:nowrap}.my-projects .project-table td{padding:var(--space-xl);border-bottom:1px solid var(--border-light);vertical-align:middle;white-space:nowrap}.my-projects .project-table tbody tr{height:64px}.my-projects .project-table tbody tr:hover{background:var(--surface-hover)}.my-projects .project-table tbody tr:last-child td{border-bottom:none}.my-projects .table-name{font-size:var(--text-body-large);font-weight:var(--weight-semibold);color:var(--text-primary)}.my-projects .table-client,.my-projects .table-location{font-size:var(--text-body);color:var(--text-primary)}.my-projects .table-date{font-size:var(--text-body);color:var(--text-primary);white-space:nowrap}.my-projects .status-badge{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;display:inline-flex}.my-projects .status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.my-projects .badge-ongoing{background:var(--primary-light);color:var(--primary-dark)}.my-projects .badge-completed{background:var(--info-light);color:var(--info)}.my-projects .badge-not-started{background:var(--border-light);color:var(--text-secondary)}.my-projects .badge-delayed{background:var(--danger-light);color:var(--danger)}.my-projects .badge-cancelled{background:var(--border-light);color:var(--text-muted)}.my-projects .table-actions{justify-content:flex-start;align-items:center;gap:var(--space-sm);display:flex}.my-projects .action-button{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;gap:var(--space-xs);cursor:pointer;transition:background-color .2s,color .2s;display:flex}.my-projects .action-button:hover{background:var(--surface-hover);color:var(--text-primary)}.my-projects .table-pagination{padding:var(--space-xl);border-top:1px solid var(--border-light);font-size:var(--text-body);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.my-projects .pagination-controls{align-items:center;gap:6px;display:flex}.my-projects .pagination-arrow,.my-projects .pagination-page{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);font-size:var(--text-body);cursor:pointer;justify-content:center;align-items:center;display:flex}.my-projects .pagination-arrow:disabled{opacity:.4;cursor:not-allowed}.my-projects .pagination-page.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-white)}.my-projects .table-state{padding:var(--space-3xl);text-align:center;color:var(--text-muted);font-size:var(--text-body-large)}.my-projects .table-state-error{color:var(--danger)}@media (width<=1100px){.my-projects .project-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.my-projects .project-filters{flex-direction:column;align-items:stretch}.my-projects .project-search{width:100%}.my-projects .filter-row{flex-wrap:wrap}}@media (width<=600px){.my-projects .project-stats{grid-template-columns:1fr}.my-projects .filter-group select{width:100%}}.my-projects .view-project-button{border:1px solid var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;display:inline-flex}.my-projects .view-project-button:hover{background:var(--primary);color:#fff}.my-projects .project-task-stats{font-size:var(--text-caption);color:var(--text-secondary);white-space:nowrap;margin:0;padding:0;line-height:1.6;list-style:none}.my-projects .project-task-stats li.alert,.my-projects .project-task-stats li.alert strong{color:var(--danger);font-weight:var(--weight-bold)}.my-projects .project-sequence-row td{background:var(--surface);padding-top:0}.my-projects .project-sequence-label{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase;margin-bottom:6px;display:block}.my-projects .project-card-grid{gap:var(--space-xl);padding:0 var(--space-xl) var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.my-projects .project-card{gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.my-projects .project-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.my-projects .project-card-header h3{font-size:var(--text-body-large);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.my-projects .project-card-header p{color:var(--text-secondary);font-size:var(--text-label);margin:4px 0 0}.my-projects .project-card-dates{gap:var(--space-md);font-weight:var(--weight-semibold);grid-template-columns:1fr 1fr;display:grid}.my-projects .project-card-dates small{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase;display:block}.my-projects .project-card-progress-head{font-weight:var(--weight-bold);justify-content:space-between;display:flex}.my-projects .project-card-bar{background:var(--border-light);border-radius:999px;height:10px;margin:6px 0;overflow:hidden}.my-projects .project-card-bar div{background:var(--primary);border-radius:999px;height:100%}.my-projects .project-card-progress small{color:var(--text-secondary)}.my-projects .project-card-metrics{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.my-projects .project-card-metrics li{background:var(--border-light);border-radius:10px;flex-direction:column;gap:2px;padding:10px;display:flex}.my-projects .project-card-metrics span{color:var(--text-secondary);font-size:var(--text-caption)}.my-projects .project-card-metrics strong{font-size:var(--text-body-large)}.my-projects .project-card-metrics li.alert{background:var(--danger-light)}.my-projects .project-card-metrics li.alert strong,.my-projects .project-card-metrics li.alert span{color:var(--danger)}.my-projects .project-card .view-project-button{justify-content:center;align-self:stretch;margin-top:auto}.my-projects .project-filters{justify-content:flex-start;align-items:flex-end;gap:var(--space-lg)}.my-projects .project-filters .project-search{box-sizing:border-box;border:1px solid var(--border);flex:none;width:380px;max-width:100%;height:46px}.my-projects .project-filters .project-search:focus-within{border-color:var(--primary)}.my-projects .project-filters .filter-row{align-items:flex-end;gap:var(--space-lg)}.my-projects .filter-group{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.my-projects .filter-group select{width:auto;min-width:0;max-width:240px}@media (width<=700px){.my-projects .project-filters .project-search{flex:100%;width:auto;min-width:0}}.my-projects .my-progress-cell{flex-direction:column;gap:6px;min-width:140px;display:flex}.my-projects .my-progress-bar{background:var(--border-light);border-radius:999px;height:8px;overflow:hidden}.my-projects .my-progress-bar div{background:var(--primary);border-radius:999px;height:100%}.my-projects .my-progress-cell span{font-size:var(--text-caption);color:var(--text-secondary)}.my-projects .priority-badge{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;align-items:center;display:inline-flex}.my-projects .priority-critical,.my-projects .priority-high{background:var(--danger-light);color:var(--danger)}.my-projects .priority-medium{background:var(--warning-light);color:var(--warning)}.my-projects .priority-low{background:var(--success-light);color:var(--success)}.my-projects .priority-not-set{color:var(--text-muted);font-weight:var(--weight-medium);background:0 0}.my-projects .clear-filters-button{align-items:center;gap:var(--space-sm);height:46px;padding:0 var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;display:inline-flex}.my-projects .clear-filters-button:hover{border-color:var(--primary);color:var(--primary-dark)}.my-projects .table-state-link{color:var(--primary-dark);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;padding:0}.my-projects .table-state-link:hover{text-decoration:underline}.my-projects .project-table th,.my-projects .project-table td{padding-left:var(--space-md);padding-right:var(--space-md)}.my-projects .project-table .my-progress-cell{min-width:120px}.my-projects .project-table td:nth-child(-n+3){white-space:normal;overflow-wrap:anywhere;line-height:1.4}.my-projects .project-table td:first-child{min-width:180px;max-width:230px}.my-projects .project-table td:nth-child(2){min-width:120px;max-width:160px}.my-projects .project-table td:nth-child(3){min-width:150px;max-width:210px}.project-overview-page{gap:var(--space-lg);flex-direction:column;display:flex}.overview-back{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;align-self:flex-start;display:inline-flex}.overview-back:hover{background:var(--surface-hover);color:var(--text-primary)}.overview-card{gap:var(--space-md);padding:var(--space-xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.overview-layout{align-items:start;gap:var(--space-lg);grid-template-columns:2fr 1fr;display:grid}.overview-main,.overview-sidebar{gap:var(--space-lg);flex-direction:column;min-width:0;display:flex}.overview-heading{justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-light);flex-wrap:wrap;display:flex}.overview-heading h1{font-size:var(--text-heading-1);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.overview-info-grid{justify-content:flex-start;gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(140px,max-content));display:grid}.overview-info-grid>div{gap:var(--space-xs);flex-direction:column;display:flex}.overview-info-grid span{color:var(--text-muted);font-size:var(--text-caption)}.overview-info-grid strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.status-badge{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.badge-ongoing{background:var(--primary-light);color:var(--primary-dark)}.badge-completed{background:var(--info-light);color:var(--info)}.badge-not-started,.badge-assigned{background:var(--border-light);color:var(--text-secondary)}.badge-in-progress{background:var(--info-light);color:var(--info)}.badge-for-review{background:var(--warning-light);color:var(--warning)}.badge-delayed{background:var(--danger-light);color:var(--danger)}.badge-cancelled{background:var(--border-light);color:var(--text-muted)}.overview-progress-card{text-align:center;align-items:center}.overview-card-label{color:var(--text-muted);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--weight-bold)}.overview-progress-ring{--progress:0;background:radial-gradient(closest-side, var(--surface) 76%, transparent 77% 100%), conic-gradient(var(--primary) calc(var(--progress) * 1%), var(--border-light) 0);border-radius:50%;place-content:center;width:128px;height:128px;display:grid}.overview-progress-ring strong{font-size:var(--text-metric-medium);font-weight:var(--weight-bold);color:var(--text-primary)}.overview-status-list{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.overview-status-row-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--surface-hover);display:flex}.overview-status-row-item span:nth-child(2){text-align:left;color:var(--text-secondary);font-size:var(--text-label);flex:1}.overview-status-row-item strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold)}.overview-status-dot{border-radius:50%;width:8px;min-width:8px;height:8px}.overview-status-dot.status-completed{background:var(--success)}.overview-status-dot.status-in-progress{background:var(--info)}.overview-status-dot.status-todo{background:var(--text-muted)}.overview-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);display:flex}.overview-card-header h2{font-size:var(--text-heading-2);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.overview-card-header p{margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:var(--text-caption)}.overview-view-all{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;border:none;display:inline-flex}.overview-view-all:hover{background:var(--primary-dark)}.overview-team-list{gap:var(--space-sm);flex-direction:column;display:flex}.overview-team-member{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);display:flex}.overview-avatar{background:var(--primary);width:38px;min-width:38px;height:38px;color:var(--text-white);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}.overview-team-member>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.overview-team-member strong{font-size:var(--text-label);color:var(--text-primary)}.overview-team-member span{font-size:var(--text-caption);color:var(--text-muted)}.overview-team-count{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.overview-table-wrapper{overflow-x:auto}.overview-table{border-collapse:collapse;width:100%}.overview-table th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light)}.overview-table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-light);font-size:var(--text-body);color:var(--text-primary)}.overview-table tbody tr:last-child td{border-bottom:none}.overview-list-empty{padding:var(--space-2xl);text-align:center;color:var(--text-muted);font-size:var(--text-label)}.overview-empty{justify-content:center;align-items:center;gap:var(--space-md);min-height:320px;padding:var(--space-2xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.overview-empty i{color:var(--primary);font-size:32px}.overview-empty h3{color:var(--text-primary);font-size:var(--text-heading-3);margin:0}.overview-empty p{font-size:var(--text-label);margin:0}.overview-empty button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;border:none}@media (width<=1100px){.overview-layout{grid-template-columns:1fr}}@media (width<=900px){.overview-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.overview-info-grid{grid-template-columns:1fr}.overview-heading{flex-direction:column;align-items:flex-start}.overview-card-header{flex-direction:column;align-items:stretch}}.badge-needs-revision{background:var(--danger-light);color:var(--danger)}.overview-team-member .overview-avatar{color:var(--text-white);font-size:var(--text-caption)}.overview-team-member .overview-team-count{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);white-space:nowrap}.overview-description{gap:var(--space-xs);flex-direction:column;display:flex}.overview-description span{color:var(--text-muted);font-size:var(--text-caption)}.overview-description p{color:var(--text-primary);font-size:var(--text-body);white-space:pre-line;margin:0;line-height:1.6}.overview-section-note{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--warning-light);color:var(--warning);font-size:var(--text-label);font-weight:var(--weight-semibold)}.overview-clickable-row{cursor:pointer}.overview-clickable-row:hover{background:var(--surface-hover)}.project-task-page{width:100%;color:var(--text-primary);flex-direction:column;gap:18px;display:flex}.project-task-back{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;align-self:flex-start;display:inline-flex}.project-task-back:hover{background:var(--surface-hover);color:var(--text-primary)}.project-task-summary{gap:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;grid-template-columns:minmax(230px,1.6fr) minmax(230px,1.4fr) minmax(100px,.6fr) minmax(150px,.9fr);padding:20px 22px;display:grid;box-shadow:0 1px 3px #1018280a}.project-task-summary-item{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:6px;min-width:0;padding-right:20px;display:flex}.project-task-summary-item:last-child{border-right:none;padding-right:0}.project-task-summary-item>span{color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-medium)}.project-task-summary-item>strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-task-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;min-width:0;overflow:hidden;box-shadow:0 1px 3px #1018280a}.project-task-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);padding:22px 22px 16px;display:flex}.project-task-card-header h2{color:var(--text-primary);font-size:19px;font-weight:var(--weight-bold);margin:0 0 4px}.project-task-card-header p{color:var(--text-secondary);font-size:var(--text-label);margin:0}.read-only-label{background:var(--surface-hover);color:var(--text-secondary);font-size:10px;font-weight:var(--weight-semibold);white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.project-task-filters{gap:var(--space-md);grid-template-columns:minmax(260px,1fr) 150px 180px 160px auto;align-items:center;padding:0 22px 20px;display:grid}.project-task-search{position:relative}.project-task-search i{color:var(--text-muted);font-size:var(--text-label);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.project-task-search input,.project-task-filters select{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);background:#fff;border-radius:8px;outline:none}.project-task-search input{padding:0 14px 0 39px}.project-task-filters select{cursor:pointer;padding:0 12px}.project-task-search input:focus,.project-task-filters select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #08c8be1f}.clear-filter-button{border:1px solid var(--border);min-height:42px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;background:#fff;border-radius:8px;padding:0 15px}.clear-filter-button:hover{border-color:var(--primary);color:var(--primary)}.project-task-table-wrapper{padding:0 22px;overflow-x:auto}.project-task-table{border-collapse:collapse;width:100%;min-width:1000px}.project-task-table th,.project-task-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:13px 12px}.project-task-table th{color:var(--text-secondary);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.project-task-table td{color:var(--text-secondary);font-size:var(--text-caption)}.project-task-table td:first-child{color:var(--text-primary)}.project-task-group-row td{background:var(--surface-hover);padding:0}.project-task-group-button{width:100%;min-height:43px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0 13px;font-family:inherit;display:flex}.project-task-group-button:hover{background:var(--primary-light)}.project-task-group-button i{width:12px;color:var(--text-secondary);font-size:9px}.project-task-group-button strong{font-size:var(--text-caption)}.project-task-group-button span{color:var(--text-secondary);font-size:10px}.project-task-row{cursor:pointer;transition:background-color .18s}.project-task-row:hover{background:var(--surface-hover)}.task-assignee{align-items:center;gap:var(--space-sm);display:flex}.task-assignee-avatar{background:var(--border);width:29px;height:29px;color:var(--text-secondary);font-size:9px;font-weight:var(--weight-bold);border-radius:50%;flex:0 0 29px;place-items:center;display:inline-grid}.task-assignee-avatar.current-user{background:var(--primary);color:#fff}.task-assignee small{background:var(--primary-light);color:var(--primary-dark);font-size:9px;font-weight:var(--weight-bold);border-radius:5px;padding:2px 6px}.task-label{min-width:65px;font-size:10px;font-weight:var(--weight-semibold);border-radius:7px;justify-content:center;align-items:center;padding:5px 9px;display:inline-flex}.priority-high,.priority-critical{background:var(--danger-light);color:var(--danger)}.priority-medium{background:var(--warning-light);color:var(--warning)}.priority-low{background:var(--success-light);color:var(--success)}.status-in-progress{background:var(--info-light);color:var(--info)}.status-for-review{color:#7c3aed;background:#f2ebff}.status-pending,.status-not-started{background:var(--surface-hover);color:var(--text-secondary)}.status-overdue{background:var(--danger-light);color:var(--danger)}.status-completed{background:var(--success-light);color:var(--success)}.task-progress{align-items:center;gap:10px;display:flex}.task-progress-track{background:var(--border);border-radius:999px;width:105px;height:7px;overflow:hidden}.task-progress-track span{border-radius:inherit;background:var(--primary);height:100%;display:block}.task-progress strong{min-width:30px;color:var(--text-secondary);font-size:10px}.view-task-button{border:1px solid var(--border);width:31px;height:31px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:7px;place-items:center;display:grid}.view-task-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.view-task-button i{font-size:9px}.project-task-empty{min-height:260px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.project-task-empty>i{color:var(--text-muted);margin-bottom:14px;font-size:35px}.project-task-empty h3{color:var(--text-secondary);font-size:var(--text-body-large);margin:0 0 5px}.project-task-empty p{font-size:var(--text-caption);margin:0 0 15px}.project-task-empty button{border:1px solid var(--primary);background:var(--primary);color:#fff;min-height:36px;font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-semibold);cursor:pointer;border-radius:7px;padding:0 14px}.project-task-footer{min-height:62px;color:var(--text-secondary);font-size:var(--text-overline);justify-content:space-between;align-items:center;padding:12px 22px;display:flex}.project-task-pagination{align-items:center;gap:6px;display:flex}.project-task-pagination button{border:1px solid var(--border);width:31px;height:31px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-overline);background:#fff;border-radius:7px;place-items:center;display:grid}.project-task-pagination button.active{border-color:var(--text-primary);background:var(--text-primary);color:#fff}.project-task-pagination button:disabled{cursor:not-allowed;opacity:.4}@media (width<=1300px){.project-task-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.project-task-summary-item:nth-child(3){border-right:none}.project-task-filters{grid-template-columns:minmax(250px,1fr) repeat(3,150px)}.clear-filter-button{width:max-content}}@media (width<=1000px){.project-task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.project-task-summary-item{border-right:none}.project-task-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.project-task-search{grid-column:1/-1}}@media (width<=700px){.project-task-summary{grid-template-columns:1fr}.project-task-summary-item{padding-right:0}.project-task-card-header{flex-direction:column}.project-task-filters{grid-template-columns:1fr}.project-task-search{grid-column:auto}.clear-filter-button{width:100%}.project-task-footer{align-items:flex-start;gap:var(--space-md);flex-direction:column}}.task-details-page{gap:var(--space-lg);flex-direction:column;display:flex}.task-details-back{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;align-self:flex-start;display:inline-flex}.task-details-back:hover{background:var(--surface-hover);color:var(--text-primary)}.task-details-card{gap:var(--space-xl);padding:var(--space-2xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.task-details-heading{justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light);flex-wrap:wrap;display:flex}.task-details-heading h1{font-size:var(--text-heading-1);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.task-details-status{padding:var(--space-xs) var(--space-md);background:var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;display:inline-flex}.task-details-status.status-in-progress{background:var(--info-light);color:var(--info)}.task-details-status.status-for-review{background:var(--warning-light);color:var(--warning)}.task-details-status.status-completed{background:var(--success-light);color:var(--success)}.task-details-status.status-delayed,.task-details-status.status-cancelled{background:var(--danger-light);color:var(--danger)}.task-details-revision-banner{align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-light);display:flex}.task-details-revision-banner i{color:var(--warning);font-size:var(--text-heading-3);margin-top:2px}.task-details-revision-banner strong{margin-bottom:var(--space-xs);color:var(--text-primary);font-size:var(--text-body);display:block}.task-details-revision-banner p{color:var(--text-secondary);font-size:var(--text-label);margin:0;line-height:1.5}.task-details-info-grid{gap:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.task-details-info-grid>div{gap:var(--space-xs);flex-direction:column;display:flex}.task-details-info-grid span{color:var(--text-muted);font-size:var(--text-caption)}.task-details-info-grid strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.task-details-description{gap:var(--space-xs);flex-direction:column;display:flex}.task-details-description span{color:var(--text-muted);font-size:var(--text-caption)}.task-details-description p{color:var(--text-secondary);font-size:var(--text-body);margin:0;line-height:1.6}.task-details-progress{gap:var(--space-sm);flex-direction:column;display:flex}.task-details-progress-header{justify-content:space-between;align-items:center;display:flex}.task-details-progress-header span{color:var(--text-muted);font-size:var(--text-caption)}.task-details-progress-header strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold)}.task-progress-track{background:var(--border-light);border-radius:999px;height:8px;overflow:hidden}.task-progress-track>div{border-radius:inherit;background:var(--primary);height:100%;transition:width .25s}.task-details-evidence,.task-details-history{flex-direction:column;display:flex}.task-details-my-task-banner{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--primary-light);flex-wrap:wrap;display:flex}.task-details-my-task-banner>div{align-items:center;gap:var(--space-sm);color:var(--primary-dark);font-size:var(--text-label);font-weight:var(--weight-semibold);display:flex}.task-details-my-task-banner>div i{font-size:var(--text-heading-3)}.task-details-my-task-banner button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;border:none;display:inline-flex}.task-details-my-task-banner button:hover{background:var(--primary-dark)}.task-details-section-label{margin-bottom:var(--space-sm);color:var(--text-muted);font-size:var(--text-caption);display:block}.task-details-section-empty{padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:var(--text-label);background:var(--surface-hover);border-radius:var(--radius-md);margin:0}.task-details-evidence-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task-details-evidence-list li{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);display:flex}.task-details-evidence-info{align-items:center;gap:var(--space-md);min-width:0;display:flex}.task-details-evidence-info i{color:var(--primary);font-size:var(--text-heading-3)}.task-details-evidence-info>div{flex-direction:column;gap:2px;min-width:0;display:flex}.task-details-evidence-info span{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-details-evidence-info small{color:var(--text-muted);font-size:var(--text-caption)}.task-details-evidence-actions{gap:var(--space-sm);flex-shrink:0;display:flex}.task-details-evidence-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.task-details-evidence-actions button:hover{background:var(--surface-hover);color:var(--text-primary)}.task-details-history-heading{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.task-details-history-heading .task-details-section-label{margin-bottom:0}.task-details-history-toggle{color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;padding:0}.task-details-history-toggle:hover{text-decoration:underline}.task-details-history-list{margin:0;padding:0;list-style:none}.task-details-history-list li{gap:var(--space-sm);padding-bottom:var(--space-md);display:flex;position:relative}.task-details-history-list li:not(:last-child):before{content:"";background:var(--border-light);width:1px;position:absolute;top:12px;bottom:0;left:3px}.task-details-history-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.task-details-history-list p{color:var(--text-primary);font-size:var(--text-caption);margin:0;line-height:1.4}.task-details-history-message{font-style:italic;color:var(--text-secondary)!important;margin-top:2px!important}.task-details-history-list small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.task-details-empty{justify-content:center;align-items:center;gap:var(--space-md);min-height:320px;padding:var(--space-2xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.task-details-empty i{color:var(--primary);font-size:32px}.task-details-empty h3{color:var(--text-primary);font-size:var(--text-heading-3);margin:0}.task-details-empty p{font-size:var(--text-label);margin:0}.task-details-empty button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;border:none}.task-details-empty button:hover{background:var(--primary-dark)}@media (width<=900px){.task-details-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.task-details-info-grid{grid-template-columns:1fr}.task-details-heading{flex-direction:column;align-items:flex-start}}.my-task-page{gap:var(--space-lg);width:100%;min-width:0;color:var(--text-primary);flex-direction:column;display:flex}.task-loading{min-height:180px;padding:var(--space-2xl);color:var(--text-secondary);font-size:var(--text-label);justify-content:center;align-items:center;display:flex}.task-error{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);font-size:var(--text-label);line-height:1.5;display:flex}.task-summary-chip{justify-content:space-between;gap:var(--space-xs);min-width:0;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.task-summary-chip span{color:var(--text-primary);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.03em;font-weight:800}.task-summary-chip strong{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:800;line-height:1.1}.task-summary-chip.todo strong{color:var(--text-secondary)}.task-summary-chip.in-progress strong{color:var(--info)}.task-summary-chip.in-review strong{color:var(--warning)}.task-summary-chip.completed strong{color:var(--success)}.task-filters{gap:var(--space-md);grid-template-columns:minmax(280px,340px) minmax(260px,420px) 150px;align-items:end;display:grid}.task-search{align-items:center;gap:var(--space-sm);box-sizing:border-box;height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .2s;display:flex}.task-search:focus-within{border-color:var(--primary)}.task-search i{color:var(--text-muted);font-size:var(--text-label);flex-shrink:0}.task-search input{width:100%;min-width:0;color:var(--text-primary);font-family:inherit;font-size:var(--text-label);background:0 0;border:none;outline:none}.task-search input::placeholder{color:var(--text-muted)}.task-filter{gap:var(--space-xs);flex-direction:column;display:flex}.task-filter label{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.task-filter select{box-sizing:border-box;width:100%;height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:var(--text-label);cursor:pointer;outline:none;transition:border-color .2s}.task-filter select:focus{border-color:var(--primary)}.task-modal-overlay{z-index:1000;padding:var(--space-lg);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.task-modal{box-sizing:border-box;gap:var(--space-lg);width:100%;max-width:560px;max-height:88vh;padding:var(--space-2xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex;position:relative;overflow:hidden auto;box-shadow:0 12px 40px #0f172a26}.task-modal-close{top:var(--space-lg);right:var(--space-lg);background:var(--surface-hover);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:background-color .2s,color .2s;display:grid;position:absolute}.task-modal-close:hover{background:var(--border-light);color:var(--text-primary)}.task-modal-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.task-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);min-width:0;padding-right:36px;display:flex}.task-modal-header>div{min-width:0}.task-modal-header h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 4px;line-height:1.3}.task-modal-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.4}.task-modal-status{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption);font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-modal-status.status-todo{background:var(--border-light);color:var(--text-secondary)}.task-modal-status.status-in-progress{background:var(--info-light);color:var(--info)}.task-modal-status.status-in-review{background:var(--warning-light);color:var(--warning)}.task-modal-status.status-completed{background:var(--success-light);color:var(--success)}.task-modal-revision-banner{align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-light);display:flex}.task-modal-revision-banner i{color:var(--warning);font-size:var(--text-heading-3);flex-shrink:0;margin-top:2px}.task-modal-revision-banner strong{margin-bottom:var(--space-xs);color:var(--text-primary);font-size:var(--text-body);display:block}.task-modal-revision-banner p{color:var(--text-secondary);font-size:var(--text-label);margin:0;line-height:1.5}.task-modal-progress{gap:var(--space-sm);flex-direction:column;display:flex}.task-modal-progress-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.task-modal-progress-header span{color:var(--text-muted);font-size:var(--text-caption)}.task-modal-progress-header strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-bold)}.task-modal-progress-track{background:var(--border-light);border-radius:999px;width:100%;height:8px;overflow:hidden}.task-modal-progress-track>div{border-radius:inherit;background:var(--primary);max-width:100%;height:100%;transition:width .25s}.task-modal-approval{align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--success);border-radius:var(--radius-md);background:var(--success-light);display:flex}.task-modal-approval i{color:var(--success);font-size:var(--text-heading-2);flex-shrink:0}.task-modal-approval strong{color:var(--text-primary);font-size:var(--text-label);display:block}.task-modal-approval span{color:var(--text-secondary);font-size:var(--text-caption);line-height:1.4}.task-modal-description{gap:var(--space-xs);flex-direction:column;display:flex}.task-modal-description span{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.task-modal-description p{color:var(--text-secondary);font-size:var(--text-body);overflow-wrap:anywhere;margin:0;line-height:1.6}.task-modal-meta{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.task-modal-meta>div{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.task-modal-meta span{color:var(--text-muted);font-size:var(--text-caption)}.task-modal-meta strong{color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.task-modal-evidence-empty{padding:var(--space-md);border-radius:var(--radius-md);background:var(--surface-hover);color:var(--text-muted);text-align:center;font-size:var(--text-caption);margin:0}.task-modal-evidence-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.task-modal-evidence-list li{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);min-width:0;overflow:hidden}.task-modal-evidence-list a{align-items:center;gap:var(--space-md);min-width:0;padding:var(--space-md) var(--space-lg);color:var(--text-primary);text-decoration:none;transition:background-color .2s;display:flex}.task-modal-evidence-list a:hover{background:var(--surface-hover)}.task-modal-evidence-list a i{color:var(--primary);font-size:var(--text-heading-3);flex-shrink:0}.task-modal-evidence-list a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-label);font-weight:var(--weight-semibold);overflow:hidden}@media (width<=1300px){.task-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.task-filters{grid-template-columns:1fr 1fr}.task-search{grid-column:1/-1}}@media (width<=700px){.my-task-page{gap:var(--space-md)}.task-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.task-filters{grid-template-columns:1fr}.task-search{grid-column:auto}.task-modal-overlay{align-items:flex-end;padding:0}.task-modal{max-width:none;max-height:92vh;padding:var(--space-xl);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.task-modal-header{flex-direction:column;padding-right:36px}.task-modal-status{align-self:flex-start}.task-modal-meta{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=450px){.task-summary-row{grid-template-columns:1fr}.task-summary-chip{padding:var(--space-md)}.task-modal{padding:var(--space-lg)}.task-modal-meta{grid-template-columns:1fr}.task-modal-evidence-list a{padding:var(--space-sm) var(--space-md)}}.task-modal-status.needs-revision{background:var(--danger-light);color:var(--danger)}.my-task-page .task-filters{align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;display:flex}.my-task-page .task-search{flex:none;width:380px;max-width:100%;height:46px}.my-task-page .task-filter{flex:none}.my-task-page .task-filter select{width:auto;min-width:0;max-width:260px;height:46px}.my-task-page .task-project-filter .project-search-picker .project-search-input input,.my-task-page .task-project-filter .project-search-picker .project-search-controls select.project-search-status-filter{height:46px}@media (width<=700px){.my-task-page .task-search,.my-task-page .task-project-filter{flex:100%;width:auto}}.my-task-page .task-table-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.my-task-page .task-table-wrapper{overflow-x:auto}.my-task-page .task-table{border-collapse:collapse;width:100%}.my-task-page .task-table th{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.03em;text-align:left;text-transform:uppercase;white-space:nowrap}.my-task-page .task-table td{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:var(--text-body);vertical-align:middle;white-space:nowrap}.my-task-page .task-table tbody tr:hover{background:var(--surface-hover)}.my-task-page .task-table tbody tr:last-child td{border-bottom:none}.my-task-page .task-table-name{font-weight:var(--weight-semibold)}.my-task-page .task-table-flag{margin-left:var(--space-sm);color:var(--danger);font-size:var(--text-caption);font-weight:var(--weight-bold);align-items:center;gap:4px;display:inline-flex}.my-task-page .task-table-status{padding:var(--space-xs) var(--space-md);background:var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;align-items:center;display:inline-flex}.my-task-page .task-table-status.status-in-progress{background:var(--info-light);color:var(--info)}.my-task-page .task-table-status.status-for-review{background:var(--warning-light);color:var(--warning)}.my-task-page .task-table-status.status-completed{background:var(--success-light);color:var(--success)}.my-task-page .task-table-progress{align-items:center;gap:var(--space-sm);min-width:130px;display:flex}.my-task-page .task-table-progress-bar{background:var(--border-light);border-radius:999px;flex:1;height:8px;overflow:hidden}.my-task-page .task-table-progress-bar div{background:var(--primary);border-radius:999px;height:100%}.my-task-page .task-table-progress span{color:var(--text-secondary);font-size:var(--text-caption)}.my-task-page .task-table-group td{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-light);background:var(--background)}.my-task-page .task-table tbody.task-table-group-body:not(:first-of-type) .task-table-group td{border-top:1px solid var(--border-light)}.my-task-page .task-table-group-label{align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-bold);display:inline-flex}.my-task-page .task-table-group-count{min-width:24px;height:24px;margin-left:var(--space-sm);background:var(--border-light);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.my-task-page .column-todo .task-table-group-label i{color:var(--text-secondary)}.my-task-page .column-in-progress .task-table-group-label i{color:var(--info)}.my-task-page .column-for-review .task-table-group-label i{color:var(--warning)}.my-task-page .column-completed .task-table-group-label i{color:var(--success)}.my-task-page .task-table-group td{padding:var(--space-lg) var(--space-xl);border-left:5px solid var(--border)}.my-task-page .task-table-group-label{gap:var(--space-md);font-size:var(--text-heading-3);letter-spacing:.01em;font-weight:800}.my-task-page .task-table-group-count{min-width:28px;height:28px;font-size:var(--text-label);font-weight:800}.my-task-page .column-todo .task-table-group td{border-left-color:var(--text-secondary)}.my-task-page .column-todo .task-table-group-label{color:var(--text-primary)}.my-task-page .column-in-progress .task-table-group td{border-left-color:var(--info);background:var(--info-light)}.my-task-page .column-in-progress .task-table-group-label{color:var(--info)}.my-task-page .column-in-progress .task-table-group-count{background:var(--info);color:var(--text-white)}.my-task-page .column-for-review .task-table-group td{border-left-color:var(--warning);background:var(--warning-light)}.my-task-page .column-for-review .task-table-group-label{color:var(--warning)}.my-task-page .column-for-review .task-table-group-count{background:var(--warning);color:var(--text-white)}.my-task-page .column-completed .task-table-group td{border-left-color:var(--success);background:var(--success-light)}.my-task-page .column-completed .task-table-group-label{color:var(--success)}.my-task-page .column-completed .task-table-group-count{background:var(--success);color:var(--text-white)}.my-task-page .task-view-button{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.my-task-page .task-view-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.my-task-page .task-table tbody tr{cursor:default}.task-modal-dependencies,.task-modal-dependencies-loading{gap:var(--space-sm);flex-direction:column;display:flex}.task-modal-dependencies-loading{color:var(--text-muted);font-size:var(--text-label);flex-direction:row;align-items:center}.task-modal-dependencies-header{justify-content:space-between;align-items:center;display:flex}.task-modal-dependencies-header span{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);display:inline-flex}.task-modal-dependencies-header strong{background:var(--surface-hover);min-width:22px;color:var(--text-secondary);font-size:var(--text-overline);text-align:center;border-radius:999px;padding:1px 8px}.task-modal-dependencies-list{gap:var(--space-sm);flex-direction:column;display:flex}.task-modal-dependency{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex}.task-modal-dependency-icon{background:var(--primary-light);width:30px;height:30px;color:var(--primary-dark);font-size:var(--text-caption);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.task-modal-dependency-content{flex-direction:column;gap:2px;min-width:0;display:flex}.task-modal-dependency-relation{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.task-modal-dependency-content strong{color:var(--text-primary);font-size:var(--text-body)}.task-modal-dependency-details{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.task-modal-dependency-details span{background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-medium);border-radius:999px;padding:2px 8px}.task-confirm-modal{gap:var(--space-md);max-width:440px}.task-confirm-modal h2{color:var(--text-primary);font-size:var(--text-body-large);margin:0}.task-confirm-modal p{color:var(--text-secondary);font-size:var(--text-label);margin:0;line-height:1.55}.task-confirm-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.task-confirm-actions button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer}.task-confirm-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-primary)}.task-confirm-submit{border:1px solid var(--primary);background:var(--primary);color:#fff}.task-confirm-submit:hover{background:var(--primary-dark)}.my-task-page .my-task-table{padding:var(--space-lg) var(--space-xl) var(--space-xl)}.my-task-page .my-task-table .phase-task-row{grid-template-columns:2.4fr 1.6fr .9fr 1fr 1.2fr 64px}.my-task-page .my-task-table .phase-group .phase-task-row{cursor:default}.my-task-page .my-task-table .phase-group .phase-task-row:hover{box-shadow:var(--shadow-sm);transform:none}.my-task-page .my-task-table .task-name-cell{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.my-task-page .my-task-table .task-table-note{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-medium)}.my-task-page .my-task-table .task-project-cell{min-width:0;color:var(--text-secondary);font-size:var(--text-label);overflow-wrap:anywhere}.my-task-page .my-task-table .task-row-action,.my-task-page .my-task-table .task-row-action-head{justify-content:flex-end;display:flex}.my-task-page .my-task-table .task-view-button{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.my-task-page .my-task-table .task-view-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.phase-group .phase-task-row.accent-needs-revision{border-left-color:var(--danger)}.status-chip.needs-revision{background:var(--danger-light);color:var(--danger)}@media (width<=900px){.my-task-page .my-task-table .phase-task-row{grid-template-columns:2fr 1.4fr .8fr 64px}}.staff-task-actions{align-items:stretch;gap:var(--space-sm);flex-direction:column;width:100%;margin-top:12px;display:flex}.staff-task-actions-buttons{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.staff-task-actions button{background:var(--primary);color:#fff;min-height:36px;font-size:var(--text-caption);font-weight:var(--weight-bold);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 13px;transition:background-color .2s,opacity .2s,transform .15s;display:inline-flex}.staff-task-actions button:hover:not(:disabled){background:var(--primary-dark)}.staff-task-actions button:active:not(:disabled){transform:translateY(1px)}.staff-task-actions button:disabled{cursor:not-allowed;opacity:.6}.staff-task-start{background:var(--primary)}.staff-task-start:hover:not(:disabled){background:var(--primary-dark)}.staff-task-review{background:var(--success)}.staff-task-review:hover:not(:disabled){background:var(--success-dark,var(--success))}.staff-task-waiting,.staff-task-approved{width:fit-content;font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:8px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.staff-task-waiting{color:var(--warning);background:var(--warning-light)}.staff-task-approved{color:var(--success);background:var(--success-light)}.staff-task-action-error{box-sizing:border-box;border:1px solid var(--danger-light);background:var(--danger-light);width:100%;color:var(--danger);font-size:var(--text-overline);font-weight:var(--weight-semibold);border-radius:8px;align-items:flex-start;gap:7px;margin:0;padding:8px 10px;line-height:1.4;display:flex}.staff-task-evidence{box-sizing:border-box;border-top:1px dashed var(--border);width:100%;margin-top:4px;padding-top:12px}.staff-task-evidence-header{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;display:flex}.staff-task-evidence-header>span{min-width:0;color:var(--text-secondary);font-size:var(--text-overline);font-weight:var(--weight-bold);align-items:center;gap:6px;display:inline-flex}.staff-task-evidence-add{border:1px solid var(--primary);min-height:30px;color:var(--primary);font-size:var(--text-overline);font-weight:var(--weight-bold);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:5px 10px;transition:background-color .2s,color .2s,opacity .2s;display:inline-flex}.staff-task-evidence-add:hover:not(:disabled){background:var(--primary-light);color:var(--primary-dark)}.staff-task-evidence-add:disabled{cursor:not-allowed;opacity:.6}.staff-task-evidence-list{box-sizing:border-box;flex-direction:column;gap:6px;width:100%;margin:8px 0 0;padding:0;list-style:none;display:flex}.staff-task-evidence-list li{align-items:center;gap:var(--space-sm);box-sizing:border-box;background:var(--surface-hover);border:1px solid #0000;border-radius:7px;width:100%;min-width:0;padding:7px 8px;transition:background-color .2s,border-color .2s;display:flex}.staff-task-evidence-list li:hover{border-color:var(--border);background:var(--surface)}.staff-task-evidence-list a{min-width:0;color:var(--text-primary);font-size:var(--text-overline);font-weight:var(--weight-semibold);flex:1;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.staff-task-evidence-list a:hover{color:var(--primary);text-decoration:underline}.staff-task-evidence-list a span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.staff-task-evidence-list small{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:10px}.staff-task-evidence-remove{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;transition:background-color .2s,color .2s;display:inline-flex}.staff-task-evidence-remove:hover:not(:disabled){background:var(--danger-light);color:var(--danger)}.staff-task-evidence-remove:disabled{cursor:not-allowed;opacity:.5}.staff-task-evidence-empty{background:var(--surface-hover);color:var(--text-muted);font-size:var(--text-overline);border-radius:7px;margin:8px 0 0;padding:8px 10px;line-height:1.4}.staff-task-evidence-readonly{color:var(--text-muted);font-size:var(--text-overline);font-weight:var(--weight-semibold)}.staff-task-evidence-input{display:none}@media (width<=600px){.staff-task-actions-buttons{flex-direction:column;align-items:stretch}.staff-task-actions-buttons button{width:100%}.staff-task-evidence-header{flex-direction:column;align-items:flex-start}.staff-task-evidence-add{width:100%}.staff-task-evidence-list li{align-items:flex-start}.staff-task-evidence-list small{display:none}}.staff-task-revision-alert{border:1px solid var(--danger);background:var(--danger-light);color:var(--danger);border-radius:9px;padding:10px 12px}.staff-task-revision-alert p{color:var(--text-primary);font-size:var(--text-label);margin:4px 0 0}.staff-task-upload-info{color:var(--text-secondary);font-size:var(--text-caption);margin:8px 0;line-height:1.5}.staff-task-revision-description{font-size:var(--text-caption);font-weight:var(--weight-bold);flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.staff-task-revision-description textarea{border:1px solid var(--border);font:inherit;resize:vertical;border-radius:9px;padding:8px 10px;font-weight:400}.staff-task-upload-info i{margin-right:6px}.project-file-page{width:100%;color:var(--text-primary);flex-direction:column;gap:18px;display:flex}.project-file-filter-card,.shared-files-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;min-width:0;box-shadow:0 1px 3px #1018280a}.project-file-filter-header,.shared-files-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);padding:20px 22px 15px;display:flex}.project-file-filter-header h2,.shared-files-header h2{color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold);margin:0 0 4px}.project-file-filter-header p,.shared-files-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.project-file-access{background:var(--surface-hover);color:var(--text-secondary);font-size:10px;font-weight:var(--weight-semibold);white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.project-file-header-actions>span{border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary-dark);font-size:10px;font-weight:var(--weight-semibold);padding:5px 9px}.project-file-header-actions{align-items:center;gap:var(--space-md);display:flex}.project-file-upload-button{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--primary);color:var(--text-white);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;border:0;padding:8px 14px;display:inline-flex}.project-file-upload-button:hover:not(:disabled){background:var(--primary-dark)}.project-file-upload-button:disabled{opacity:.5;cursor:not-allowed}.file-row-actions{align-items:center;gap:var(--space-sm);display:flex}.file-icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;place-items:center;display:grid}.file-icon-button:hover{background:var(--surface-hover);color:var(--primary)}.file-icon-button-danger:hover{background:var(--danger-light);color:var(--danger)}.project-file-modal-backdrop{z-index:100;background:#10182873;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.project-file-modal{gap:var(--space-lg);width:min(440px,100vw - 32px);padding:var(--space-2xl);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.project-file-modal h2{font-size:var(--text-heading-2);color:var(--text-primary);margin:0}.project-file-modal p{font-size:var(--text-label);color:var(--text-secondary);margin:0}.project-file-modal .project-file-field input[type=text],.project-file-modal .project-file-field input[type=file]{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-size:var(--text-label);padding:9px 12px}.project-file-modal-hint{font-size:var(--text-caption)}.project-file-modal-error{color:var(--danger)}.project-file-modal-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.project-file-filter-grid{align-items:end;gap:var(--space-md);grid-template-columns:minmax(230px,1.2fr) 190px 150px minmax(250px,1fr) auto;padding:0 22px 20px;display:grid}.project-file-field{flex-direction:column;gap:6px;min-width:0;display:flex}.project-file-field label{color:var(--text-secondary);font-size:10px;font-weight:var(--weight-semibold)}.project-file-field select,.project-file-search input{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);background:#fff;border-radius:8px;outline:none}.project-file-field select{cursor:pointer;padding:0 12px}.project-file-search{position:relative}.project-file-search i{color:var(--text-muted);font-size:var(--text-label);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.project-file-search input{padding:0 13px 0 39px}.project-file-field select:focus,.project-file-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #08c8be1f}.project-file-clear-button{border:1px solid var(--border);min-height:42px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-semibold);cursor:pointer;background:#fff;border-radius:8px;padding:0 16px}.project-file-clear-button:hover{border-color:var(--primary);color:var(--primary-dark)}.project-file-information{background:var(--info-light);color:var(--info);font-size:var(--text-overline);border-radius:7px;align-items:center;gap:9px;margin:0 22px 18px;padding:11px 14px;display:flex}.project-file-information i{color:var(--info);font-size:var(--text-body)}.project-file-information strong{font-weight:var(--weight-bold)}.project-folder-grid{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));padding:0 22px 20px;display:grid}.project-folder{border:1px solid var(--border);min-height:92px;color:var(--text-secondary);text-align:left;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:14px;padding:15px;font-family:inherit;transition:border-color .18s,background-color .18s,transform .18s;display:flex;position:relative}.project-folder:hover{border-color:var(--primary-light);background:var(--primary-light);transform:translateY(-1px)}.project-folder.selected{border-color:var(--primary);background:var(--primary-light)}.project-folder>i{color:var(--warning);flex:none;font-size:34px}.project-folder>span{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.project-folder strong{color:var(--text-secondary);font-size:var(--text-overline);text-overflow:ellipsis;line-height:1.4;overflow:hidden}.project-folder small{color:var(--text-secondary);font-size:9px}.project-folder em{background:var(--primary-light);color:var(--primary-dark);font-size:8px;font-style:normal;font-weight:var(--weight-bold);border-radius:999px;padding:2px 7px;position:absolute;top:7px;right:8px}.project-file-table-wrapper{padding:0 22px;overflow-x:auto}.project-file-table{border-collapse:collapse;width:100%;min-width:1000px}.project-file-table th,.project-file-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:13px 12px}.project-file-table th{color:var(--text-secondary);font-size:10px;font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.project-file-table td{color:var(--text-secondary);font-size:var(--text-overline)}.project-file-name{align-items:center;gap:10px;min-width:210px;display:flex}.project-file-name span{color:var(--text-primary);font-weight:var(--weight-semibold)}.file-icon{width:25px;font-size:var(--text-heading-1);text-align:center;flex:0 0 25px}.file-icon-pdf{color:var(--danger)}.file-icon-docx{color:var(--info)}.file-icon-xlsx{color:var(--success)}.file-icon-dwg{color:var(--text-secondary)}.file-access-button{border-radius:var(--radius-sm);background:var(--primary-light);min-width:70px;min-height:31px;color:var(--primary-dark);font-family:inherit;font-size:10px;font-weight:var(--weight-semibold);cursor:pointer;border:none;padding:0 10px}.file-access-button:hover{background:var(--primary-light)}.file-action-menu{display:inline-block;position:relative}.file-more-button{border:1px solid var(--border);width:31px;height:31px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:7px;place-items:center;display:grid}.file-more-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.file-action-dropdown{z-index:20;border:1px solid var(--border);background:#fff;border-radius:8px;width:150px;position:absolute;top:35px;right:0;overflow:hidden;box-shadow:0 8px 22px #10182824}.file-action-dropdown button{width:100%;min-height:38px;color:var(--text-secondary);text-align:left;cursor:pointer;background:#fff;border:none;align-items:center;gap:9px;padding:0 12px;font-family:inherit;font-size:10px;display:flex}.file-action-dropdown button:hover{background:var(--primary-light);color:var(--primary-dark)}.file-action-dropdown button i{text-align:center;width:14px}.project-file-empty{min-height:250px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.project-file-empty>i{color:var(--text-muted);margin-bottom:14px;font-size:36px}.project-file-empty h3{color:var(--text-secondary);font-size:var(--text-body-large);margin:0 0 5px}.project-file-empty p{font-size:var(--text-overline);margin:0 0 15px}.project-file-empty button{border:1px solid var(--primary);background:var(--primary);color:#fff;min-height:36px;font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-semibold);cursor:pointer;border-radius:7px;padding:0 14px}.project-file-footer{min-height:62px;color:var(--text-secondary);font-size:var(--text-overline);justify-content:space-between;align-items:center;padding:12px 22px;display:flex}.project-file-pagination{align-items:center;gap:6px;display:flex}.project-file-pagination button{border:1px solid var(--border);width:31px;height:31px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-overline);background:#fff;border-radius:7px;place-items:center;display:grid}.project-file-pagination button.active{border-color:var(--text-primary);background:var(--text-primary);color:#fff}.project-file-pagination button:disabled{opacity:.4}.project-file-message{z-index:1200;background:var(--primary-dark);color:#fff;font-size:var(--text-overline);border-radius:8px;align-items:center;gap:9px;padding:12px 16px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #1018282e}@media (width<=1300px){.project-file-filter-grid{grid-template-columns:minmax(230px,1fr) repeat(2,170px)}.project-file-search-field{grid-column:1/3}.project-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.project-file-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-select,.project-file-search-field{grid-column:1/-1}.project-file-clear-button{width:max-content}}@media (width<=700px){.project-file-filter-header,.shared-files-header{flex-direction:column}.project-file-filter-grid,.project-folder-grid{grid-template-columns:1fr}.project-select,.project-file-search-field{grid-column:auto}.project-file-clear-button{width:100%}.project-file-footer{align-items:flex-start;gap:var(--space-md);flex-direction:column}}.project-file-tabs{border:1px solid var(--border);background:#fff;border-radius:12px;gap:6px;width:fit-content;max-width:100%;padding:6px;display:flex}.project-file-tabs button{color:var(--text-secondary);font-weight:var(--weight-bold);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.project-file-tabs button.active{background:var(--primary);color:#fff}.proof-status{font-size:var(--text-caption);font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;padding:4px 10px;display:inline-block}.proof-approved{background:var(--success-light);color:var(--success)}.proof-review{background:var(--warning-light);color:var(--warning)}.proof-returned{background:var(--danger-light);color:var(--danger)}.proof-draft{background:var(--border-light);color:var(--text-secondary)}.my-schedule-page{width:100%;color:var(--text-primary)}.schedule-layout{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) 340px;display:grid}.schedule-calendar-card,.schedule-side-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;overflow:hidden;box-shadow:0 1px 3px #1018280a}.schedule-toolbar{align-items:center;gap:var(--space-md);padding:var(--space-xl);display:flex}.today-button,.month-navigation button,.add-reminder-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:42px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer}.today-button{padding:0 var(--space-lg)}.month-navigation{gap:var(--space-xs);display:flex}.month-navigation button{place-items:center;width:42px;display:grid}.today-button:hover,.month-navigation button:hover,.add-reminder-button:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.schedule-toolbar h2{margin:0 var(--space-sm);color:var(--text-primary);font-size:var(--text-heading-1);font-weight:var(--weight-bold);white-space:nowrap}.calendar-view-buttons{border:1px solid var(--border);border-radius:var(--radius-md);margin-left:auto;display:flex;overflow:hidden}.calendar-view-buttons button{min-width:72px;min-height:42px;padding:0 var(--space-md);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;border:none}.calendar-view-buttons button.active{background:var(--primary);color:var(--text-white)}.schedule-project-filter{width:220px;min-height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:var(--text-caption);cursor:pointer;outline:none}.schedule-project-filter:focus{border-color:var(--primary);box-shadow:0 0 0 3px #08c8be1f}.calendar-scroll{padding:0 var(--space-xl);overflow-x:auto}.schedule-calendar{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(7,minmax(135px,1fr));min-width:980px;display:grid}.calendar-weekday{padding:var(--space-md) var(--space-sm);border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.03em;text-align:center}.calendar-day{min-height:155px;padding:var(--space-md);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.calendar-day.other-month{background:var(--surface-hover);color:var(--text-muted)}.calendar-day.current-day{z-index:1;outline:2px solid var(--primary);outline-offset:-2px;background:var(--primary-light);position:relative}.calendar-day-number{width:32px;height:32px;margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid}.other-month .calendar-day-number{color:var(--text-muted)}.current-day .calendar-day-number{background:var(--primary);color:var(--text-white)}.calendar-day-events{gap:var(--space-xs);flex-direction:column;display:flex}.calendar-event{align-items:center;gap:var(--space-xs);width:100%;min-height:28px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--primary-dark);font-family:inherit;font-size:var(--text-overline);font-weight:var(--weight-semibold);text-align:left;cursor:pointer;border:none;display:flex;overflow:hidden}.calendar-event i{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-task{background:var(--primary-light);color:var(--primary-dark)}.event-meeting{background:var(--info-light);color:var(--info)}.event-milestone{background:var(--warning-light);color:var(--warning)}.event-overdue{background:var(--danger-light);color:var(--danger)}.event-reminder{color:#7c3aed;background:#f2ebff}.calendar-bottom{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl) var(--space-xl);display:flex}.calendar-legend{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.calendar-legend span{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--text-overline);display:inline-flex}.calendar-legend i{border-radius:50%;width:8px;height:8px}.legend-task{background:var(--primary)}.legend-meeting{background:var(--info)}.legend-milestone{background:var(--warning)}.legend-overdue{background:var(--danger)}.legend-reminder{background:#7c3aed}.add-reminder-button{align-items:center;gap:var(--space-sm);padding:0 var(--space-lg);color:var(--primary-dark);white-space:nowrap;display:inline-flex}.schedule-sidebar{gap:var(--space-lg);flex-direction:column;display:flex}.schedule-side-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-xl) var(--space-lg) var(--space-md);display:flex}.schedule-side-header h2{margin:0 0 var(--space-xs);color:var(--text-primary);font-size:var(--text-heading-2);font-weight:var(--weight-bold)}.schedule-side-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.schedule-side-header>button{padding:var(--space-xs);color:var(--primary);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none}.agenda-list{padding:0 var(--space-lg) var(--space-lg)}.agenda-item{gap:var(--space-md);min-height:92px;padding:var(--space-lg) 0;border-bottom:1px solid var(--border);grid-template-columns:62px 3px minmax(0,1fr);display:grid}.agenda-item:last-child{border-bottom:none}.agenda-time{flex-direction:column;gap:3px;display:flex}.agenda-time strong{color:var(--text-primary);font-size:var(--text-label)}.agenda-time span{color:var(--text-secondary);font-size:var(--text-overline)}.agenda-line{border-radius:999px;width:3px;height:50px}.agenda-blue{background:var(--info)}.agenda-turquoise{background:var(--primary)}.agenda-information{flex-direction:column;gap:3px;min-width:0;display:flex}.agenda-information strong{color:var(--text-primary);font-size:var(--text-label)}.agenda-information span,.agenda-information small{color:var(--text-secondary);font-size:var(--text-overline);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-information small{align-items:center;gap:var(--space-xs);margin-top:3px;display:flex}.deadline-list{padding:0 var(--space-lg) var(--space-lg)}.deadline-item{align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border);grid-template-columns:8px minmax(0,1fr) auto;min-height:74px;display:grid}.deadline-item:last-child{border-bottom:none}.deadline-dot{background:var(--primary);border-radius:50%;width:8px;height:8px}.deadline-dot.urgent{background:var(--warning)}.deadline-information,.deadline-date{flex-direction:column;gap:3px;display:flex}.deadline-information{min-width:0}.deadline-information strong{color:var(--text-primary);font-size:var(--text-caption)}.deadline-information span{color:var(--text-secondary);font-size:var(--text-overline);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deadline-date{align-items:flex-end}.deadline-date strong{color:var(--text-secondary);font-size:var(--text-caption)}.deadline-date strong.urgent{color:var(--danger)}.deadline-date span{color:var(--text-secondary);font-size:var(--text-overline)}.schedule-modal-backdrop{z-index:2000;padding:var(--space-xl);background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0}.reminder-modal,.event-details-modal{border-radius:var(--radius-lg);background:var(--surface);width:min(100%,440px);box-shadow:0 20px 50px #1018283d}.reminder-modal{padding:var(--space-2xl)}.reminder-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.reminder-modal-header h2{margin:0 0 var(--space-xs);font-size:var(--text-heading-2);font-weight:var(--weight-bold)}.reminder-modal-header p{color:var(--text-secondary);font-size:var(--text-caption);margin:0}.reminder-modal-header>button,.schedule-modal-close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.reminder-modal-header>button:hover,.schedule-modal-close:hover{background:var(--surface-hover)}.reminder-field{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.reminder-field label{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.reminder-field input,.reminder-field select{width:100%;min-height:42px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:var(--text-overline);outline:none}.reminder-field input:focus,.reminder-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #08c8be1f}.reminder-field-row{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.reminder-modal-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.modal-cancel-button,.modal-primary-button{min-height:42px;padding:0 var(--space-lg);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-caption);font-weight:var(--weight-semibold);cursor:pointer}.modal-cancel-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.modal-primary-button{justify-content:center;align-items:center;gap:var(--space-sm);border:1px solid var(--primary);background:var(--primary);color:var(--text-white);display:inline-flex}.event-details-modal{padding:var(--space-2xl);text-align:center;position:relative}.schedule-modal-close{top:var(--space-md);right:var(--space-md);position:absolute}.event-details-icon{width:58px;height:58px;margin:0 auto var(--space-md);border-radius:var(--radius-xl);background:var(--primary-light);color:var(--primary);font-size:var(--text-metric-small);place-items:center;display:grid}.event-details-overdue{background:var(--danger-light);color:var(--danger)}.event-details-meeting{background:var(--info-light);color:var(--info)}.event-details-milestone{background:var(--warning-light);color:var(--warning)}.event-details-reminder{color:#7c3aed;background:#f2ebff}.event-details-modal h2{margin:0 0 var(--space-xs);font-size:var(--text-heading-1);font-weight:var(--weight-bold)}.event-details-modal>p{margin:0 0 var(--space-xl);color:var(--text-secondary);font-size:var(--text-caption)}.event-details-modal>div:not(.event-details-icon){padding:var(--space-md) 0;border-bottom:1px solid var(--border);font-size:var(--text-caption);justify-content:space-between;display:flex}.event-details-modal>div span{color:var(--text-secondary)}.event-details-modal .modal-primary-button{width:100%;margin-top:var(--space-xl)}.schedule-notification{right:var(--space-2xl);bottom:var(--space-2xl);z-index:2200;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--primary-dark);color:var(--text-white);font-size:var(--text-caption);display:flex;position:fixed;box-shadow:0 10px 25px #1018282e}@media (width<=1250px){.schedule-layout{grid-template-columns:1fr}.schedule-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=1000px){.schedule-toolbar{flex-wrap:wrap}.calendar-view-buttons{margin-left:0}.schedule-project-filter{flex:1}}@media (width<=700px){.schedule-toolbar{flex-direction:column;align-items:stretch}.month-navigation{width:100%}.month-navigation button{flex:1}.schedule-toolbar h2{margin:var(--space-xs) 0;text-align:center}.calendar-view-buttons,.schedule-project-filter{width:100%}.calendar-view-buttons button{flex:1}.calendar-bottom{flex-direction:column;align-items:stretch}.add-reminder-button{justify-content:center}.schedule-sidebar,.reminder-field-row{grid-template-columns:1fr}}.add-reminder-button{margin-left:auto}@media (width<=600px){.add-reminder-button{justify-content:center;width:100%;margin-left:0}}.staff-materials-page{gap:var(--space-xl);flex-direction:column;display:flex}.staff-materials-form-card,.staff-materials-history-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:20px 22px}.staff-materials-form-card h2,.staff-materials-history-card h2{font-size:var(--text-body-large);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 16px}.staff-materials-form-row{gap:var(--space-lg);grid-template-columns:1fr 1.4fr 1fr;margin-bottom:16px;display:grid}.staff-materials-form-group{flex-direction:column;gap:6px;display:flex}.staff-materials-form-group label{font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary)}.staff-materials-form-group input,.staff-materials-form-group select{border:1px solid var(--border);height:40px;font-size:var(--text-label);color:var(--text-primary);background:#fff;border-radius:9px;outline:none;padding:0 12px}.staff-materials-form-group input:focus,.staff-materials-form-group select:focus{border-color:var(--primary)}.staff-materials-send-button{align-items:center;gap:var(--space-sm);background:var(--primary);color:#fff;font-size:var(--text-label);font-weight:var(--weight-bold);cursor:pointer;border:0;border-radius:9px;padding:11px 18px;display:inline-flex}.staff-materials-send-button:hover:not(:disabled){background:var(--primary-dark)}.staff-materials-send-button:disabled{cursor:not-allowed;opacity:.55}.staff-materials-error{color:var(--danger);font-size:var(--text-caption);font-weight:var(--weight-bold);margin:0 0 12px}.staff-materials-success{color:var(--success);font-size:var(--text-caption);font-weight:var(--weight-bold);margin:0 0 12px}.staff-materials-state{text-align:center;color:var(--text-muted);font-size:var(--text-label);padding:24px 0}.staff-materials-table-wrapper{overflow-x:auto}.staff-materials-table{border-collapse:collapse;width:100%}.staff-materials-table th{text-align:left;font-size:var(--text-overline);font-weight:var(--weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}.staff-materials-table td{padding:var(--space-md);border-bottom:1px solid var(--border);vertical-align:middle;font-size:var(--text-label);color:var(--text-primary)}.staff-materials-table tbody tr:last-child td{border-bottom:none}.staff-materials-status{font-size:var(--text-overline);font-weight:var(--weight-bold);border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.staff-materials-status.status-pending{background:var(--warning-light);color:var(--warning)}.staff-materials-status.status-approved{background:var(--primary-light);color:var(--primary-dark)}.staff-materials-status.status-rejected{background:var(--danger-light);color:var(--danger)}@media (width<=800px){.staff-materials-form-row{grid-template-columns:1fr}}.staff-materials-topbar{align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;display:flex}.staff-materials-topbar .staff-materials-form-group{min-width:240px}.staff-materials-tabs{border:1px solid var(--border);background:#fff;border-radius:10px;gap:4px;margin-left:4px;padding:4px;display:flex}.staff-materials-tabs button{color:var(--text-secondary);font-weight:var(--weight-bold);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 14px}.staff-materials-tabs button.active{background:var(--primary);color:#fff}.staff-materials-cart-button{border:1px solid var(--border);font-weight:var(--weight-bold);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;margin-left:auto;padding:10px 16px;display:inline-flex;position:relative}.staff-materials-cart-button span{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:12px}.staff-catalog-filters{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr));gap:10px;margin-bottom:16px;display:grid}.staff-catalog-filters input,.staff-catalog-filters select,.staff-usage-cell input,.staff-materials-modal input,.staff-materials-modal textarea,.staff-materials-modal select{border:1px solid var(--border);height:38px;font-size:var(--text-label);border-radius:9px;padding:0 10px}.staff-materials-modal textarea{height:auto;padding:8px 10px}.staff-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.staff-catalog-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.staff-catalog-card-body{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;padding:0;display:flex}.staff-catalog-card-body p{color:var(--text-secondary);font-size:var(--text-caption);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;display:-webkit-box;overflow:hidden}.staff-catalog-brand{color:var(--primary-dark);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase}.staff-catalog-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.staff-catalog-card .staff-materials-send-button{justify-content:center}.staff-materials-link{color:var(--primary-dark);font-weight:var(--weight-bold);cursor:pointer;background:0 0;border:0;padding:6px 0}.staff-materials-subheading{font-size:var(--text-label);font-weight:var(--weight-bold);margin:18px 0 8px}.staff-materials-list{color:var(--text-secondary);margin:0;padding-left:18px}.staff-usage-cell{gap:6px;display:flex}.staff-usage-cell input{width:84px}.staff-materials-overlay{z-index:1000;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.staff-materials-modal{background:#fff;border-radius:14px;width:100%;max-width:460px;max-height:90vh;padding:24px;overflow-y:auto}.staff-materials-modal.wide{max-width:720px}.staff-materials-modal h3{margin:0 0 14px}.staff-materials-modal dl{grid-template-columns:140px 1fr;gap:6px 10px;margin:0 0 16px;display:grid}.staff-materials-modal dt{color:var(--text-secondary);font-weight:var(--weight-bold)}.staff-materials-modal dd{margin:0}.staff-materials-modal-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.staff-materials-modal-actions input{width:90px}.staff-catalog-filters{grid-template-columns:minmax(280px,2fr) repeat(2,minmax(160px,1fr))}@media (width<=800px){.staff-catalog-filters{grid-template-columns:1fr}}.staff-materials-table td.nowrap{white-space:nowrap}.staff-materials-list{font-size:var(--text-label);color:var(--text-primary);line-height:1.7}.staff-materials-modal .staff-materials-form-group{margin-top:14px}.staff-materials-modal .staff-materials-form-group span{font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-secondary)}.staff-materials-topbar .staff-materials-tabs{box-sizing:border-box;align-items:center;height:48px;margin-left:0}.staff-materials-topbar .staff-materials-tabs button{padding:0 var(--space-lg);align-self:stretch}.staff-materials-topbar .staff-materials-cart-button{box-sizing:border-box;height:48px;padding:0 var(--space-lg)}.staff-materials-history-card .staff-catalog-filters{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.staff-materials-history-card .staff-catalog-filters input{box-sizing:border-box;width:380px;max-width:100%;height:46px;padding:0 var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-body);flex:none}.staff-materials-history-card .staff-catalog-filters input:focus{border-color:var(--primary);outline:none}.staff-materials-history-card .staff-catalog-filters select{box-sizing:border-box;width:auto;min-width:0;max-width:260px;height:46px;padding:0 var(--space-md);border-radius:var(--radius-md);font-size:var(--text-body);cursor:pointer;flex:none}@media (width<=700px){.staff-materials-history-card .staff-catalog-filters input{flex:100%;width:auto}}.staff-materials-status.status-returned{background:var(--danger-light);color:var(--danger)}.staff-materials-tabs button .staff-materials-tab-alert{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:6px;padding:0 6px;font-size:11px;line-height:18px;display:inline-block}.staff-materials-cart-button:disabled{opacity:.55;cursor:not-allowed}.staff-materials-notice{border:1px solid var(--info-light,#dbeafe);background:var(--info-light,#eff6ff);color:var(--text-primary);font-size:var(--text-label);border-radius:10px;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;line-height:1.5;display:flex}.staff-materials-notice i{color:var(--info,#2563eb);margin-top:3px}.staff-catalog-quantity{color:var(--text-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.staff-catalog-availability{font-size:var(--text-overline);font-weight:var(--weight-bold);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;display:inline-flex}.staff-catalog-availability.available{background:var(--success-light);color:#15803d}.staff-catalog-availability.unavailable{background:var(--danger-light);color:var(--danger)}.staff-catalog-card.is-unavailable .staff-catalog-card-body{opacity:.6}.staff-catalog-location{color:var(--text-secondary);font-size:var(--text-caption)}.staff-request-lines{margin:0;padding-left:18px}.staff-request-lines li+li{margin-top:2px}.staff-request-issue-note{color:var(--text-secondary);font-size:var(--text-caption);margin-top:4px;display:block}.staff-materials-table td .staff-materials-send-button{white-space:nowrap}.staff-request-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.staff-materials-modal .staff-materials-form-group input[readonly]{background:var(--surface-hover);color:var(--text-secondary)}.staff-materials-modal .staff-materials-table input[type=number]{width:96px}.staff-request-summary{grid-template-columns:140px 1fr;margin-top:14px}.staff-materials-explainer{text-align:left;margin:0 0 14px}@media (width<=600px){.staff-request-fields{grid-template-columns:1fr}}:root{--primary:#08c8be;--primary-dark:#00b7ae;--primary-light:#e9f9f8;--accent:#fb923c;--accent-light:#fff4e8;--success:#22c55e;--success-light:#ecfdf3;--warning:#f59e0b;--warning-light:#fff7e6;--danger:#ef4444;--danger-light:#fef2f2;--info:#3b82f6;--info-light:#eff6ff;--risk-high:#dc2626;--risk-high-accent:#ef4444;--risk-high-light:#fef2f2;--risk-medium:#c2410c;--risk-medium-accent:#f97316;--risk-medium-light:#fff7ed;--risk-low:#15803d;--risk-low-accent:#22c55e;--risk-low-light:#ecfdf3;--risk-unknown:#64748b;--risk-unknown-light:#f1f5f9;--text-primary:#1c231d;--text-secondary:#6b7280;--text-muted:#94a3b8;--text-white:#fff;--background:#fff;--surface:#fff;--surface-hover:#f4f9f9;--border:#dfe8e8;--border-light:#edf2f2;--font-family:"Inter", sans-serif;--text-page-title:28px;--text-heading-1:20px;--text-heading-2:18px;--text-heading-3:16px;--text-body-large:15px;--text-body:14px;--text-label:13px;--text-caption:12px;--text-overline:11px;--text-metric-large:32px;--text-metric-medium:24px;--text-metric-small:18px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--topbar-height:96px;--shadow-sm:0 1px 2px #1018280a, 0 1px 3px #10182814}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--background);color:var(--text-primary);font-family:var(--font-family);margin:0;line-height:1.5}button,input,textarea,select{font-family:inherit}a{color:inherit}.material-search,.scheduling-search,.project-file-search,.project-task-search,.employee-search,.workspace-search,.project-search{flex:none;max-width:100%}.material-search{width:430px}.scheduling-search{width:470px}.project-file-search,.project-task-search{width:430px}.employee-search{width:410px;max-width:100%}.workspace-search{width:390px;min-width:0}.project-search{width:490px}.material-toolbar,.scheduling-toolbar-row,.project-filters,.employee-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}@media (width<=900px){.material-search,.scheduling-search,.project-file-search,.project-task-search,.employee-search,.workspace-search,.project-search{width:100%}}.materials-project-select,.scheduling-project-select,.pm-project-picker-select,.analytics-project-selector>div:first-child,.report-project-card .report-setup-field{width:auto;min-width:440px;max-width:100%}.materials-project-select select,.scheduling-project-select>select,.pm-project-picker-select>select,.analytics-project-selector select,.report-project-card .report-setup-field select{box-sizing:border-box;width:100%;min-width:440px;max-width:100%;height:48px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);cursor:pointer}.materials-toolbar-label,.scheduling-toolbar-label,.pm-project-picker-label,.analytics-project-selector label,.report-project-card label{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-secondary);margin-bottom:4px}@media (width<=600px){.materials-project-select,.scheduling-project-select,.pm-project-picker-select,.analytics-project-selector>div:first-child,.report-project-card .report-setup-field,.materials-project-select select,.scheduling-project-select>select,.pm-project-picker-select>select,.analytics-project-selector select,.report-project-card .report-setup-field select{width:100%;min-width:0}}.staff-materials-topbar .staff-materials-form-group{min-width:440px;max-width:100%}.staff-materials-topbar .staff-materials-form-group label{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-secondary);margin-bottom:4px}.staff-materials-topbar .staff-materials-form-group select{box-sizing:border-box;width:100%;min-width:440px;max-width:100%;height:48px;padding:0 var(--space-md);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-semibold);cursor:pointer}@media (width<=600px){.staff-materials-topbar .staff-materials-form-group,.staff-materials-topbar .staff-materials-form-group select{width:100%;min-width:0}}.dashboard-stat-card,.task-summary-item,.task-summary-chip{text-align:left;justify-content:flex-start;align-items:center;gap:var(--space-lg);min-width:0;min-height:0;padding:var(--space-xl) var(--space-2xl);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:none;flex-direction:row;display:flex}.dashboard-stat-icon,.task-summary-icon,.task-summary-chip .task-summary-chip-icon{border-radius:var(--radius-md);width:56px;min-width:56px;height:56px;font-size:var(--text-heading-3);letter-spacing:normal;text-transform:none;flex:0 0 56px;justify-content:center;align-items:center;display:flex}.task-summary-chip .task-summary-chip-icon.tone-info{background:var(--info-light);color:var(--info)}.task-summary-chip .task-summary-chip-icon.tone-muted{background:var(--border-light);color:var(--text-secondary)}.task-summary-chip .task-summary-chip-icon.tone-primary{background:var(--primary-light);color:var(--primary)}.task-summary-chip .task-summary-chip-icon.tone-warning{background:var(--warning-light);color:var(--warning)}.task-summary-chip .task-summary-chip-icon.tone-success{background:var(--success-light);color:var(--success)}.dashboard-stat-card>div:last-child,.task-summary-item>div,.task-summary-chip>div{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.task-summary-item>div{flex-direction:column-reverse;align-items:flex-start}.task-summary-chip>div{align-items:flex-start}.dashboard-stat-title,.task-summary-item>div>span,.task-summary-chip>div>span{font-size:var(--text-body-large);font-weight:var(--weight-regular,400);color:var(--text-secondary);letter-spacing:normal;text-transform:none;margin:0;display:block}.dashboard-stat-value,.task-summary-item>div>strong,.task-summary-chip>div>strong{font-size:var(--text-metric-large);font-weight:var(--weight-bold);color:var(--text-primary);margin:0;line-height:1;display:block}.task-summary-row .task-summary-chip>div>strong{color:var(--text-primary)}.dashboard-stat-caption{font-size:var(--text-caption);font-weight:var(--weight-regular,400);margin:0;display:block}.dashboard-stats{gap:var(--space-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.task-summary{gap:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.task-summary-row{gap:var(--space-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1300px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.task-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.task-summary,.task-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.dashboard-stats,.task-summary,.task-summary-row{grid-template-columns:1fr}.dashboard-stat-card,.task-summary-item,.task-summary-chip{padding:var(--space-lg) var(--space-xl)}}.my-projects .stat-title{font-weight:var(--weight-regular,400);color:var(--text-secondary)}.my-projects .stat-value{font-weight:var(--weight-bold)}
