// GrantWrite — active slim portal styles
:root { color-scheme: light; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: #183326; background: #f5f8f5; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #246b46; }
.screen { min-height: 100vh; }
[hidden] { display: none !important; }
.portal-header { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; background: #fff; border-bottom: 1px solid #dfe8e0; }
.brand { display: flex; align-items: center; gap: .7rem; font-weight: 700; text-decoration: none; color: #153d28; }
.brand img { width: 32px; height: 32px; }
.header-actions { display: flex; align-items: center; gap: .6rem; }
.container { width: min(1100px, 90vw); margin: 0 auto; }
.login-wrap { min-height: calc(100vh - 64px); display: grid; place-items: center; padding: 2rem 0; }
.card { background: #fff; border: 1px solid #dbe6dd; border-radius: 14px; box-shadow: 0 8px 28px #173c2410; padding: 1.5rem; }
.login-card { width: min(440px, 100%); }
h1, h2, h3 { margin-top: 0; }
.field { display: grid; gap: .35rem; margin: .8rem 0; }
.field label { font-weight: 600; font-size: .9rem; }
input, textarea, select { width: 100%; border: 1px solid #c8d6cb; border-radius: 8px; padding: .65rem .75rem; font: inherit; background: #fff; }
textarea { min-height: 110px; resize: vertical; }
.btn { border: 0; border-radius: 8px; padding: .65rem 1rem; font: inherit; font-weight: 650; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; }
.btn-primary { background: #2e7d50; color: #fff; }
.btn-secondary { background: #e7f0e9; color: #1e5b39; }
.btn-danger { background: #a43c35; color: #fff; }
.btn[disabled] { opacity: .55; cursor: wait; }
.error, .success, .notice { padding: .7rem .8rem; border-radius: 8px; margin: .7rem 0; }
.error { background: #fff0ee; color: #8b2d25; }
.success { background: #eaf7ee; color: #23633e; }
.notice { background: #eef4fb; color: #244d76; }
.muted { color: #64756a; }
.project-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.project-card { background: #fff; border: 1px solid #dbe6dd; border-radius: 12px; padding: 1rem; display: flex; flex-direction: column; gap: .7rem; }
.project-card h3 { margin: 0; }
.project-meta { display: flex; flex-wrap: wrap; gap: .6rem; color: #63756a; font-size: .9rem; }
.project-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.page { padding: 2.5rem 0 4rem; }
.page-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.columns { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 1.2rem; }
@media (max-width: 760px) { .columns { grid-template-columns: 1fr; } .portal-header { padding: 0 1rem; } }
