*{box-sizing:border-box}:root{--color-bg: #f3f3ec;--color-bg-elevated: #eef1e8;--color-surface: rgba(255, 255, 252, .96);--color-surface-muted: #f6f7f2;--color-border: #dde3d6;--color-border-strong: #c5cfbe;--color-ink: #243126;--color-ink-strong: #152116;--color-ink-soft: #5d6b5d;--color-ink-muted: #8a9386;--color-accent: #2c5b38;--color-accent-strong: #193b25;--color-accent-soft: #dce7d9;--radius-md: .85rem;--radius-lg: 1.1rem;--radius-xl: 1.4rem;--shadow-soft: 0 18px 40px rgba(26, 42, 28, .07);--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color:var(--color-ink);background:radial-gradient(circle at top left,rgba(199,216,192,.36),transparent 22rem),linear-gradient(180deg,#f7f7f1,#f0f2ea);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at top left,rgba(199,216,192,.36),transparent 22rem),linear-gradient(180deg,#f7f7f1,#f0f2ea)}button,input,select,textarea{font:inherit}button{font-family:inherit;cursor:pointer}img{max-width:100%}h1,h2,h3,h4{margin:0;line-height:1.2}a{color:inherit}#root{min-height:100vh;min-height:100dvh}.ui-page{display:grid;gap:var(--space-5)}.ui-page-header,.ui-section-header,.ui-filter-bar,.ui-page-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between}.ui-page-title-group{display:grid;gap:.45rem;min-width:0}.ui-page-title{margin:0;font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.04em;color:var(--color-ink-strong)}.ui-page-description,.ui-section-description{margin:0;max-width:68ch;color:var(--color-ink-soft);font-size:.96rem}.ui-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-soft)}.ui-surface--muted{background:var(--color-surface-muted)}.ui-section-title{margin:0;font-size:1.05rem;letter-spacing:-.02em;color:var(--color-ink-strong)}.ui-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:.72rem 1.1rem;font:inherit;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:disabled{cursor:not-allowed;opacity:.65}.ui-button--primary{background:var(--color-accent);color:#fff;box-shadow:0 10px 24px #2c5b3838}.ui-button--secondary{background:#fff;color:var(--color-accent-strong);border:1px solid var(--color-border-strong)}.ui-button--ghost{background:transparent;color:var(--color-ink-soft);border:1px solid transparent}.ui-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .62rem;border-radius:999px;border:1px solid transparent;font-size:.76rem;font-weight:700;letter-spacing:.02em}.ui-badge--neutral{background:var(--color-surface-muted);color:var(--color-ink-soft);border-color:var(--color-border)}.ui-badge--success{background:#eef8f1;color:#236645;border-color:#cae3d4}.ui-badge--warning{background:#fff7e8;color:#8b5c10;border-color:#edd6a6}.ui-badge--danger{background:#fff0f0;color:#9a3838;border-color:#ebc4c4}.ui-badge--info{background:#eef4fb;color:#315d88;border-color:#cfddf0}.ui-notice{border-radius:var(--radius-lg);border:1px solid transparent;padding:.9rem 1rem;font-size:.92rem}.ui-notice--success{background:#eef8f1;color:#236645;border-color:#cae3d4}.ui-notice--warning{background:#fff7e8;color:#8b5c10;border-color:#edd6a6}.ui-notice--danger{background:#fff0f0;color:#9a3838;border-color:#ebc4c4}.ui-notice--info{background:#eef4fb;color:#315d88;border-color:#cfddf0}.ui-empty-state{display:grid;gap:.5rem;justify-items:start;padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fbfbf8f0,#f5f7f1f5)}.ui-empty-state__title,.ui-empty-state__description{margin:0}.ui-empty-state__title{font-size:1rem;color:var(--color-ink-strong)}.ui-empty-state__description{color:var(--color-ink-soft);max-width:56ch}.ui-empty-state__action{margin-top:.35rem}.app-field{display:grid;gap:.35rem;min-width:0}.app-field--full{grid-column:1 / -1}.app-label{font-size:.82rem;font-weight:700;color:var(--color-ink-soft)}.app-label__meta{font-weight:500;color:var(--color-ink-muted)}.app-input,.app-select,.app-textarea{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;color:var(--color-ink);padding:.76rem .9rem;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.app-input:focus,.app-select:focus,.app-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px #2c5b381f}.app-input:disabled,.app-select:disabled,.app-textarea:disabled{background:#f1f3ed;color:var(--color-ink-muted);cursor:not-allowed}.app-textarea{resize:vertical}.app-form-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.app-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.app-form-error{margin:0;color:#9a3838;font-size:.86rem}.app-inline-link{color:var(--color-accent);font-weight:700;text-decoration:none}.app-inline-link:hover{text-decoration:underline}.app-card-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.app-table-wrap{overflow-x:auto}.app-table{width:100%;border-collapse:collapse}.app-table th{padding:.8rem 1rem;text-align:left;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-soft);border-bottom:1px solid var(--color-border);background:#f6f7f2}.app-table td{padding:.9rem 1rem;border-bottom:1px solid #edf0e8;vertical-align:top}@media (max-width: 720px){.ui-page{gap:var(--space-4)}.ui-surface{padding:var(--space-4)}.app-form-grid{grid-template-columns:1fr}}.app-layout{display:flex;min-height:100vh;min-height:100dvh;background:transparent}.app-layout__overlay{display:none}.app-layout__sidebar{width:254px;background:linear-gradient(180deg,#142717f5,#18341efa);color:#fff;display:flex;flex-direction:column;flex-shrink:0;min-height:100vh;position:sticky;top:0;border-right:1px solid rgba(255,255,255,.08);box-shadow:24px 0 48px #10191214}.app-layout__brand{display:flex;gap:.9rem;align-items:center;padding:1.45rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.app-layout__brand-title{font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.app-layout__brand-mark{width:2.65rem;height:2.65rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.9rem;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff0f;font-size:1.3rem}.app-layout__brand-copy{min-width:0}.app-layout__brand-subtitle{font-size:.75rem;color:#ffffff8f;margin-top:.25rem}.app-layout__nav-list{flex:1;padding:1rem .85rem}.app-layout__nav-link,.app-layout__profile-link{display:flex;align-items:center;gap:.75rem;color:#ffffffbd;text-decoration:none;font-size:.92rem;padding:.72rem .9rem;border-radius:.9rem;transition:background .15s ease,color .15s ease,transform .15s ease}.app-layout__nav-link--active,.app-layout__profile-link--active,.app-layout__nav-link:hover,.app-layout__profile-link:hover{color:#fff;background:#ffffff1f;transform:translate(2px)}.app-layout__nav-link--active{font-weight:600}.app-layout__nav-icon{font-size:1rem}.app-layout__sidebar-footer{padding:1rem .85rem calc(1rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08)}.app-layout__profile-link{gap:.75rem;font-size:.85rem;padding:.75rem .85rem;margin-bottom:.75rem}.app-layout__profile-avatar,.app-layout__mobile-profile{width:2.35rem;height:2.35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff1f;font-size:.88rem;font-weight:700}.app-layout__profile-copy{display:grid;min-width:0}.app-layout__profile-copy strong,.app-layout__profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout__profile-copy small{color:#ffffff94}.app-layout__sign-out{background:#ffffff14;border:1px solid rgba(255,255,255,.08);color:#fff;padding:.72rem .9rem;border-radius:.9rem;font-size:.85rem;width:100%;font-weight:700}.app-layout__content-shell{display:flex;flex:1;flex-direction:column;min-width:0}.app-layout__mobile-header{display:none}.app-layout__status-banner{margin:1rem 2rem 0;padding:.85rem 1rem;border-radius:1rem;border:1px solid transparent;font-size:.9rem;box-shadow:var(--shadow-soft)}.app-layout__status-banner--offline{background:#fff7e0;border-color:#f1d892;color:#7a5a00}.app-layout__status-banner--sync{background:#eef5fb;border-color:#c6dced;color:#295b82}.app-layout__status-banner--info{background:#edf7ee;border-color:#c9dfcd;color:#2f6a37}.app-layout__main{flex:1;padding:1.8rem 2rem 2rem;overflow-y:auto}@media (max-width: 900px){.app-layout__overlay{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0e180d73;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:30}.app-layout__overlay--visible{display:block;opacity:1;pointer-events:auto}.app-layout__sidebar{position:fixed;top:0;left:0;bottom:0;width:min(82vw,300px);min-height:100dvh;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 20px 40px #0000002e}.app-layout__sidebar--open{transform:translate(0)}.app-layout__content-shell{min-height:100dvh}.app-layout__mobile-header{display:flex;align-items:center;gap:.75rem;justify-content:space-between;padding:calc(.85rem + env(safe-area-inset-top,0px)) 1rem .85rem;background:#f6f7f2f0;border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-layout__menu-button,.app-layout__mobile-profile{border:1px solid var(--color-border);background:#fff;color:var(--color-accent-strong);border-radius:.95rem;width:2.75rem;height:2.75rem;font-size:1.1rem;text-decoration:none}.app-layout__mobile-title-group{min-width:0;flex:1}.app-layout__mobile-brand{font-size:.8rem;color:var(--color-ink-soft)}.app-layout__mobile-page{font-size:1rem;font-weight:700;color:var(--color-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-layout__status-banner{margin:.85rem 1rem 0;font-size:.85rem}.app-layout__main{padding:1rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0px))}}
