:root{--sgr-green-dark:#0d4a26;--sgr-green:#1e7a3d;--sgr-green-light:#e8f5ec;--sgr-white:#fff;--sgr-text:#1c2521;--sgr-text-muted:#5c6b63;--sgr-border:#d5e5da;--sgr-danger:#b3261e;--sgr-warning:#a15c00;--sgr-radius:8px;--sgr-shadow:0 1px 3px #0d4a261f;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--sgr-green-light);color:var(--sgr-text);margin:0;overflow-x:hidden}h1,h2,h3,p,.page-title{overflow-wrap:break-word;word-break:break-word}a{color:var(--sgr-green-dark)}button{cursor:pointer;font-family:inherit}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{background:linear-gradient(135deg, var(--sgr-green-dark), var(--sgr-green));color:var(--sgr-white);box-shadow:var(--sgr-shadow);padding:0 24px}.app-header-inner{justify-content:space-between;align-items:center;max-width:1100px;height:64px;margin:0 auto;display:flex;position:relative}.brand{color:var(--sgr-white);align-items:center;gap:10px;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.brand-logo{object-fit:cover;background:var(--sgr-white);border-radius:50%;width:34px;height:34px}.brand-badge{background:var(--sgr-white);width:34px;height:34px;color:var(--sgr-green-dark);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex}.main-nav{align-items:center;gap:4px;display:flex}.main-nav a,.main-nav button{color:var(--sgr-white);border-radius:var(--sgr-radius);opacity:.9;background:0 0;border:none;padding:8px 14px;font-size:.92rem;text-decoration:none}.main-nav a:hover,.main-nav button:hover{opacity:1;background:#ffffff26}.main-nav a.active{opacity:1;background:#ffffff38}.nav-dropdown{position:relative}.nav-dropdown-label{color:var(--sgr-white);border-radius:var(--sgr-radius);cursor:default;opacity:.9;padding:8px 14px;font-size:.92rem;display:inline-block}.nav-dropdown:hover>.nav-dropdown-label{opacity:1;background:#ffffff26}.nav-dropdown-menu{background:var(--sgr-white);border:1px solid var(--sgr-border);border-radius:var(--sgr-radius);box-shadow:var(--sgr-shadow);z-index:20;min-width:200px;padding:6px;display:none;position:absolute;top:100%;left:0}.nav-dropdown:hover .nav-dropdown-menu{display:block}.nav-dropdown-menu a{border-radius:6px;padding:8px 10px;font-size:.9rem;display:block;color:var(--sgr-text)!important}.nav-dropdown-menu a:hover{background:var(--sgr-green-light)}.nav-toggle{border-radius:var(--sgr-radius);background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:0;display:none}.nav-toggle:hover{background:#ffffff26}.nav-toggle span{background:var(--sgr-white);width:22px;height:2px;margin:0 auto;display:block}.brand-text{white-space:nowrap}@media (width<=780px){.app-header-inner{flex-wrap:wrap;height:56px}.brand{font-size:1rem}.brand-text{text-overflow:ellipsis;max-width:46vw;overflow:hidden}.nav-toggle{display:flex}.main-nav{background:var(--sgr-green-dark);box-shadow:var(--sgr-shadow);flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100vh - 56px);padding:8px;display:none;position:absolute;top:56px;left:0;right:0;overflow-y:auto}.main-nav.open{display:flex}.main-nav a,.main-nav button,.nav-dropdown-label{text-align:left;box-sizing:border-box;width:100%}.nav-dropdown-menu{box-shadow:none;background:0 0;border:none;padding:0 0 0 14px;display:block;position:static}.nav-dropdown-menu a{opacity:.9;color:var(--sgr-white)!important}.nav-dropdown-menu a:hover{background:#ffffff26}.app-body{padding:18px 14px 40px}.card{padding:16px}.form-narrow{margin:16px auto}.form-grid-2,.stat-grid-3{grid-template-columns:1fr!important}.page-title{font-size:1.5rem}}.app-body{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:28px 24px 60px}.app-footer{text-align:center;color:var(--sgr-text-muted);padding:16px;font-size:.82rem}.card{background:var(--sgr-white);border:1px solid var(--sgr-border);border-radius:var(--sgr-radius);box-shadow:var(--sgr-shadow);padding:24px;overflow-x:auto}.page-title{color:var(--sgr-green-dark);margin:0 0 20px}.form-grid-2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.stat-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.form-row{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-row label{color:var(--sgr-text);font-size:.88rem;font-weight:600}.form-row input,.form-row select{border:1px solid var(--sgr-border);border-radius:var(--sgr-radius);padding:9px 11px;font-size:.95rem}.form-row input:focus,.form-row select:focus{outline:2px solid var(--sgr-green);outline-offset:1px}.btn{border-radius:var(--sgr-radius);background:var(--sgr-green);color:var(--sgr-white);border:none;padding:10px 18px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--sgr-green-dark)}.btn-secondary{background:var(--sgr-white);color:var(--sgr-green-dark);border:1px solid var(--sgr-green)}.btn-secondary:hover{background:var(--sgr-green-light)}.btn-danger{background:var(--sgr-danger)}.btn:disabled{opacity:.6;cursor:not-allowed}.alert{border-radius:var(--sgr-radius);margin-bottom:16px;padding:12px 14px;font-size:.9rem}.alert-error{color:var(--sgr-danger);background:#fdecea;border:1px solid #f3c6c2}.alert-success{background:var(--sgr-green-light);color:var(--sgr-green-dark);border:1px solid var(--sgr-border)}.alert-warning{color:var(--sgr-warning);background:#fdf3e2;border:1px solid #f0dcb0}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--sgr-border);padding:10px 12px}th{color:var(--sgr-green-dark);background:var(--sgr-green-light);font-weight:700}tr:hover td{background:#f5faf6}.badge{border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-block}.badge-green{background:var(--sgr-green-light);color:var(--sgr-green-dark)}.badge-gray{color:var(--sgr-text-muted);background:#eef1ee}.badge-warning{color:var(--sgr-warning);background:#fdf3e2}.form-narrow{max-width:420px;margin:40px auto}.text-muted{color:var(--sgr-text-muted);font-size:.88rem}.actions-row{gap:8px;display:flex}
