:root{
	--md-bg: #fafafa;
	--md-surface: #ffffff;
	--md-text: #1f2937;
	--md-muted: #6b7280;
	--md-primary: #3f51b5; /* indigo 500 */
	--md-primary-variant: #303f9f;
	--md-outline: #e5e7eb;
	--radius: 12px;
	--shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
	margin:0;
	font-family: Inter, Roboto, system-ui, -apple-system, Segoe UI, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
	color:var(--md-text);
	background:var(--md-bg);
}
.appbar{position:sticky;top:0;background:var(--md-surface);box-shadow:var(--shadow);z-index:10}
.appbar__inner{max-width:1100px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:16px}
.brand{font-weight:700;letter-spacing:.2px;background:linear-gradient(90deg,#00b2cc,#3f51b5);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;align-items:center;gap:10px;flex:1}
.nav__link{color:var(--md-muted);text-decoration:none;padding:8px 10px;border-radius:8px;transition:background .2s ease,color .2s ease}
.nav__link:hover{background:#eef2ff;color:var(--md-primary)}
.nav__link.is-active{color:var(--md-primary);background:rgba(63,81,181,.08)}
.nav__spacer{flex:1}
.btn{display:inline-block;padding:8px 12px;border-radius:10px;background:var(--md-primary);color:#fff;text-decoration:none;box-shadow:var(--shadow);transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .06s ease}
.btn:hover{background:var(--md-primary-variant);color:#fff}
.btn:active{transform:translateY(1px)}
.btn--tonal{background:#eef2ff;color:var(--md-primary);transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.btn--tonal:hover{background:var(--md-primary);color:#fff}
.page{padding:24px 16px}
.container{max-width:1100px;margin:0 auto;padding:0 12px}
.card{margin-left:auto;margin-right:auto}
.card{background:var(--md-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.grid{display:grid;gap:16px}
@media(min-width:900px){.grid.cols-2{grid-template-columns:1fr 1fr}}
@media(max-width:899px){.grid.cols-2{grid-template-columns:1fr}}
.chip{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef2ff;color:var(--md-primary);font-size:13px}
.alert{background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:10px 12px;margin-bottom:12px}
form label{display:block;margin:8px 0 12px 0}
input,select{width:100%;padding:10px 12px;border:1px solid var(--md-outline);border-radius:10px;background:var(--md-surface);transition:border-color .2s ease,box-shadow .2s ease}
input:focus,select:focus{outline:0;border-color:var(--md-primary);box-shadow:0 0 0 3px rgba(63,81,181,.15)}
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--md-surface);border:1px solid var(--md-outline);border-radius:12px;overflow:hidden}
th,td{padding:10px 12px;border-bottom:1px solid var(--md-outline);text-align:left}
th{background:#f3f4f6;color:#111827}
tr:last-child td{border-bottom:none}
pre{white-space:pre-wrap;background:#f9fafb;border:1px solid var(--md-outline);border-radius:10px;padding:12px}
.tag-selection {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0;
}
.tag-option {
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9em;
    cursor: pointer;
    border: 2px solid var(--md-outline);
    background: var(--md-surface);
    color: var(--md-muted);
    transition: all 0.2s ease;
    user-select: none;
}
.tag-option:hover {
    border-color: var(--md-primary);
    background: #eef2ff;
}
.tag-option.selected {
    border-color: var(--md-primary);
    background: var(--md-primary);
    color: white;
    font-weight: 500;
}
.tag-option input[type="checkbox"] {
    display: none;
}
.tag-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.85em;
    background: #eef2ff;
    color: var(--md-primary);
    margin-right: 4px;
}

/* Ensure tables do not overflow cards on narrow screens */
.card table{table-layout:fixed;max-width:100%;}
.card th,.card td{word-break:break-word;white-space:normal}

/* Inline buttons inside table cells */
.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Optional style for destructive button */
.btn.danger{background:#c62828}
.btn.danger:hover{background:#b71c1c}
