:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;font-weight:400;color:#102026;background:radial-gradient(circle at top left,rgba(102,204,0,.14),transparent 24%),radial-gradient(circle at top right,rgba(0,153,0,.12),transparent 30%),linear-gradient(180deg,#f6ffef,#ebf6f3);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-page: transparent;--bg-card: rgba(255, 255, 255, .88);--bg-card-strong: rgba(255, 255, 255, .96);--bg-muted: #f5faef;--bg-soft: #edf8e6;--text: #102026;--text-soft: #4b646b;--text-muted: #5d7279;--border: rgba(16, 32, 38, .08);--border-strong: rgba(0, 153, 0, .22);--primary-light: #66cc00;--primary: #009900;--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 rgba(0, 50, 59, .06);--shadow-md: 0 18px 42px rgba(0, 50, 59, .1);--shadow-lg: 0 28px 60px rgba(0, 50, 59, .14);--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;--primary-strong: #007d00;--success-dark: #177a41;--text-xmuted: #9aadaa;--text-subtle: #6b7f86;--text-mid: #5f747b;--text-mid2: #4a676f;--danger-dark: #991b1b;--danger-mid: #b73737;--bg-white: #ffffff;--bg-muted2: #f8fbfb;--bg-highlight: #f5faef}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}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 (min-width: 900px){.app-shell,.app,.planning-app{padding:36px 28px 56px}}.app-header,.page-header,.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#39cf00fa,#0a6a34f5);color:#fff;border-radius:28px;padding:28px 28px 24px;box-shadow:var(--shadow-lg);margin-bottom:24px}.app-header:after,.page-header:after,.hero:after{content:"";position:absolute;right:-36px;top:-36px;width:180px;height:180px;border-radius:999px;background:#ffffff1f;filter:blur(6px)}.app-header h1,.page-header h1,.hero h1{margin:0 0 8px;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.08;letter-spacing:-.03em}.app-header p,.page-header p,.hero p{margin:0;max-width:900px;color:#ffffffeb;font-size:1rem}.stats-grid,.summary-grid,.dashboard-stats{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;margin-bottom:24px}@media (min-width: 700px){.stats-grid,.summary-grid,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-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);padding:18px 18px 16px;box-shadow:var(--shadow-sm)}.stat-card h3,.summary-card h3,.metric-card h3{margin:0 0 8px;font-size:.95rem;color:var(--text-soft);font-weight:700}.stat-card .value,.summary-card .value,.metric-card .value,.stat-value{font-size:2rem;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--text)}.stat-card .subtext,.summary-card .subtext,.metric-card .subtext,.stat-subtext{margin-top:8px;font-size:.9rem;color:var(--text-muted)}.stat-card.success{background:linear-gradient(180deg,#fff,#effcf3)}.stat-card.warning{background:linear-gradient(180deg,#fff,#fffbef)}.stat-card.danger{background:linear-gradient(180deg,#fff,#fff3f3)}.stat-card.primary{background:linear-gradient(180deg,#fff,#eef8e8)}.main-grid,.content-grid,.dashboard-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-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{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 0}.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{margin:0;font-size:1.15rem;line-height:1.2;letter-spacing:-.02em}.card p,.panel p,.section-card p{color:var(--text-soft);font-size:.93rem}.tabs,.tab-bar,.view-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.tab,.tab-button,.view-tab{padding:11px 16px;border-radius:999px;background:#fffc;border:1px solid var(--border);color:var(--text-soft);font-weight:700;transition:.2s ease}.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:transparent;box-shadow:0 12px 30px #00990038}.form-grid,.fields-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-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{display:flex;flex-direction:column;gap:8px}label,.field label,.form-field label{font-size:13px;font-weight:700;color:var(--text-soft)}input,select,textarea{width:100%;border:1px solid rgba(16,32,38,.12);background:#fffffff0;color:var(--text);border-radius:14px;padding:11px 14px;font-size:14px;outline:none;transition:.2s ease;box-shadow:inset 0 1px #fff9}input.compact,select.compact,.input-compact{padding:6px 10px;border-radius:10px;font-size:12px;min-height:32px}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#00990061;box-shadow:0 0 0 4px #66cc0029;background:#fff}.help-text,.field-help,.muted{font-size:.86rem;color:var(--text-muted)}.button-row,.actions,.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn,.button,.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:14px;font-weight:700;font-size:14px;transition:.2s ease;cursor:pointer;border:0}.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{background:#ffffffeb;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover,.button-secondary:hover,.secondary-button:hover{border-color:#0099003d;color:var(--primary)}.btn-danger,.button-danger,.danger-button{background:#fff;color:var(--danger);border:1px solid rgba(198,61,61,.18)}.btn-danger:hover,.button-danger:hover,.danger-button:hover{background:#fff5f5}.list,.card-list,.projects-list,.employee-list{display:grid;gap:10px}.list-item,.project-card,.employee-card,.assignment-card{background:var(--bg-card-strong);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm)}.list-item-header,.project-card-header,.employee-card-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px}.list-item-title,.project-title,.employee-name{font-size:1.08rem;font-weight:800;letter-spacing:-.02em}.badges,.tag-row,.meta-badges{display:flex;flex-wrap:wrap;gap:8px}.badge,.tag,.pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:var(--bg-soft);color:var(--primary-dark);font-size:.84rem;font-weight:700;border:1px solid rgba(0,153,0,.12)}.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{display:flex;flex-wrap:wrap;gap:10px 14px;color:var(--text-muted);font-size:.92rem;margin-bottom:12px}.schedule-list,.assignment-list,.timeline-list{display:grid;gap:10px;margin-top:12px}.schedule-row,.assignment-row,.timeline-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--bg-muted);border:1px solid rgba(16,32,38,.08)}.schedule-row strong,.assignment-row strong,.timeline-row strong{display:block;margin-bottom:2px}.schedule-row span,.assignment-row span,.timeline-row span{color:var(--text-muted);font-size:.9rem}.hours,.hours-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:34px;padding:0 10px;border-radius:999px;background:#eef9e5;color:#086c2d;font-weight:800;border:1px solid rgba(0,153,0,.12)}.week-rules,.week-availability,.rules-list{display:grid;gap:12px;margin-top:14px}.week-rule,.rule-row{display:grid;grid-template-columns:1.1fr .9fr auto;gap:12px;align-items:end;padding:14px;background:#e8f8d8b8;border:1px solid rgba(0,153,0,.14);border-radius:16px}@media (max-width: 760px){.week-rule,.rule-row{grid-template-columns:1fr}}.empty-state,.no-data,.placeholder-card{border:1px dashed rgba(16,32,38,.16);border-radius:18px;padding:22px;text-align:center;color:var(--text-muted);background:#ffffff94}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid rgba(16,32,38,.08)}th{font-size:.84rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}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{display:grid;gap:16px}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.space-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.table-wrap,.horizontal-scroll{overflow-x:auto;border-radius:16px}h1,h2,h3,h4{color:var(--text)}h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 8px}h2{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 6px}h3{font-size:.95rem;font-weight:700;line-height:1.3;margin:0 0 4px}h4{font-size:.88rem;font-weight:700;line-height:1.3;margin:0 0 4px}p{margin-top:0}.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(16,32,38,.16),transparent);margin:20px 0}.highlight-card{background:linear-gradient(135deg,#66cc001f,#0099000f);border:1px solid rgba(0,153,0,.14);border-radius:20px;padding:18px}.btn-ghost,.button-ghost{background:#ffffffd1;color:var(--text-soft);border:1px solid var(--border)}.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{background:#ffffffeb;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:#0099003d;color:var(--primary)}.btn-danger{background:#fff;color:var(--danger);border:1px solid rgba(198,61,61,.2)}.btn-danger:hover{background:#fff5f5}.btn-blue{background:linear-gradient(135deg,#0070f3,#0050c8);color:#fff;box-shadow:0 10px 24px #0070f333}.btn-blue:hover{transform:translateY(-1px)}.btn-sm{min-height:34px;padding:0 12px;font-size:12px;border-radius:10px}.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{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:800;font-size:12px;white-space:nowrap;flex-shrink:0}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}.page-header-actions .btn,.page-header-actions button{background:#ffffff26;border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:700}.page-header-actions .btn:hover,.page-header-actions button:hover{background:#ffffff40;transform:translateY(-1px)}.view-stack{display:grid;gap:20px}.feedback-bar{border-radius:12px;padding:12px 14px;font-weight:700;margin-bottom:16px}.feedback-bar.success{background:#00990014;color:#177a41;border:1px solid rgba(0,153,0,.18)}.feedback-bar.error{background:#d6454514;color:#b73737;border:1px solid rgba(214,69,69,.18)}.feedback-bar.warning{background:#f59e0b1a;color:#9a5b07;border:1px solid rgba(245,158,11,.22)}.feedback-bar.info{background:#2563eb14;color:#1d4ed8;border:1px solid rgba(37,99,235,.14)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:700;color:var(--text-soft)}.form-field .field-error{font-size:12px;color:var(--danger);margin-top:2px}.table-wrap table thead th{background:#0099000d}.table-wrap table tbody tr:hover td{background:#00990008}.import-row-ok{padding:10px 14px;border-radius:12px;background:#0099000f;border:1px solid rgba(0,153,0,.14)}.import-row-warn{padding:10px 14px;border-radius:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.18)}.import-row-error{padding:10px 14px;border-radius:12px;background:#d645450f;border:1px solid rgba(214,69,69,.14)}@media (max-width: 600px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.btn{width:100%;justify-content:center}.button-row,.actions{flex-direction:column}}.skip-link{position:absolute;top:-100%;left:8px;z-index:99999;padding:10px 16px;background:var(--primary-dark);color:#fff;font-weight:800;border-radius:0 0 12px 12px;text-decoration:none;transition:top .15s}.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,#f0f4f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite;border-radius:8px;display:block}@media (prefers-color-scheme: dark){.skeleton-block{background:linear-gradient(90deg,#1e2d20 25%,#263328,#1e2d20 75%);background-size:200% 100%}}[data-theme=dark]{color-scheme:dark;--bg-page: #0d1a0e;--bg-card: rgba(22, 36, 23, .96);--bg-card-strong: rgba(26, 42, 27, .98);--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: rgba(255, 255, 255, .08);--border-strong: rgba(0, 204, 0, .28);--primary-light: #88dd22;--primary: #22bb22;--primary-strong: #1a9a1a;--primary-dark: #a8dba9;--primary-soft: rgba(34, 187, 34, .14);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .3);--shadow-md: 0 8px 28px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--success: #22cc66;--success-soft: rgba(34, 204, 102, .15);--success-dark: #55dd88;--warning: #f0b844;--warning-soft: rgba(240, 184, 68, .15);--warning-mid: #d4a030;--warning-dark: #c49028;--danger: #e05050;--danger-soft: rgba(224, 80, 80, .15);--danger-dark: #f07070;--danger-mid: #d06060;--info: #4499ff;--info-dark: #3377dd;--info-darker: #5599ee;--bg-success-soft: rgba(34, 187, 34, .12);--bg-warning-soft: rgba(240, 184, 68, .12);--bg-danger-soft: rgba(224, 80, 80, .12);--bg-info-soft: rgba(68, 153, 255, .12);--bg-purple-soft: rgba(180, 120, 255, .12);--bg-green-light: rgba(34, 187, 34, .08);--bg-green-xlight: rgba(34, 187, 34, .05);--bg-green-xxlight: rgba(34, 187, 34, .04);--bg-blue-soft: rgba(68, 153, 255, .08)}[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{background:#22bb2214;color:var(--text-soft)}[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,#0d4410 60%,#061e08)}[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);border-color:#2b23;color:var(--success-dark)}[data-theme=dark] .feedback-bar.error{background:var(--bg-danger-soft);border-color:#e0505033;color:var(--danger-dark)}[data-theme=dark] .feedback-bar.warning{background:var(--bg-warning-soft);border-color:#f0b84433;color:var(--warning-mid)}[data-theme=dark] .feedback-bar.info{background:var(--bg-info-soft);border-color:#49f3;color:var(--info)}[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,#1a2a1b 75%);background-size:200% 100%}.stats-grid-compact .stat-card{padding:14px 16px}.stats-grid-compact .stat-card h3{font-size:12px;margin-bottom:4px}.stats-grid-compact .stat-card .value{font-size:26px}.stats-grid-compact .stat-card .subtext{font-size:12px;margin-top:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-muted);gap:12px}.empty-state .empty-icon{font-size:40px;opacity:.5}.empty-state .empty-title{font-size:15px;font-weight:700;color:var(--text-soft)}.empty-state .empty-sub{font-size:13px;color:var(--text-muted);max-width:320px;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{font-size:16px;font-weight:800;color:var(--primary-dark);margin-bottom:14px}.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{font-size:14px;opacity:.92}button{font-size:14px;min-height:36px}.btn-sm button,button.btn-sm{font-size:12px;min-height:30px}.card-body p,.card-body span,.card-body div:not([class]){font-size:14px;line-height:1.5}
