:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #173947; background: #f1f6f5; }
* { box-sizing: border-box; }
body { margin: 0; padding: 32px 16px; }
.auth-page:not(.workspace-page) { min-height: 100vh; display: grid; place-items: center; }
main { width: 100%; margin: auto; padding: 28px 36px 24px; background: white; border: 1px solid #dfe9e7; border-radius: 24px; box-shadow: 0 16px 60px #183f4b0a; }
.auth-card { max-width: 460px; }
.workspace-shell { max-width: 1080px; }
.workspace-header { margin-bottom: 24px; }
.auth-card .workspace-header { display: flex; justify-content: center; margin: 0 0 22px; }
.workspace-header nav { display: flex; flex-wrap: wrap; gap: 10px 16px; padding-top: 16px; line-height: 1.5; font-size: 14px; }
h1 { font-size: 26px; margin: 0 0 8px; letter-spacing: -.6px; }
.auth-card h1 { text-align: center; }
p { line-height: 1.55; }
.entry-intro { text-align: center; color: #63777e; font-size: 14px; margin: 0 0 24px; }
.entry-tabs { display: flex; gap: 4px; padding: 4px; background: #edf3f2; border-radius: 12px; margin-bottom: 24px; }
.entry-tabs a { width: 50%; text-align: center; border-radius: 9px; padding: 10px; color: #566e75; font-size: 14px; font-weight: 600; text-decoration: none; }
.entry-tabs a.active { background: white; color: #126e59; box-shadow: 0 2px 5px #163c4610; }
label { display: block; margin: 16px 0 7px; font-size: 13px; font-weight: 600; }
input, select, button { font: inherit; }
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]) { width: 100%; min-width: 0; padding: 12px 13px; border: 1px solid #cbd9d7; border-radius: 10px; background: white; color: #173947; }
input[type=checkbox], input[type=radio] { accent-color: #14735e; }
input[type=submit], button[type=submit] { width: 100%; margin-top: 20px; background: #14735e; color: white; border: 0; cursor: pointer; font-weight: 600; padding: 13px; border-radius: 10px; }
.secondary input[type=submit] { background: #e8efec; color: #173947; }
.entry-note { color: #63777e; font-size: 12px; text-align: center; margin: 20px 0 0; }
.error { color: #aa332e; background: #fff0ed; padding: 12px; border-radius: 10px; }
.field-error { color: #aa332e; font-size: 13px; margin: 7px 0; }
a { color: #126e59; text-underline-offset: 3px; }
select, button { padding: 12px; border: 1px solid #cbd9d7; border-radius: 10px; }
select { width: 100%; }
button, summary { cursor: pointer; }
button { background: #e8efec; color: #173947; margin-bottom: 16px; }
.user-card { border-top: 1px solid #dfe9e7; margin-top: 24px; padding-top: 12px; }
.user-card h2 { overflow-wrap: anywhere; }
input:focus-visible, a:focus-visible, select:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #72bda8; outline-offset: 3px; }
@media (max-width: 480px) { body { padding: 16px 12px; } main { padding: 22px; border-radius: 18px; } }
