:root{color:#102026;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-page:transparent;--bg-card:#ffffffe0;--bg-card-strong:#fffffff5;--bg-muted:#f5faef;--bg-soft:#edf8e6;--text:#102026;--text-soft:#4b646b;--text-muted:#5d7279;--border:#10202614;--border-strong:#00990038;--primary-light:#6c0;--primary:#090;--primary-strong:#007d00;--primary-dark:#00323b;--primary-soft:#e8f8d8;--success:#0f9f45;--success-soft:#dff7e8;--warning:#d18a00;--warning-soft:#fff0c8;--danger:#c63d3d;--danger-soft:#fde3e3;--shadow-sm:0 10px 26px #00323b0f;--shadow-md:0 18px 42px #00323b1a;--shadow-lg:0 28px 60px #00323b24;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--container:1400px;--warning-mid:#9a5b07;--warning-dark:#92400e;--warning-btn:#b45309;--danger-btn:#ef4444;--info:#0070f3;--info-dark:#0050c8;--info-darker:#09589b;--purple:#7c3aed;--purple-bg:#f3e8ff;--teal:#0f766e;--chart-orange:#f59e0b;--chart-purple:#8b5cf6;--chart-cyan:#06b6d4;--chart-red:#ef4444;--chart-gray:#cbd5e1;--bg-success-soft:#dff7e8;--bg-warning-soft:#fff0c8;--bg-danger-soft:#fde3e3;--bg-info-soft:#eff6ff;--bg-purple-soft:#f3e8ff;--bg-green-light:#f2fcf5;--bg-green-xlight:#f1fbe8;--bg-green-xxlight:#f6fff2;--bg-blue-soft:#f0f7ff;--success-dark:#177a41;--text-xmuted:#9aadaa;--text-subtle:#6b7f86;--text-mid:#5f747b;--text-mid2:#4a676f;--danger-dark:#991b1b;--danger-mid:#b73737;--bg-white:#fff;--bg-muted2:#f8fbfb;--bg-highlight:#f5faef;background:radial-gradient(circle at 0 0,#66cc0024,#0000 24%),radial-gradient(circle at 100% 0,#0099001f,#0000 30%),linear-gradient(#f6ffef 0%,#ebf6f3 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}select,input,textarea{max-width:100%}th,td{overflow-wrap:break-word}body{color:var(--text);background:var(--bg-page)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell,.app,.planning-app{width:100%;max-width:var(--container);margin:0 auto;padding:32px 20px 48px}@media (width>=900px){.app-shell,.app,.planning-app{padding:36px 28px 56px}}.app-header,.page-header,.hero{color:#fff;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#39cf00fa,#0a6a34f5);border-radius:28px;margin-bottom:24px;padding:28px 28px 24px;position:relative;overflow:hidden}.app-header:after,.page-header:after,.hero:after{content:"";filter:blur(6px);background:#ffffff1f;border-radius:999px;width:180px;height:180px;position:absolute;top:-36px;right:-36px}.app-header h1,.page-header h1,.hero h1{letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.08}.app-header p,.page-header p,.hero p{color:#ffffffeb;max-width:900px;margin:0;font-size:1rem}.stats-grid,.summary-grid,.dashboard-stats{grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}@media (width>=700px){.stats-grid,.summary-grid,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.stats-grid,.summary-grid,.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card,.summary-card,.metric-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 18px 16px}.stat-card h3,.summary-card h3,.metric-card h3{color:var(--text-soft);margin:0 0 8px;font-size:.95rem;font-weight:700}.stat-card .value,.summary-card .value,.metric-card .value,.stat-value{letter-spacing:-.04em;color:var(--text);font-size:2rem;font-weight:800;line-height:1}.stat-card .subtext,.summary-card .subtext,.metric-card .subtext,.stat-subtext{color:var(--text-muted);margin-top:8px;font-size:.9rem}.stat-card.success{background:linear-gradient(#fff,#effcf3)}.stat-card.warning{background:linear-gradient(#fff,#fffbef)}.stat-card.danger{background:linear-gradient(#fff,#fff3f3)}.stat-card.primary{background:linear-gradient(#fff,#eef8e8)}.main-grid,.content-grid,.dashboard-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=1180px){.main-grid,.content-grid,.dashboard-grid{grid-template-columns:1.05fr .95fr;align-items:start}}.card,.panel,.section-card,.surface{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header,.panel-header,.section-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 0;display:flex}.card-body,.panel-body,.section-body{padding:18px 20px}.card-body.compact,.panel-body.compact{padding:12px 14px}.card h2,.panel h2,.section-card h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;line-height:1.2}.card p,.panel p,.section-card p{color:var(--text-soft);font-size:.93rem}.tabs,.tab-bar,.view-tabs{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.tab,.tab-button,.view-tab{border:1px solid var(--border);color:var(--text-soft);background:#fffc;border-radius:999px;padding:11px 16px;font-weight:700;transition:all .2s}.tab:hover,.tab-button:hover,.view-tab:hover{border-color:var(--border-strong);color:var(--primary);transform:translateY(-1px)}.tab.active,.tab-button.active,.view-tab.active{background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;border-color:#0000;box-shadow:0 12px 30px #00990038}.form-grid,.fields-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=760px){.form-grid.two,.fields-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three,.fields-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}.field,.form-field,.input-group{flex-direction:column;gap:8px;display:flex}label,.field label,.form-field label{color:var(--text-soft);font-size:13px;font-weight:700}input,select,textarea{width:100%;color:var(--text);background:#fffffff0;border:1px solid #1020261f;border-radius:14px;outline:none;padding:11px 14px;font-size:14px;transition:all .2s;box-shadow:inset 0 1px #fff9}input.compact,select.compact,.input-compact{border-radius:10px;min-height:32px;padding:6px 10px;font-size:12px}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{background:#fff;border-color:#00990061;box-shadow:0 0 0 4px #66cc0029}.help-text,.field-help,.muted{color:var(--text-muted);font-size:.86rem}.button-row,.actions,.form-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.btn,.button,.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary,.button-primary,.primary-button{background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;box-shadow:0 12px 28px #00990038}.btn-primary:hover,.button-primary:hover,.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 32px #00990042}.btn-secondary,.button-secondary,.secondary-button{color:var(--text);border:1px solid var(--border);background:#ffffffeb}.btn-secondary:hover,.button-secondary:hover,.secondary-button:hover{color:var(--primary);border-color:#0099003d}.btn-danger,.button-danger,.danger-button{color:var(--danger);background:#fff;border:1px solid #c63d3d2e}.btn-danger:hover,.button-danger:hover,.danger-button:hover{background:#fff5f5}.list,.card-list,.projects-list,.employee-list{gap:10px;display:grid}.list-item,.project-card,.employee-card,.assignment-card{background:var(--bg-card-strong);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;padding:18px}.list-item-header,.project-card-header,.employee-card-header{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.list-item-title,.project-title,.employee-name{letter-spacing:-.02em;font-size:1.08rem;font-weight:800}.badges,.tag-row,.meta-badges{flex-wrap:wrap;gap:8px;display:flex}.badge,.tag,.pill{background:var(--bg-soft);min-height:30px;color:var(--primary-dark);border:1px solid #0099001f;border-radius:999px;align-items:center;padding:0 10px;font-size:.84rem;font-weight:700;display:inline-flex}.badge.success,.tag.success,.pill.success{background:var(--success-soft);color:#166534;border-color:#0f9f4529}.badge.warning,.tag.warning,.pill.warning{background:var(--warning-soft);color:#92400e;border-color:#d18a002e}.badge.danger,.tag.danger,.pill.danger{background:var(--danger-soft);color:#991b1b;border-color:#c63d3d26}.meta,.project-meta,.employee-meta{color:var(--text-muted);flex-wrap:wrap;gap:10px 14px;margin-bottom:12px;font-size:.92rem;display:flex}.schedule-list,.assignment-list,.timeline-list{gap:10px;margin-top:12px;display:grid}.schedule-row,.assignment-row,.timeline-row{background:var(--bg-muted);border:1px solid #10202614;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.schedule-row strong,.assignment-row strong,.timeline-row strong{margin-bottom:2px;display:block}.schedule-row span,.assignment-row span,.timeline-row span{color:var(--text-muted);font-size:.9rem}.hours,.hours-badge{color:#086c2d;background:#eef9e5;border:1px solid #0099001f;border-radius:999px;justify-content:center;align-items:center;min-width:56px;height:34px;padding:0 10px;font-weight:800;display:inline-flex}.week-rules,.week-availability,.rules-list{gap:12px;margin-top:14px;display:grid}.week-rule,.rule-row{background:#e8f8d8b8;border:1px solid #00990024;border-radius:16px;grid-template-columns:1.1fr .9fr auto;align-items:end;gap:12px;padding:14px;display:grid}@media (width<=760px){.week-rule,.rule-row{grid-template-columns:1fr}}.empty-state,.no-data,.placeholder-card{text-align:center;color:var(--text-muted);background:#ffffff94;border:1px dashed #10202629;border-radius:18px;padding:22px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #10202614;padding:14px 12px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.84rem}tr:last-child td{border-bottom:0}section+section,.card+.card,.panel+.panel{margin-top:24px}.text-muted{color:var(--text-muted)}.text-soft{color:var(--text-soft)}.stack{gap:16px;display:grid}.inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.space-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.table-wrap,.horizontal-scroll{border-radius:16px;overflow-x:auto}h1,h2,h3,h4{color:var(--text)}h1{letter-spacing:-.03em;margin:0 0 8px;font-size:2rem;font-weight:800;line-height:1.1}h2{letter-spacing:-.02em;margin:0 0 6px;font-size:1.15rem;font-weight:800;line-height:1.2}h3{margin:0 0 4px;font-size:.95rem;font-weight:700;line-height:1.3}h4{margin:0 0 4px;font-size:.88rem;font-weight:700;line-height:1.3}p{margin-top:0}.divider{background:linear-gradient(90deg,#0000,#10202629,#0000);height:1px;margin:20px 0}.highlight-card{background:linear-gradient(135deg,#66cc001f,#0099000f);border:1px solid #00990024;border-radius:20px;padding:18px}.btn-ghost,.button-ghost{color:var(--text-soft);border:1px solid var(--border);background:#ffffffd1}.btn-ghost:hover,.button-ghost:hover{border-color:var(--border-strong);color:var(--primary);transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg, var(--primary-light), var(--primary));color:#fff;box-shadow:0 10px 26px #0903}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px #00990042}.btn-secondary{color:var(--text);border:1px solid var(--border);background:#ffffffeb}.btn-secondary:hover{color:var(--primary);border-color:#0099003d}.btn-danger{color:var(--danger);background:#fff;border:1px solid #c63d3d33}.btn-danger:hover{background:#fff5f5}.btn-blue{color:#fff;background:linear-gradient(135deg,#0070f3,#0050c8);box-shadow:0 10px 24px #0070f333}.btn-blue:hover{transform:translateY(-1px)}.btn-sm{border-radius:10px;min-height:34px;padding:0 12px;font-size:12px}.btn-lg{min-height:50px;padding:0 24px;font-size:16px}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important}.page-header-badge{color:#fff;white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff3d;border-radius:999px;flex-shrink:0;align-items:center;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.page-header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.page-header-actions .btn,.page-header-actions button{color:#fff;background:#ffffff26;border:1px solid #ffffff3d;font-weight:700}.page-header-actions .btn:hover,.page-header-actions button:hover{background:#ffffff40;transform:translateY(-1px)}.view-stack{gap:20px;display:grid}.feedback-bar{border-radius:12px;margin-bottom:16px;padding:12px 14px;font-weight:700}.feedback-bar.success{color:#177a41;background:#00990014;border:1px solid #0099002e}.feedback-bar.error{color:#b73737;background:#d6454514;border:1px solid #d645452e}.feedback-bar.warning{color:#9a5b07;background:#f59e0b1a;border:1px solid #f59e0b38}.feedback-bar.info{color:#1d4ed8;background:#2563eb14;border:1px solid #2563eb24}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--text-soft);font-size:13px;font-weight:700}.form-field .field-error{color:var(--danger);margin-top:2px;font-size:12px}.table-wrap table thead th{background:#0099000d}.table-wrap table tbody tr:hover td{background:#00990008}.import-row-ok{background:#0099000f;border:1px solid #00990024;border-radius:12px;padding:10px 14px}.import-row-warn{background:#f59e0b14;border:1px solid #f59e0b2e;border-radius:12px;padding:10px 14px}.import-row-error{background:#d645450f;border:1px solid #d6454524;border-radius:12px;padding:10px 14px}@media (width<=600px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.btn{justify-content:center;width:100%}.button-row,.actions{flex-direction:column}}.skip-link{z-index:99999;background:var(--primary-dark);color:#fff;border-radius:0 0 12px 12px;padding:10px 16px;font-weight:800;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:8px}.skip-link:focus{top:0}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-block{background:linear-gradient(90deg,#f0f4f0 25%,#e4ebe4 50%,#f0f4f0 75%) 0 0/200% 100%;border-radius:8px;animation:1.6s ease-in-out infinite skeleton-shimmer;display:block}@media (prefers-color-scheme:dark){.skeleton-block{background:linear-gradient(90deg,#1e2d20 25%,#263328 50%,#1e2d20 75%) 0 0/200% 100%}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#0d1a0e;--bg-card:#162417f5;--bg-card-strong:#1a2a1bfa;--bg-muted:#111f12;--bg-muted2:#141f15;--bg-soft:#182619;--bg-highlight:#162018;--bg-white:#1a2a1b;--text:#e2f0e3;--text-soft:#9db89e;--text-muted:#6d8a6e;--text-mid:#7a9a7b;--text-mid2:#7a9a7b;--text-subtle:#5a7a5b;--text-xmuted:#4a6a4b;--border:#ffffff14;--border-strong:#00cc0047;--primary-light:#8d2;--primary:#2b2;--primary-strong:#1a9a1a;--primary-dark:#a8dba9;--primary-soft:#22bb2224;--shadow-sm:0 4px 16px #0000004d;--shadow-md:0 8px 28px #0006;--shadow-lg:0 16px 48px #00000080;--success:#2c6;--success-soft:#22cc6626;--success-dark:#5d8;--warning:#f0b844;--warning-soft:#f0b84426;--warning-mid:#d4a030;--warning-dark:#c49028;--danger:#e05050;--danger-soft:#e0505026;--danger-dark:#f07070;--danger-mid:#d06060;--info:#49f;--info-dark:#37d;--info-darker:#59e;--bg-success-soft:#22bb221f;--bg-warning-soft:#f0b8441f;--bg-danger-soft:#e050501f;--bg-info-soft:#4499ff1f;--bg-purple-soft:#b478ff1f;--bg-green-light:#22bb2214;--bg-green-xlight:#22bb220d;--bg-green-xxlight:#22bb220a;--bg-blue-soft:#4499ff14}[data-theme=dark] body{background:var(--bg-page);color:var(--text)}[data-theme=dark] .card,[data-theme=dark] [class*=card]{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--bg-muted);color:var(--text);border-color:var(--border)}[data-theme=dark] input::placeholder,[data-theme=dark] select::placeholder{color:var(--text-muted)}[data-theme=dark] table thead th{color:var(--text-soft);background:#22bb2214}[data-theme=dark] table tbody tr:hover td{background:#ffffff08}[data-theme=dark] .stats-grid .stat-card{background:var(--bg-card)}[data-theme=dark] .page-header,[data-theme=dark] .app-header,[data-theme=dark] .hero{background:linear-gradient(135deg,#1a6622 0%,#0d4410 60%,#061e08 100%)}[data-theme=dark] .highlight-card{background:linear-gradient(135deg,#22bb2214,#16241799);border-color:#22bb2229}[data-theme=dark] .tabs .tab-button{color:var(--text-soft);border-color:var(--border)}[data-theme=dark] .tabs .tab-button.active{background:var(--primary);color:#fff}[data-theme=dark] .feedback-bar.success{background:var(--bg-success-soft);color:var(--success-dark);border-color:#2b23}[data-theme=dark] .feedback-bar.error{background:var(--bg-danger-soft);color:var(--danger-dark);border-color:#e0505033}[data-theme=dark] .feedback-bar.warning{background:var(--bg-warning-soft);color:var(--warning-mid);border-color:#f0b84433}[data-theme=dark] .feedback-bar.info{background:var(--bg-info-soft);color:var(--info);border-color:#49f3}[data-theme=dark] .btn-secondary{background:var(--bg-card);color:var(--text);border-color:var(--border)}[data-theme=dark] .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}[data-theme=dark] .btn-ghost{background:var(--bg-muted);color:var(--text-soft);border-color:var(--border)}[data-theme=dark] .divider{background:linear-gradient(90deg, transparent, var(--border), transparent)}[data-theme=dark] .skeleton-block,[data-theme=dark] span[aria-hidden=true]{background:linear-gradient(90deg,#1a2a1b 25%,#232 50%,#1a2a1b 75%) 0 0/200% 100%}.stats-grid-compact .stat-card{padding:14px 16px}.stats-grid-compact .stat-card h3{margin-bottom:4px;font-size:12px}.stats-grid-compact .stat-card .value{font-size:26px}.stats-grid-compact .stat-card .subtext{margin-top:4px;font-size:12px}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state .empty-icon{opacity:.5;font-size:40px}.empty-state .empty-title{color:var(--text-soft);font-size:15px;font-weight:700}.empty-state .empty-sub{color:var(--text-muted);max-width:320px;font-size:13px;line-height:1.6}.btn-loading{opacity:.75;pointer-events:none;cursor:not-allowed}.btn-loading:after{content:" …"}body.is-dragging-block *{pointer-events:none}body.is-dragging-block [data-planning-grid],body.is-dragging-block [data-planning-grid] *{pointer-events:auto}.tab,.tab-button,.view-tab{font-size:14px}th{font-size:12px}td{font-size:14px}.badge,.tag,.pill{font-size:12px}.section-title{color:var(--primary-dark);margin-bottom:14px;font-size:16px;font-weight:800}.memo-card{border-radius:16px;padding:14px 16px;font-size:14px;font-weight:800;line-height:1.35}.stat-card h3{font-size:13px}.stat-card .value{font-size:1.9rem}.stat-card .subtext{font-size:12px}.page-header p,.app-header p{opacity:.92;font-size:14px}button{min-height:36px;font-size:14px}.btn-sm button,button.btn-sm{min-height:30px;font-size:12px}.card-body p,.card-body span,.card-body div:not([class]){font-size:14px;line-height:1.5}
