:root{--color-primary-900:#062b22;--color-primary-800:#0b3d30;--color-primary-700:#11523f;--color-primary-600:#17684f;--color-primary-500:#1f7a5c;--color-white:#fff;--color-surface-50:#f8faf8;--color-surface-100:#f2f5f2;--color-surface-200:#e6ece8;--color-text-900:#0d1f1a;--color-text-700:#31453e;--color-text-500:#65756f;--color-text-300:#9aa7a2;--color-danger-700:#b42318;--color-danger-600:#d92d20;--color-danger-100:#fee4e2;--color-danger-50:#fef3f2;--color-warning-600:#b54708;--color-warning-100:#fef0c7;--color-info-600:#1570ef;--color-info-100:#d1e9ff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-panel:0 12px 32px #0d1f1a14;color:var(--color-text-900);background:var(--color-surface-50);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-surface-50);min-width:1160px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--color-primary-900);height:100vh;color:var(--color-white);padding:24px 18px;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;flex-direction:column;gap:4px;padding:0 10px 24px;display:flex}.brand__title{letter-spacing:-.02em;font-size:20px;font-weight:800}.brand__subtitle{color:#ffffff9e;font-size:13px}.nav{flex-direction:column;gap:4px;max-height:calc(100vh - 110px);padding-top:22px;display:flex;overflow:auto}.nav__link{border-radius:var(--radius-md);color:#ffffffb8;padding:10px 12px;font-size:13px;font-weight:650}.nav__link:hover,.nav__link--active{background:var(--color-primary-700);color:var(--color-white)}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:5;border-bottom:1px solid var(--color-surface-200);background:#fffffff0;justify-content:space-between;align-items:center;min-height:72px;padding:0 32px;display:flex;position:sticky;top:0}.topbar__title{flex-direction:column;gap:3px;display:flex}.topbar__title strong{font-size:17px}.topbar__title span,.muted{color:var(--color-text-500);font-size:13px}.content{width:100%;padding:28px 32px 44px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.page-header h1{letter-spacing:-.035em;margin:0 0 6px;font-size:28px}.page-header p{color:var(--color-text-500);margin:0}.panel{border:1px solid var(--color-surface-200);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-panel)}.panel__body{padding:20px}.toolbar{border-bottom:1px solid var(--color-surface-200);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.toolbar__filters{flex-wrap:wrap;gap:10px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field label{color:var(--color-text-700);font-size:13px;font-weight:700}.input,.select,.textarea{border:1px solid var(--color-surface-200);border-radius:var(--radius-sm);background:var(--color-white);min-width:190px;min-height:40px;color:var(--color-text-900);outline:none;padding:0 12px}.textarea{resize:vertical;min-height:96px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary-600);box-shadow:0 0 0 3px #17684f24}.button{border-radius:var(--radius-sm);border:1px solid #0000;min-height:40px;padding:0 14px;font-weight:750}.button--primary{background:var(--color-primary-700);color:var(--color-white)}.button--primary:hover{background:var(--color-primary-800)}.button--secondary{border-color:var(--color-surface-200);background:var(--color-white);color:var(--color-text-700)}.button--danger{background:var(--color-danger-600);color:var(--color-white)}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;min-width:920px}.table th,.table td{border-bottom:1px solid var(--color-surface-200);text-align:left;vertical-align:top;padding:13px 16px}.table th{color:var(--color-text-500);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.table td{color:var(--color-text-700);font-size:14px}.table tr:last-child td{border-bottom:0}.badge{background:var(--color-surface-100);min-height:24px;color:var(--color-text-700);border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.badge--danger{background:var(--color-danger-50);color:var(--color-danger-700)}.badge--warning{background:var(--color-warning-100);color:var(--color-warning-600)}.badge--info{background:var(--color-info-100);color:var(--color-info-600)}.badge--primary{color:var(--color-primary-800);background:#17684f1f}.pagination{border-top:1px solid var(--color-surface-200);justify-content:flex-end;align-items:center;gap:10px;padding:14px 16px;display:flex}.empty-state,.error-state{color:var(--color-text-500);text-align:center;padding:36px 18px}.error-state{color:var(--color-danger-700)}.auth-page{background:var(--color-primary-900);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border-radius:var(--radius-lg);background:var(--color-white);width:420px;padding:30px;box-shadow:0 24px 80px #0000002e}.auth-card h1{letter-spacing:-.035em;margin:0 0 8px;font-size:26px}.auth-card p{color:var(--color-text-500);margin:0 0 24px}.form-stack{gap:16px;display:grid}.details-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.details-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-card-list{gap:14px;display:grid}.form-card{border:1px solid var(--color-surface-200);border-radius:var(--radius-lg);background:var(--color-white);padding:16px}.form-card__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.checkbox-row{color:var(--color-text-700);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.json-preview{border:1px solid var(--color-surface-200);border-radius:var(--radius-sm);background:var(--color-surface-50);max-width:520px;color:var(--color-text-700);margin:0;padding:10px;font-size:12px;overflow:auto}.metric{border:1px solid var(--color-surface-200);border-radius:var(--radius-md);background:var(--color-white);padding:14px}.metric span{color:var(--color-text-500);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.metric strong{margin-top:8px;font-size:20px;display:block}
