@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-primary:#f8fafc;--color-bg-secondary:#f1f5f9;--color-bg-elevated:#fff;--color-bg-card:#fffc;--color-bg-glass:#fff9;--color-border:#6366f126;--color-border-hover:#6366f14d;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-accent:#6366f1;--color-accent-light:#818cf8;--color-accent-dark:#4f46e5;--color-accent-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-glow:0 0 20px #6366f133;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);color:var(--color-text-primary);background:var(--color-bg-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6366f180}.login-page{background:var(--color-bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(at 20%,#6366f114 0%,#0000 50%),radial-gradient(at 80% 20%,#8b5cf60f 0%,#0000 50%),radial-gradient(at 50% 80%,#3b82f60d 0%,#0000 50%);width:200%;height:200%;animation:20s ease-in-out infinite alternate bgShift;position:absolute;top:-50%;left:-50%}@keyframes bgShift{0%{transform:translate(0)rotate(0)}to{transform:translate(-2%,-1%)rotate(1deg)}}.login-card{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg), var(--shadow-glow);animation:cardEnter .6s var(--transition-slow) both;padding:48px 40px;position:relative}@keyframes cardEnter{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-logo{text-align:center;margin-bottom:36px}.login-logo-icon{background:var(--color-accent-gradient);border-radius:var(--radius-lg);color:#fff;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:28px;display:inline-flex;box-shadow:0 4px 16px #6366f14d}.login-logo h1{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.login-logo p{color:var(--color-text-secondary);margin-top:4px;font-size:14px}.app-layout{height:100vh;display:flex;overflow:hidden}.app-sidebar{border-right:1px solid var(--color-border);z-index:10;flex-direction:column;height:100vh;display:flex;position:relative;background:var(--color-bg-secondary)!important;transition:width var(--transition-normal)!important}.sidebar-logo{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;min-height:64px;padding:20px 16px;display:flex}.sidebar-logo-icon{background:var(--color-accent-gradient);border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:18px;display:flex;box-shadow:0 2px 8px #6366f140}.sidebar-logo-text{background:var(--color-accent-gradient);-webkit-text-fill-color:transparent;white-space:nowrap;transition:opacity var(--transition-fast);-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700;overflow:hidden}.sidebar-menu{flex:1;padding:8px 0;overflow-y:auto}.app-header{border-bottom:1px solid var(--color-border);z-index:5;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0;background:var(--color-bg-secondary)!important}.header-left,.header-right{align-items:center;gap:16px;display:flex}.header-trigger{cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-fast);border-radius:var(--radius-sm);padding:8px;font-size:18px}.header-trigger:hover{color:var(--color-accent-light);background:#6366f11a}.header-page-title{color:var(--color-text-primary);font-size:18px;font-weight:600}.notification-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;border:none;padding:8px;font-size:18px;position:relative}.notification-btn:hover{color:var(--color-accent-light);background:#6366f11a}.app-content{background:var(--color-bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.app-main{flex:1;padding:24px;overflow-y:auto}.kpi-card{background:var(--color-bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:20px 24px;position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--color-accent-gradient);opacity:0;height:3px;transition:opacity var(--transition-normal);position:absolute;top:0;left:0;right:0}.kpi-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-glow)}.kpi-card:hover:before{opacity:1}.kpi-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-size:18px;display:flex}.kpi-card-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:13px}.kpi-card-value{color:var(--color-text-primary);font-size:24px;font-weight:700}.project-kpi-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.project-kpi-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:inline-flex}.project-kpi-icon-total{color:#4f46e5;background:#6366f124}.project-kpi-icon-active{color:#f97316;background:#f973161f}.project-kpi-icon-completed{color:#16a34a;background:#22c55e24}.project-kpi-icon-delayed{color:#dc2626;background:#ef444424}.project-kpi-note{color:var(--color-text-secondary);margin-top:8px;font-size:13px;font-weight:600}.project-kpi-note.success{color:var(--color-success)}.project-kpi-note.danger,.project-kpi-danger-value{color:var(--color-error)}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:var(--color-text-primary);font-size:24px;font-weight:700}.help-page{max-width:1100px}.help-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.help-form-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.help-history{min-width:0}.help-history-head{margin-bottom:12px}.help-type-control{max-width:100%;display:inline-flex}.help-form-actions{justify-content:flex-end;display:flex}.help-ticket-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:18px}.help-ticket-top,.help-ticket-author,.help-reply-meta{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.help-ticket-author{text-align:right;flex-direction:column;align-items:flex-end}.help-ticket-message{color:var(--color-text-secondary);white-space:pre-wrap;display:block}.help-attachments{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.help-attachments a{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);max-width:100%;color:var(--color-accent-dark);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.help-replies{gap:10px;margin-top:16px;display:grid}.help-reply{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:12px}.help-reply.admin{background:#22c55e0f;border-color:#22c55e47}.help-reply-form{gap:10px;margin-top:16px;display:grid}.help-reply-form .ant-btn{justify-self:end}.project-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.project-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.project-name-link{font-weight:600;height:auto!important;color:var(--color-text-primary)!important;padding:0!important}.project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;color:inherit;transition:all var(--transition-normal);padding:18px}.project-card-with-media{flex-direction:column;gap:12px;padding:12px;display:flex}.projects-list-card.project-card-with-media{gap:0;padding:0;overflow:hidden}.project-card-media{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);width:100%;position:relative;overflow:hidden}.projects-list-card .project-card-media{border:0;border-bottom:1px solid var(--color-border);border-radius:0}.project-card-notification-badge{z-index:2;border:2px solid var(--color-bg-elevated);background:var(--color-error);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-size:15px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;right:4px;box-shadow:0 8px 18px #ef444447}.project-card-media img,.request-project-image img{object-fit:cover;width:100%;height:100%;display:block}.project-card-placeholder{width:100%;height:100%;color:var(--color-primary);background:#6366f11f;justify-content:center;align-items:center;font-size:32px;font-weight:700;display:flex}.project-card-status{font-weight:700;position:absolute;top:14px;right:14px;box-shadow:0 8px 22px #0f172a1f;background:#ffffffeb!important;border-radius:8px!important;margin:0!important}.project-card-body{flex-direction:column;flex:1;gap:22px;padding:16px 18px 18px;display:flex}.project-card-main{flex-direction:column;gap:10px;min-width:0;display:flex}.project-card-title.ant-typography{color:var(--color-text-primary);overflow-wrap:anywhere;margin:0!important;line-height:1.25!important}.project-card-main-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-card-location{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex;overflow:hidden}.project-card-location .anticon{color:var(--color-text-muted);flex:none}.project-card-bottom{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;display:flex}.project-card-admin{align-items:center;gap:10px;min-width:0;display:flex}.project-card-admin>span:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.project-card-admin strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.25;overflow:hidden}.project-card-avatar{background:var(--color-accent-gradient);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:inline-flex}.project-card-progress{flex-direction:column;flex:0 0 150px;gap:4px;width:150px;display:flex}.project-card-progress>div{align-items:center;gap:10px;display:flex}.project-card-progress .ant-progress{flex:1;min-width:0}.project-card-progress strong{color:var(--color-text-primary);font-size:13px}.project-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.project-card-top,.project-card-footer,.project-detail-head{justify-content:space-between;gap:16px;display:flex}.project-card-top{align-items:flex-start;margin-bottom:12px}.project-card-footer{color:var(--color-text-secondary);margin-top:8px;font-size:13px}.project-card-metrics{color:var(--color-text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px;display:grid}.project-card-metrics span{min-width:0}.project-card-metrics strong{color:var(--color-text-primary);white-space:nowrap;margin-top:2px;font-size:13px;display:block}.project-card-info{grid-template-columns:1fr;gap:10px;display:grid}.project-card-info span{border-radius:var(--radius-sm);background:#6366f10e;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.project-card-info strong{color:var(--color-text-primary);overflow-wrap:anywhere;text-align:right;font-size:13px;font-weight:700;line-height:1.25}.project-deadline-badge{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:26px;padding:4px 10px;font-size:13px;display:inline-flex}.project-deadline-badge.success{color:var(--color-success);background:#22c55e1f}.project-deadline-badge.warning{color:var(--color-warning);background:#f59e0b21}.project-deadline-badge.danger{color:var(--color-danger,#ef4444);background:#ef44441f}.project-deadline-badge.muted{color:var(--color-text-muted);background:#94a3b824}.request-project-strip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:flex}.request-project-image{border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);flex:none;width:96px;height:60px;overflow:hidden}.request-project-strip span,.request-project-strip strong{display:block}.request-project-strip span{color:var(--color-text-secondary);font-size:12px}.request-project-strip strong{color:var(--color-text-primary);font-size:16px}.request-category-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid;overflow:hidden}.request-category-summary span{color:var(--color-text-secondary);border-right:1px solid var(--color-border);padding:12px;font-size:12px;display:block}.request-category-summary span:last-child{border-right:0}.request-category-summary strong{color:var(--color-text-primary);overflow-wrap:anywhere;word-break:normal;margin-top:4px;font-size:15px;line-height:1.25;display:block}.request-create-top-grid{grid-template-columns:minmax(0,1fr) minmax(160px,.42fr);gap:16px;display:grid}.request-category-select{display:none}.project-empty{grid-column:1/-1}.project-form-shell{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.project-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.project-form-wide{grid-column:1/-1}.project-form-actions{justify-content:flex-end;width:100%}.project-create-steps{margin-bottom:24px}.project-estimate-form{flex-direction:column;gap:16px;display:flex}.project-base-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-base-cost-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff08;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:center;gap:16px;padding:14px 16px;display:grid}.project-base-cost-total{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff0a;min-width:180px;padding:10px 14px}.project-base-cost-total span{color:var(--color-text-secondary);font-size:12px;display:block}.project-base-cost-total strong{color:var(--color-text-primary)}.project-file-upload-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff08;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.project-category-budget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-category-budget-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff08;flex-direction:column;gap:8px;padding:14px;display:flex}.project-category-budget-editor{border-bottom:1px solid var(--color-border);margin-bottom:18px;padding-bottom:18px}.project-create-estimate-layout{grid-template-columns:minmax(0,1fr) 330px;gap:18px;display:grid}.project-estimate-table-card,.project-estimate-resource-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff06;padding:18px}.project-category-total{border-radius:var(--radius-sm);color:var(--color-text-primary);background:#facc151f;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:14px 16px;display:flex}.project-estimate-resource-panel{align-self:start}.project-resource-total-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 0;display:flex}.project-resource-total-row>div:last-child{text-align:right}.project-resource-grand-total{border-radius:var(--radius-md);text-align:center;background:#6366f129;margin:16px 0;padding:16px}.project-resource-grand-total span{color:var(--color-text-secondary);font-size:12px;display:block}.project-resource-grand-total strong{color:var(--color-text-primary);font-size:20px}.project-resource-bars{flex-direction:column;gap:12px;display:flex}.project-resource-bar div{color:var(--color-text-secondary);justify-content:space-between;gap:12px;font-size:12px;display:flex}.project-resource-bar i{background:var(--color-accent-gradient);border-radius:999px;min-width:4px;height:7px;margin-top:6px;display:block}.project-resource-usage-table .ant-table-thead>tr>th{white-space:nowrap;z-index:4}.project-resource-usage-table .ant-table-cell-fix-left{box-shadow:8px 0 14px #0f172a0d;background:var(--color-bg-elevated)!important}.project-resource-usage-table .ant-table-tbody>tr.project-resource-usage-row-alt>td:not(.ant-table-cell-fix-left){background:#6366f109}.project-resource-usage-table .ant-table-tbody>tr.project-resource-usage-row-alt>td.ant-table-cell-fix-left{background:#fbfbff!important}.project-resource-usage-table .ant-table-body{scrollbar-gutter:stable}.project-resource-mobile-list{display:none}.project-resource-mobile-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);flex-direction:column;gap:14px;padding:14px;display:flex}.project-resource-mobile-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-resource-mobile-head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.project-resource-mobile-head .ant-typography{overflow-wrap:anywhere}.project-resource-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-resource-mobile-grid div{border-radius:var(--radius-sm);background:#6366f10f;min-width:0;padding:10px}.project-resource-mobile-grid span{color:var(--color-text-muted);margin-bottom:4px;font-size:12px;display:block}.project-resource-mobile-grid strong{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.project-resource-debt-row{border-radius:var(--radius-sm);background:#ef444414;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.project-resource-debt-row span{min-width:0;color:var(--color-text-secondary);overflow-wrap:anywhere}.project-resource-debt-row strong{color:var(--color-danger,#ef4444);flex:none}.project-detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px;display:grid}.project-finance-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.project-detail-head{align-items:flex-start;margin-bottom:24px}.project-detail-head>div{flex:1}.project-manager-row{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:10px 0;display:flex}.project-manager-row:last-child{border-bottom:none}.project-descriptions .ant-descriptions-item-label{color:var(--color-text-secondary)!important}.project-detail-tabs{margin-top:16px}.project-estimate-summary{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.project-estimate-layout{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.project-estimate-side{border:1px solid var(--color-border);border-radius:var(--radius-md);align-self:start;overflow:hidden}.project-estimate-side-row,.project-estimate-total-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.project-estimate-side-row:last-of-type{border-bottom:none}.project-estimate-total-row{color:var(--color-text-primary);background:#ffffff0d;border-bottom:none}.project-section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.project-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.payment-package-row{cursor:pointer}.payment-package-row td{background:#6366f10a}.finance-text-primary{font-weight:600;color:var(--color-text-primary)!important}.finance-text-success{font-weight:700;color:var(--color-success)!important}.finance-text-danger{font-weight:700;color:var(--color-danger,#ef4444)!important}.finance-text-warning{font-weight:700;color:var(--color-warning)!important}.finance-text-cyan{font-weight:700;color:#0891b2!important}.finance-text-muted{font-weight:600;color:var(--color-text-muted)!important}.finance-mobile-list{display:none}.finance-mobile-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.finance-mobile-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.finance-mobile-card-head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.finance-mobile-card-head .ant-typography{overflow-wrap:anywhere}.finance-mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.finance-mobile-grid div{border-radius:var(--radius-sm);background:#6366f10f;min-width:0;padding:10px}.finance-mobile-grid span{color:var(--color-text-muted);margin-bottom:4px;font-size:12px;display:block}.finance-mobile-grid strong{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.35;display:block}.finance-mobile-link{align-self:flex-start;height:auto;padding:0}.finance-mobile-total{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#6366f10f;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.finance-mobile-total span{color:var(--color-text-secondary)}.finance-mobile-total strong{color:var(--color-text-primary);overflow-wrap:anywhere;text-align:right}.activity-page{min-width:0}.activity-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.activity-cell .ant-typography{overflow-wrap:anywhere}.activity-change-list{gap:4px;min-width:0;display:grid}.activity-change{overflow-wrap:anywhere}@media (width<=980px){.project-kpi-grid,.project-finance-grid,.project-detail-grid,.project-base-cost-grid,.project-create-estimate-layout,.project-estimate-layout,.project-form-grid,.help-layout{grid-template-columns:1fr}.project-toolbar,.project-section-head,.page-header{flex-direction:column;align-items:stretch}.project-modal-grid,.project-base-cost-row{grid-template-columns:1fr}}@media (width<=640px){.app-header{height:58px;padding:0 12px}.header-left,.header-right{gap:8px;min-width:0}.header-page-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:48vw;font-size:15px;overflow:hidden}.app-main{padding:12px}.page-header{gap:12px;margin-bottom:14px}.page-header h3,.page-header .ant-typography{word-break:break-word}.page-header>.ant-space{justify-content:stretch;width:100%}.page-header>.ant-space .ant-space-item{flex:1}.page-header>.ant-space .ant-btn{width:100%}.help-form-card{border-radius:var(--radius-md);padding:16px}.help-type-control,.help-type-control .ant-radio-button-wrapper,.help-form-actions .ant-btn{width:100%}.help-type-control .ant-radio-button-wrapper{text-align:center}.help-form-actions{justify-content:stretch}.help-ticket-card{border-radius:var(--radius-md);padding:14px}.help-ticket-top,.help-ticket-author,.help-reply-meta{text-align:left;flex-direction:column;align-items:flex-start}.help-attachments a,.help-reply-form .ant-btn{width:100%}.kpi-card{border-radius:var(--radius-md);padding:14px}.kpi-card:before{height:2px}.kpi-card-value{font-size:22px}.project-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-kpi-head{gap:8px;margin-bottom:8px}.project-kpi-icon{width:32px;height:32px;font-size:15px}.project-kpi-note{font-size:12px}.project-toolbar{gap:10px;margin-bottom:12px}.project-toolbar-filters,.project-toolbar-filters .ant-space-item,.project-search,.project-status-filter,.project-view-switch{width:100%!important}.project-view-switch .ant-segmented-group{width:100%}.project-view-switch .ant-segmented-item{flex:1}.project-grid{grid-template-columns:1fr;gap:12px}.project-card-with-media{gap:10px;padding:10px}.projects-list-card.project-card-with-media{gap:0;padding:0}.project-card-media{aspect-ratio:4/3}.project-card-notification-badge{min-width:30px;height:30px;font-size:13px;top:6px;right:6px}.project-card-top{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:4px}.project-card-top h5{word-break:break-word;font-size:16px!important;line-height:1.25!important}.projects-list-card .project-card-body{gap:16px;padding:14px}.projects-list-card .project-card-main-row,.projects-list-card .project-card-bottom{flex-direction:column;align-items:stretch;gap:10px}.projects-list-card .project-card-location{white-space:normal}.projects-list-card .project-card-progress{flex-basis:auto;width:100%}.projects-list-card .project-deadline-badge{align-self:flex-start}.project-card-footer{flex-wrap:wrap;gap:6px 12px}.project-form-shell{border-radius:var(--radius-md);padding:14px}.project-create-steps{margin-bottom:18px}.project-create-steps .ant-steps-item-title{font-size:12px;line-height:1.25}.project-form-actions.ant-space{grid-template-columns:1fr;display:grid;gap:8px!important}.project-form-actions .ant-space-item,.project-form-actions .ant-btn{width:100%}.project-section-head{align-items:stretch;gap:10px;margin-bottom:12px}.project-section-head>.ant-space,.project-section-head .ant-btn,.project-base-cost-total{width:100%}.project-file-upload-row{flex-direction:column;align-items:stretch}.project-file-upload-row .ant-upload,.project-file-upload-row .ant-btn,.project-form-shell .ant-upload,.project-form-shell .ant-upload .ant-btn{width:100%}.project-category-budget-grid{grid-template-columns:1fr;gap:10px}.project-estimate-table-card,.project-estimate-resource-panel{border-radius:var(--radius-md);padding:12px}.project-category-total,.project-resource-total-row,.project-estimate-side-row,.project-estimate-total-row{flex-direction:column;align-items:stretch;gap:6px}.project-resource-total-row>div:last-child{text-align:left}.project-resource-grand-total{padding:14px}.project-detail-head{flex-direction:column;gap:12px;margin-bottom:16px}.project-manager-row{flex-wrap:wrap;align-items:flex-start}.project-manager-row .ant-typography{width:100%;margin-left:26px!important}.project-descriptions .ant-descriptions-item{padding-bottom:8px!important}.project-finance-grid{grid-template-columns:1fr;gap:10px}.project-resource-usage-table{display:none}.project-resource-mobile-list{flex-direction:column;gap:12px;display:flex}.project-estimate-summary{flex-direction:column;align-items:flex-start;gap:8px}.project-detail-tabs .ant-tabs-nav{margin-bottom:12px}.project-detail-tabs .ant-tabs-tab{padding:10px 0}.finance-detail-tabs .ant-tabs-nav{margin-bottom:12px}.finance-detail-tabs .ant-tabs-nav-wrap{overflow-x:auto}.finance-detail-tabs .ant-tabs-nav-list{min-width:max-content}.finance-detail-tabs .ant-tabs-tab{padding:10px 0}.finance-expense-table,.finance-payments-table,.finance-debts-table{display:none}.finance-mobile-list{flex-direction:column;gap:12px;display:flex}.project-modal-grid{grid-template-columns:1fr}.request-create-modal .ant-modal-body{max-height:calc(100dvh - 170px);padding-right:2px;overflow:hidden auto}.request-create-modal .ant-modal-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.request-create-modal .ant-modal-footer .ant-btn{width:100%;margin-inline-start:0!important}.request-create-top-grid{grid-template-columns:1fr;gap:0}.request-create-modal .ant-form-item{margin-bottom:16px}.request-create-modal .ant-form-item-label>label{white-space:normal;line-height:1.25}.request-create-modal .ant-select-selector,.request-create-modal .ant-input,.request-create-modal .ant-input-number{min-width:0}.request-create-modal .ant-select-selection-item,.request-create-modal .ant-select-selection-placeholder{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.request-category-tabs{display:none}.request-category-select{display:block}.request-category-summary{border-radius:var(--radius-md);grid-template-columns:1fr}.request-category-summary span{border-right:0;border-bottom:1px solid var(--color-border);padding:12px 14px;font-size:13px}.request-category-summary span:last-child{border-bottom:0}.request-category-summary strong{font-size:17px}.ant-table-wrapper{width:100%}.ant-table{font-size:13px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:10px 12px!important}.ant-pagination{justify-content:center}.ant-pagination-options{display:none!important}.ant-modal{max-width:calc(100vw - 24px);margin:12px auto}.ant-modal-content{border-radius:var(--radius-md)!important}.ant-modal-title{overflow-wrap:anywhere;padding-right:34px;line-height:1.2!important}.ant-modal .ant-form-item-control,.ant-modal .ant-form-item-control-input,.ant-modal .ant-form-item-control-input-content,.ant-modal .ant-select,.ant-modal .ant-input-number,.ant-modal textarea{max-width:100%}.ant-modal .ant-input-number,.ant-modal .ant-picker{width:100%!important}.ant-modal .ant-space{max-width:100%}.ant-picker-panels{flex-direction:column}}@media (width<=420px){.project-kpi-grid{grid-template-columns:1fr}.project-card-media{aspect-ratio:1.25}.project-base-cost-total strong,.project-resource-grand-total strong{font-size:18px}}.ant-layout-sider{background:var(--color-bg-secondary)!important}.ant-menu-dark{background:0 0!important}.ant-menu-dark .ant-menu-item{border-radius:var(--radius-sm);transition:all var(--transition-fast);margin:4px 8px;color:var(--color-text-secondary)!important}.ant-menu-dark .ant-menu-item:hover{color:var(--color-text-primary)!important;background:#6366f11a!important}.ant-menu-dark .ant-menu-item-selected{color:var(--color-accent-light)!important;background:#6366f126!important}.ant-menu-dark .ant-menu-item-selected:after{display:none}.ant-table{background:0 0!important}.ant-table-thead>tr>th{font-weight:600;background:var(--color-bg-elevated)!important;color:var(--color-text-secondary)!important;border-bottom:1px solid var(--color-border)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--color-border)!important}.ant-table-tbody>tr:hover>td{background:#6366f10d!important}.ant-card{background:var(--color-bg-card)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important}.ant-btn-primary{font-weight:500;background:var(--color-accent-gradient)!important;border:none!important;box-shadow:0 2px 8px #6366f14d!important}.ant-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166!important}.ant-input,.ant-input-password,.ant-select-selector,.ant-picker{background:var(--color-bg-elevated)!important;border-color:var(--color-border)!important;color:var(--color-text-primary)!important;border-radius:var(--radius-sm)!important}.ant-input:focus,.ant-input-focused,.ant-input-password:focus,.ant-select-focused .ant-select-selector{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px #6366f126!important}.ant-input::placeholder{color:var(--color-text-muted)!important}.ant-modal-content{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important}.ant-modal-header{border-bottom:1px solid var(--color-border)!important;background:0 0!important}.ant-modal-title{color:var(--color-text-primary)!important}.ant-dropdown-menu{background:var(--color-bg-elevated)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important}.ant-tag{font-weight:500;border-radius:var(--radius-sm)!important;border:none!important}.ant-pagination-item{background:var(--color-bg-elevated)!important;border-color:var(--color-border)!important}.ant-pagination-item-active{background:var(--color-accent)!important;border-color:var(--color-accent)!important}
