*{margin:0;padding:0;box-sizing:border-box}:root{--color-brand-primary: #1a6b3a;--color-brand-primary-hover: color-mix(in oklab, var(--color-brand-primary) 85%, black);--color-brand-primary-light: color-mix(in oklab, var(--color-brand-primary) 12%, white);--color-brand-accent: #c8f400;--color-brand-accent-dark: color-mix(in oklab, var(--color-brand-accent) 85%, black);--color-bg-base: #ffffff;--color-bg-surface: #f6f8f5;--color-bg-elevated: #ffffff;--color-bg-muted: #eef1ec;--color-bg-inverse: #0f2d1c;--color-text-primary: #0d1f14;--color-text-secondary: #4a6355;--color-text-tertiary: #7a9485;--color-text-inverse: #ffffff;--color-text-link: #1a6b3a;--color-text-link-hover: #155730;--color-border-default: #dce8e0;--color-border-strong: #a8c4b0;--color-border-focus: #1a6b3a;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #86efac;--color-success-text: #14532d;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-danger-border: #fca5a5;--color-danger-text: #7f1d1d;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-warning-text: #78350f;--color-info: #0369a1;--color-info-bg: #f0f9ff;--color-info-border: #7dd3fc;--color-info-text: #0c4a6e;--status-draft-bg: #f1f3f0;--status-draft-text: #5a6b60;--status-draft-border: #c4cfc7;--status-published-bg: #dcfce7;--status-published-text: #14532d;--status-published-border: #86efac;--status-inprogress-bg: #fef3c7;--status-inprogress-text: #78350f;--status-inprogress-border: #fcd34d;--status-completed-bg: #dbeafe;--status-completed-text: #1e3a8a;--status-completed-border: #93c5fd;--status-cancelled-bg: #fee2e2;--status-cancelled-text: #7f1d1d;--status-cancelled-border: #fca5a5;--shadow-sm: 0 1px 2px 0 rgb(13 31 20 / .08);--shadow: 0 1px 3px 0 rgb(13 31 20 / .08), 0 0 0 1px var(--color-border-default);--shadow-md: 0 4px 6px -1px rgb(13 31 20 / .1), 0 2px 4px -2px rgb(13 31 20 / .1);--shadow-lg: 0 10px 15px -3px rgb(13 31 20 / .1), 0 4px 6px -4px rgb(13 31 20 / .1);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-display: "Barlow Condensed", system-ui, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--primary-color: var(--color-brand-primary);--primary-hover: var(--color-brand-primary-hover);--secondary-color: var(--color-text-secondary);--success-color: var(--color-success);--danger-color: var(--color-danger);--warning-color: var(--color-warning);--background: var(--color-bg-base);--surface: var(--color-bg-surface);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--border-color: var(--color-border-default)}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-surface);color:var(--color-text-primary);line-height:1.6;font-size:var(--text-base)}#root{min-height:100vh}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:2px}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-brand-primary-light)}a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--color-text-primary)}.h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:1.25;color:var(--color-text-primary)}.h3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:1.35;color:var(--color-text-primary)}.h4{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;line-height:1.375;color:var(--color-text-primary)}.label-overline{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary)}.text-mono{font-family:var(--font-mono)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:500;font-size:var(--text-sm);border:none;transition:background-color .15s ease,box-shadow .15s ease,opacity .15s ease;gap:var(--space-2);white-space:nowrap;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-brand-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-primary-hover)}.btn-accent{background-color:var(--color-brand-accent);color:var(--color-text-primary)}.btn-accent:hover:not(:disabled){background-color:var(--color-brand-accent-dark)}.btn-secondary{background-color:var(--color-text-secondary);color:var(--color-text-inverse)}.btn-secondary:hover:not(:disabled){background-color:var(--color-text-primary)}.btn-outline{background-color:transparent;color:var(--color-brand-primary);border:1px solid var(--color-brand-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-brand-primary-light)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-muted);color:var(--color-text-primary)}.btn-danger{background-color:transparent;color:var(--color-danger);border:1px solid var(--color-danger-border)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-bg)}.btn-xs{padding:.2rem .5rem;font-size:.7rem;border-radius:.35rem;gap:var(--space-1)}.btn-sm{padding:.375rem .75rem;font-size:var(--text-xs)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--text-base)}.input{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border-default);border-radius:.5rem;font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-base);transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--color-text-tertiary)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-brand-primary-light)}.input:disabled{background-color:var(--color-bg-muted);cursor:not-allowed;opacity:.6}.card{background:var(--color-bg-elevated);border-radius:.75rem;padding:var(--space-6);box-shadow:var(--shadow);border:1px solid var(--color-border-default)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:var(--text-xs);font-weight:500;border:1px solid transparent;white-space:nowrap}.badge-primary{background-color:var(--color-brand-primary-light);color:var(--color-brand-primary);border-color:var(--color-border-default)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-border)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:var(--text-xs);font-weight:600;border:1px solid transparent;white-space:nowrap}.status-badge--draft{background-color:var(--status-draft-bg);color:var(--status-draft-text);border-color:var(--status-draft-border)}.status-badge--published{background-color:var(--status-published-bg);color:var(--status-published-text);border-color:var(--status-published-border)}.status-badge--inprogress{background-color:var(--status-inprogress-bg);color:var(--status-inprogress-text);border-color:var(--status-inprogress-border)}.status-badge--completed{background-color:var(--status-completed-bg);color:var(--status-completed-text);border-color:var(--status-completed-border)}.status-badge--cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text);border-color:var(--status-cancelled-border)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:.5rem;border:1px solid transparent;font-size:var(--text-sm);line-height:1.5}.alert-error,.error{color:var(--color-danger-text);background-color:var(--color-danger-bg);border-color:var(--color-danger-border);padding:var(--space-4);border-radius:.5rem;border:1px solid var(--color-danger-border)}.alert-success,.success{color:var(--color-success-text);background-color:var(--color-success-bg);border-color:var(--color-success-border);padding:var(--space-4);border-radius:.5rem;border:1px solid var(--color-success-border)}.alert-warning{color:var(--color-warning-text);background-color:var(--color-warning-bg);border-color:var(--color-warning-border)}.alert-info{color:var(--color-info-text);background-color:var(--color-info-bg);border-color:var(--color-info-border)}.loading{display:flex;align-items:center;justify-content:center;min-height:200px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;border-radius:50%;border:2px solid var(--color-border-default);border-top-color:var(--color-brand-primary);animation:spin .65s linear infinite}.spinner--sm{width:1rem;height:1rem}.spinner--md{width:1.5rem;height:1.5rem;border-width:2px}.spinner--lg{width:2.5rem;height:2.5rem;border-width:3px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg-muted) 25%,var(--color-bg-surface) 50%,var(--color-bg-muted) 75%);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:.375rem}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.nav-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);padding-bottom:2px;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.nav-link:hover{color:var(--color-text-primary)}.nav-link--active{color:var(--color-brand-primary);font-weight:600;border-bottom-color:var(--color-brand-primary)}.lang-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.25rem;padding:.25rem .5rem;font-size:var(--text-xs);font-weight:500;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-default);border-radius:.25rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.lang-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.lang-btn--active{color:var(--color-brand-primary);font-weight:600;border-color:var(--color-brand-primary);border-bottom-width:2px}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.25rem;height:2.25rem;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.375rem}.hamburger:hover{background-color:var(--color-bg-muted)}.hamburger-line{display:block;width:20px;height:2px;background-color:var(--color-text-primary);border-radius:2px;transition:transform .2s ease,opacity .2s ease}.mobile-drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:150}.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:min(320px,85vw);background-color:var(--color-bg-inverse);z-index:200;display:flex;flex-direction:column;padding:var(--space-6);gap:var(--space-2);transform:translate(-100%);transition:transform .25s ease;overflow-y:auto}.mobile-drawer--open{transform:translate(0)}.mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid rgba(255,255,255,.1)}.mobile-drawer__logo{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-text-inverse)}.mobile-drawer__close{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:none;border:none;color:var(--color-text-inverse);cursor:pointer;border-radius:.375rem;font-size:var(--text-xl);opacity:.7;transition:opacity .15s ease}.mobile-drawer__close:hover{opacity:1}.mobile-nav-link{display:block;padding:var(--space-3) var(--space-2);font-size:var(--text-base);font-weight:500;color:#fffc;border-radius:.5rem;transition:background-color .15s ease,color .15s ease;text-decoration:none}.mobile-nav-link:hover{background-color:#ffffff14;color:var(--color-text-inverse)}.mobile-nav-link--active{background-color:var(--color-brand-primary);color:var(--color-text-inverse);font-weight:600}.mobile-drawer__divider{height:1px;background:#ffffff1a;margin:var(--space-3) 0}.mobile-drawer__footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:var(--space-3)}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus-visible{position:fixed;top:0;left:0;width:auto;height:auto;padding:var(--space-2) var(--space-4);background:var(--color-bg-base);color:var(--color-brand-primary);font-weight:600;z-index:9999;border:2px solid var(--color-brand-primary);border-radius:0 0 .5rem;overflow:visible;outline:none}@media (max-width: 767px){.hamburger{display:flex}.desktop-nav{display:none}.mobile-drawer-backdrop{display:block}}@media (min-width: 768px){.mobile-drawer{display:none}.mobile-drawer-backdrop{display:none!important}}.table-wrapper{overflow-x:auto;border-radius:.5rem;border:1px solid var(--color-border-default)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table thead th{background-color:var(--color-bg-muted);padding:.625rem .875rem;text-align:left;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border-default);white-space:nowrap}.table tbody td{padding:.75rem .875rem;border-bottom:1px solid var(--color-border-default);color:var(--color-text-primary)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:nth-child(2n) td{background-color:var(--color-bg-surface)}.table tbody tr:hover td{background-color:var(--color-brand-primary-light)}
