:root{--color-brand-primary: #1E4C3D;--color-brand-secondary: #018264;--color-brand-tertiary: #209F76;--color-surface-base: #FFFFFF;--color-surface-subtle: #F1F1F1;--color-surface-warm: #EBDAAD;--color-text-primary: #1E4C3D;--color-text-secondary: #4A6B5E;--color-text-inverse: #FFFFFF;--color-text-muted: #8A9E95;--color-action-primary-bg: #1E4C3D;--color-action-primary-fg: #FFFFFF;--color-action-secondary-bg: #018264;--color-action-secondary-fg: #FFFFFF;--color-feedback-danger: #A10301;--color-accent-warning: #F2A743;--color-accent-highlight: #FFBC15;--color-feedback-success: #1E7E34;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--border-color: #DDE3DF;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 2px 8px rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;margin:0;color:var(--color-text-primary);background:var(--color-surface-subtle);-webkit-font-smoothing:antialiased}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--color-brand-primary);color:var(--color-text-inverse);padding:var(--space-lg);display:flex;flex-direction:column}.sidebar-logo{font-size:1.25rem;font-weight:700;margin-bottom:var(--space-xl)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-sm)}.sidebar-nav a{color:#fffc;text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.9rem;transition:all .15s}.sidebar-nav a:hover,.sidebar-nav a.active{background:#ffffff1a;color:#fff}.main-content{flex:1;padding:var(--space-lg);overflow-y:auto}.card{background:var(--color-surface-base);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:2px solid var(--border-color);color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);font-size:.9rem}.data-table tr:hover{background:var(--color-surface-subtle)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary{background:var(--color-action-primary-bg);color:var(--color-action-primary-fg)}.btn-primary:hover{background:#15382c}.btn-secondary{background:var(--color-action-secondary-bg);color:var(--color-action-secondary-fg)}.btn-secondary:hover{background:#016a51}.btn-danger{background:var(--color-feedback-danger);color:#fff}.btn-danger:hover{background:#8a0201}.btn-sm{padding:6px 12px;font-size:.8rem;font-weight:500}.btn-xs{padding:3px 8px;font-size:.72rem}[title]{position:relative}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.badge-open{background:#e8f5e9;color:#1e7e34}.badge-progress{background:#fff3e0;color:#e65100}.badge-done{background:#e3f2fd;color:#1565c0}.badge-empty{background:#f5f5f5;color:#9e9e9e}.badge-danger{background:#ffebee;color:#a10301}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:var(--space-xs)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #1e4c3d26}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-lg)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.stat-card{background:var(--color-surface-base);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--color-brand-primary)}.stat-label{font-size:.8rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-surface-base);border-radius:var(--radius-lg);padding:var(--space-xl);width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.modal h2{margin-top:0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e4c3d,#018264)}.login-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);width:380px;box-shadow:0 8px 32px #0003}.login-card h1{font-size:1.5rem;color:var(--color-brand-primary);margin-bottom:var(--space-lg);text-align:center}.dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:var(--space-xl);text-align:center;cursor:pointer;transition:all .2s}.dropzone:hover{border-color:var(--color-brand-primary);background:#1e4c3d08}.phase-timeline{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.phase-step{flex:1;padding:var(--space-sm);text-align:center;border-radius:var(--radius-sm);background:var(--color-surface-subtle);font-size:.85rem}.phase-step.active{background:var(--color-brand-primary);color:#fff}.phase-step.done{background:var(--color-brand-tertiary);color:#fff}.phase-step.empty{opacity:.5}.help-list{margin:0;padding-left:18px;color:var(--color-text-secondary)}.help-list.compact li+li{margin-top:6px}.help-list.ordered{padding-left:22px}.help-hints{display:flex;flex-direction:column;gap:10px}.help-hint-item{padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fafcfb}.help-note-box{background:#f8faf8;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:12px}.help-table-wrap{overflow-x:auto}.help-table td,.help-table th{vertical-align:top}.n63-overview-card{min-height:220px}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:1fr}}@media (max-width: 820px){.app-layout{flex-direction:column}.sidebar{width:100%;padding:var(--space-md)}.main-content{padding:var(--space-md)}.phase-timeline{flex-direction:column}}@media (max-width: 640px){.grid-4{grid-template-columns:1fr}.data-table{font-size:.82rem}}
