:root{--app-bg: #f3f7fc;--app-card: #ffffff;--app-text: #17324d;--app-muted: #60748a;--app-border: #d9e3ee;--app-primary: #2f72d6;--app-primary-dark: #2058aa;--app-success: #1d8a54;--app-danger: #cf3d4d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--app-bg);color:var(--app-text)}body{min-height:100vh}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--app-border);background:#fff;color:var(--app-text)}textarea{resize:vertical}button,a.primary-btn,a.secondary-btn,a.ghost-btn,a.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:14px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:.15s ease}.primary-btn{background:var(--app-primary);color:#fff}.primary-btn:hover{background:var(--app-primary-dark)}.secondary-btn{background:#eef4fb;color:var(--app-text)}.ghost-btn{background:transparent;border-color:var(--app-border);color:var(--app-text)}.danger-btn{background:#fff2f4;color:var(--app-danger)}.primary-btn:disabled,.secondary-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled{opacity:.65;cursor:not-allowed}.page-shell{padding:32px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-header h1{margin:0 0 6px;font-size:1.9rem}.muted{color:var(--app-muted)}.app-card{padding:22px;border-radius:24px;background:var(--app-card);box-shadow:0 14px 44px #17324d14}.stack{display:flex;flex-direction:column;gap:16px}.field-label{display:block;margin-bottom:8px;font-weight:600}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:44px}.checkbox-row input{width:18px;height:18px}.alert{padding:12px 14px;border-radius:14px;font-weight:500}.alert.success{background:#ebf8f1;color:var(--app-success)}.alert.error{background:#fff1f3;color:var(--app-danger)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 10px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}th{color:var(--app-muted);font-size:.88rem;font-weight:700}@media (max-width: 960px){.page-shell{padding:20px}.page-header{flex-direction:column;align-items:stretch}}
