:root { --ink:#182329; --muted:#6f7c80; --paper:#f5f3ed; --white:#fff; --coral:#ff6f59; --line:#dcded9; --mint:#c8ece0; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Noto Sans KR",sans-serif; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
.topbar { height:76px; padding:0 max(24px,calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid #e8e8e4; position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); font-weight:800; font-size:17px; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; background:var(--ink); color:#fff; border-radius:8px; font-size:17px; }
.brand-mascot { width:49px; height:49px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 3px 4px #1b293121); }
.header-actions,.toolbar { display:flex; gap:10px; }
.header-actions { align-items:center; }
.user-email { max-width:190px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:11px; }
.button { border:0; border-radius:8px; padding:11px 17px; font-weight:700; font-size:14px; transition:.2s; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:var(--coral); color:#fff; box-shadow:0 5px 14px #ff6f5933; }
.button.ghost { background:transparent; color:var(--muted); }
.button.outline { border:1px solid #cdd1ce; background:#fff; color:var(--ink); }
.button.dark-button { background:var(--ink); color:#fff; }
main { max-width:1180px; margin:auto; padding:0 24px 80px; }
.hero { padding:78px 0 56px; display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; }
.hero[hidden] { display:none; }
.compact-hero { padding-bottom:42px; }
.eyebrow,.step { color:var(--coral); letter-spacing:.16em; font-weight:800; font-size:12px; margin:0 0 14px; }
h1 { font-size:52px; line-height:1.2; letter-spacing:-.055em; margin:0 0 24px; }
h1 span { color:var(--coral); }
.hero-copy { color:var(--muted); line-height:1.8; margin:0; font-size:16px; }
.definition-card { display:flex; gap:18px; background:#fff; border:1px solid #e1e2dd; border-radius:14px; padding:24px; box-shadow:0 10px 35px #1d2c310d; }
.definition-icon { flex:0 0 auto; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--mint); font-weight:800; }
.definition-card strong { font-size:15px; }
.definition-card p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.definition-card b { color:var(--ink); }
.dashboard { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:70px; }
.filter-panel { background:#fff; border:1px solid #e1e2dd; border-radius:14px; padding:24px 26px; margin-bottom:16px; }
.management-tabs { display:flex; gap:8px; margin:0 0 16px; padding:7px; border:1px solid #e1e2dd; border-radius:12px; background:#fff; }
.management-tab { flex:1; padding:13px 18px; border:0; border-radius:8px; background:transparent; color:var(--muted); font-weight:800; transition:.2s; }
.management-tab.active { background:var(--ink); color:#fff; box-shadow:0 5px 14px #18232924; }
.tab-panel[hidden] { display:none; }
.admin-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:24px; }
.admin-stats article { padding:22px; border-radius:12px; background:#f7f7f4; }
.admin-stats span,.admin-stats small { display:block; color:var(--muted); font-size:11px; }
.admin-stats strong { display:block; margin:5px 0; font-size:25px; }
.admin-actions { display:grid; gap:14px; margin-top:18px; }
.admin-users { margin-top:18px; padding:22px; border:1px solid var(--line); border-radius:12px; }
.admin-users-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:12px; }
.admin-users-heading h3 { margin:0 0 5px; font-size:15px; }
.admin-users-heading p { margin:0; color:var(--muted); font-size:11px; }
.admin-user-row { display:grid; grid-template-columns:minmax(180px,1.6fr) 100px 100px 1.2fr; gap:10px; align-items:center; padding:12px 4px; border-top:1px solid #ecece8; font-size:11px; }
.admin-user-row > div:last-child { display:flex; justify-content:flex-end; gap:7px; }
.admin-user-row .button { padding:7px 10px; font-size:10px; }
.user-status { font-weight:700; color:#bd4c3b; }.user-status.approved { color:#548977; }
.admin-actions article { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px; border:1px solid var(--line); border-radius:12px; }
.admin-actions h3 { margin:0 0 6px; font-size:15px; }
.admin-actions p { margin:0; color:var(--muted); font-size:11px; }
.admin-actions article > div:last-child { display:flex; gap:9px; flex-wrap:wrap; justify-content:flex-end; }
.admin-actions .danger-zone { border-color:#f0b8b0; background:#fff8f7; }
.button.danger-outline { border:1px solid #d85b49; background:#fff; color:#c84c3b; }
.button.danger { background:#c84634; color:#fff; }
.filter-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.filter-title .step { margin-bottom:5px; }
.filter-title h2 { font-size:19px; margin:0; }
.text-button { border:0; background:none; color:var(--coral); font-weight:700; font-size:12px; }
.filters { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.filters label,.record-form label { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:11px; font-weight:700; }
.filters input,.filters select,.record-form input { width:100%; min-width:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); padding:10px 11px; outline:none; }
.filters input:focus,.filters select:focus,.record-form input:focus { border-color:var(--coral); box-shadow:0 0 0 3px #ff6f5917; }
.metric-card { min-height:178px; padding:26px 28px; border-radius:14px; position:relative; overflow:hidden; }
.metric-card.dark { background:var(--ink); color:#fff; }
.metric-card.coral { background:var(--coral); color:#fff; }
.metric-card.light { background:#fff; border:1px solid #e0e1dd; }
.metric-card.mint { background:var(--mint); color:var(--ink); }
.metric-label { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:600; opacity:.85; margin-bottom:17px; }
.metric-icon { font-size:13px; }
.metric-card strong { font-size:50px; letter-spacing:-.05em; line-height:1; }
.metric-card .unit { margin-left:6px; font-weight:700; }
.metric-card p { margin:16px 0 0; opacity:.68; font-size:12px; }
.workspace,.people-section { background:#fff; border:1px solid #e1e2dd; border-radius:16px; padding:34px; margin-bottom:22px; }
.entry-workspace { margin-top:-42px; position:relative; }
.record-form { display:grid; grid-template-columns:1.05fr 1fr 1fr 1fr 1.05fr; gap:15px; padding-top:25px; align-items:end; }
.batch-form { grid-template-columns:repeat(4,1fr); }
.attendee-entry { grid-column:1 / -1; margin-top:7px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fbfbf9; }
.attendee-entry-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 16px; background:#f0f1ed; }
.attendee-entry-head strong { font-size:13px; }
.attendee-entry-head span { color:var(--muted); font-size:10px; }
.attendee-rows { display:grid; grid-template-columns:repeat(2,1fr); gap:0 20px; padding:9px 16px 14px; }
.attendee-row { display:grid; grid-template-columns:25px 1fr 1fr 28px; align-items:start; gap:8px; padding:9px 0; border-bottom:1px solid #e8e9e5; }
.attendee-row:nth-last-child(-n+2) { border-bottom:0; }
.attendee-number { display:grid; place-items:center; width:23px; height:23px; margin-top:21px; background:var(--ink); color:#fff; border-radius:50%; font-size:10px; font-weight:700; }
.attendee-row label { display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:10px; font-weight:700; }
.attendee-row input { width:100%; min-width:0; border:1px solid var(--line); border-radius:6px; padding:8px 9px; background:#fff; }
.birth-hint { min-height:12px; font-size:9px; color:#548977; }
.birth-hint.ambiguous { color:#c65343; }
.clear-attendee { margin-top:21px; width:26px; height:26px; border:0; border-radius:5px; background:#eee; color:#858d8b; font-size:17px; }
.clear-attendee:hover { background:#ffe4df; color:#c65343; }
.batch-form .add-record { grid-column:1 / -1; justify-self:end; min-width:210px; }
.record-tools { display:flex; align-items:end; gap:14px; }
.record-search { display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:10px; font-weight:700; }
.record-search input { width:230px; border:1px solid var(--line); border-radius:7px; padding:9px 11px; outline:none; }
.record-search input:focus { border-color:var(--coral); box-shadow:0 0 0 3px #ff6f5917; }
.record-form b { color:var(--coral); }
.record-form small { min-height:14px; margin-top:-3px; font-size:10px; font-weight:600; }
.record-form small.auto-filled { color:#548977; }
.record-form small.ambiguous { color:#c65343; }
.record-form .note-field { grid-column:span 4; }
.add-record { min-height:41px; }
.import-help { margin:16px 0 0; color:#8a9391; font-size:11px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; padding-bottom:25px; border-bottom:1px solid #e8e8e5; }
.section-heading.compact { align-items:center; }
.section-heading h2 { margin:0 0 7px; font-size:24px; letter-spacing:-.035em; }
.section-heading p:not(.step) { color:var(--muted); margin:0; font-size:13px; }
.empty-state { text-align:center; padding:68px 20px 48px; }
.empty-state > span { display:grid; place-items:center; width:50px; height:50px; margin:0 auto 18px; border:1px dashed #b7bfbc; border-radius:50%; color:var(--coral); font-size:25px; }
.empty-state h3 { margin:0 0 8px; font-size:17px; }
.empty-state p { color:var(--muted); margin:0 0 23px; font-size:13px; }
.day-list { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; padding-top:24px; }
.day-card { border:1px solid var(--line); border-radius:12px; padding:20px; background:#fbfbf9; }
.day-card-header { display:flex; align-items:end; gap:14px; margin-bottom:20px; }
.date-field { flex:1; }
.date-field label,.attendees-label { display:block; font-size:12px; color:var(--muted); font-weight:700; margin-bottom:7px; }
.date-field input { width:100%; border:1px solid var(--line); border-radius:7px; background:#fff; padding:9px 11px; color:var(--ink); }
.day-total { text-align:right; min-width:72px; }
.day-total span { display:block; font-size:11px; color:var(--muted); }
.day-total strong { font-size:20px; }
.icon-button { width:34px; height:34px; border:0; border-radius:7px; background:#eee; font-size:22px; color:#7c8585; }
.icon-button:hover { background:#ffe4df; color:#d34835; }
.attendees-label span { float:right; font-weight:400; }
textarea { width:100%; resize:vertical; border:1px solid var(--line); border-radius:8px; padding:12px; line-height:1.7; outline:none; background:#fff; }
textarea:focus,.date-field input:focus { border-color:var(--coral); box-shadow:0 0 0 3px #ff6f5917; }
.duplicate-note { min-height:18px; margin:8px 0 0; color:#d65340; font-size:11px; }
.saved-state { color:#548977; font-size:12px; font-weight:700; background:#eaf7f2; border-radius:20px; padding:6px 10px; }
.table-wrap { overflow:auto; margin-top:10px; }
.record-table-wrap { max-height:640px; }
.record-table { min-width:940px; }
.record-table th:nth-child(2),.record-table td:nth-child(2) { width:auto; text-align:left; }
.record-table th:last-child,.record-table td:last-child { width:55px; text-align:right; }
.row-delete { border:0; background:none; color:#c65343; font-size:11px; font-weight:700; }
.pagination { display:flex; align-items:center; justify-content:center; gap:18px; padding-top:18px; color:var(--muted); font-size:12px; }
.pagination button { border:1px solid var(--line); background:#fff; padding:7px 11px; border-radius:6px; color:var(--ink); }
.pagination button:disabled { opacity:.35; cursor:default; }
.summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding-top:22px; }
.summary-grid > div:last-child { grid-column:1 / -1; }
.summary-grid h3 { font-size:14px; margin:0 0 10px; }
.summary-grid h3 small { color:var(--muted); font-weight:500; margin-left:5px; }
.summary-row { display:flex; justify-content:space-between; gap:14px; padding:11px 2px; border-bottom:1px solid #ecece8; color:var(--muted); font-size:12px; }
.summary-row span:first-child { color:var(--ink); }
.summary-row b { color:var(--coral); }
.operation-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); align-items:center; gap:12px; padding:12px 10px; border-bottom:1px solid #ecece8; text-align:center; font-size:12px; }
.operation-grid > :first-child { text-align:left; }
.operation-head { background:#f7f7f4; border-radius:7px 7px 0 0; color:var(--muted); font-weight:700; font-size:11px; }
.operation-row b { color:var(--ink); }
.operation-row strong { color:var(--coral); font-size:15px; margin-right:3px; }
.operation-row span:last-child strong { color:var(--ink); }
.monthly-business-grid { display:grid; grid-template-columns:1.1fr repeat(3,1fr); align-items:center; gap:8px; padding:11px 8px; border-bottom:1px solid #ecece8; text-align:center; font-size:12px; }
.monthly-business-grid > :first-child { text-align:left; }
.monthly-business-head { background:#f7f7f4; border-radius:7px 7px 0 0; color:var(--muted); font-size:10px; font-weight:700; }
.monthly-business-head small { color:#929a98; font-size:9px; font-weight:500; }
.monthly-business-row b { color:var(--ink); }
.monthly-business-row span { color:var(--muted); }
.monthly-business-row .monthly-total { color:var(--ink); font-weight:700; }
.monthly-business-final { margin-top:5px; border:0; border-radius:7px; background:var(--ink); color:#fff; font-weight:700; }
.monthly-business-final b { color:#fff; }
.satisfaction-form { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-top:24px; align-items:end; }
.satisfaction-form > label { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:11px; font-weight:700; }
.satisfaction-form b { color:var(--coral); }
.satisfaction-form input { min-width:0; width:100%; border:1px solid var(--line); border-radius:7px; padding:10px 11px; outline:none; }
.satisfaction-form input:focus { border-color:var(--coral); box-shadow:0 0 0 3px #ff6f5917; }
.question-score-entry { grid-column:1 / -1; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.question-score-head,.question-score-row { display:grid; grid-template-columns:minmax(330px,3fr) repeat(5,minmax(72px,.65fr)) minmax(64px,.55fr); gap:8px; align-items:center; padding:10px 12px; }
.question-score-head { background:#f0f1ed; color:var(--muted); text-align:center; font-size:10px; font-weight:700; }
.question-score-head span:first-child { text-align:left; }
.question-score-head small { color:#929a98; font-size:9px; font-weight:500; }
.question-score-row { border-top:1px solid #ecece8; font-size:11px; }
.question-score-row .question-text { color:var(--ink); line-height:1.5; }
.question-score-row .question-text small { display:block; color:var(--coral); font-size:9px; font-weight:700; }
.score-choice { display:flex; justify-content:center; }
.score-choice input { position:absolute; opacity:0; pointer-events:none; }
.score-choice span { width:29px; height:29px; display:grid; place-items:center; border:1px solid #d2d6d3; border-radius:50%; background:#fff; color:var(--muted); font-size:10px; font-weight:700; cursor:pointer; transition:.18s; }
.score-choice input:checked + span { border-color:var(--coral); background:var(--coral); color:#fff; box-shadow:0 3px 9px #ff6f5933; }
.question-score-row .score-number { width:100%; padding:7px 5px; text-align:center; border:1px solid var(--line); border-radius:6px; }
.survey-comment { grid-column:1 / -1; }
.survey-comment textarea { width:100%; border:1px solid var(--line); border-radius:7px; padding:10px 11px; resize:vertical; }
.satisfaction-form > .button { grid-column:4; }
.survey-status { min-height:18px; margin:12px 0 0; color:#c65343; font-size:11px; }
.satisfaction-dashboard { margin:20px 0 26px; }
.satisfaction-dashboard .metric-card { min-height:150px; }
.budget-dashboard { margin:20px 0 26px; }
.budget-dashboard .metric-card { min-height:150px; }
.budget-form { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#f7f7f4; }
.budget-form label { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.budget-form label b { color:var(--coral); }
.budget-form input,.budget-form select { width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); }
.budget-form .button { grid-column:4; }
.budget-status { min-height:18px; margin:10px 0; color:#c65343; font-size:11px; }
.budget-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.budget-summary-grid > article { padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.budget-summary-grid h3 { margin:0 0 10px; font-size:14px; }
.budget-summary-row { display:flex; justify-content:space-between; gap:16px; padding:11px 3px; border-bottom:1px solid #ecece8; font-size:12px; }
.budget-summary-row:last-child { border-bottom:0; }
.budget-summary-row span { color:var(--muted); text-align:right; }
.budget-record-details { margin-top:8px; }
.budget-table { min-width:1550px; }
.budget-table td small { display:block; margin-top:3px; color:var(--muted); font-size:9px; }
.budget-table .money { text-align:right; font-weight:800; white-space:nowrap; }
.budget-table .income { color:#34705b; }
.budget-type { display:inline-block; min-width:42px; padding:4px 7px; border-radius:999px; text-align:center; font-size:10px; font-weight:800; }
.budget-type.budget { background:#e9f4ef; color:#34705b; }
.budget-type.expense { background:#fff0ed; color:#c65343; }
.schedule-navigation { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.schedule-navigation strong { min-width:110px; text-align:center; font-size:18px; }
.schedule-calendar-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 0 12px; }
.schedule-calendar-heading>strong { font-size:26px; letter-spacing:-1px; }
.google-calendar-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0; padding:15px 18px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.google-calendar-bar>div { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.google-calendar-bar small { width:100%; margin-left:19px; color:var(--muted); font-size:10px; }
.google-status-dot { width:10px; height:10px; border-radius:50%; background:#b8b8b2; }
.google-status-dot.connected { background:#36a66a; box-shadow:0 0 0 4px #36a66a1f; }
.schedule-form { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0; padding:20px; border:1px solid var(--line); border-radius:12px; background:#f7f7f4; }
.schedule-form label { display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.schedule-form label b { color:var(--coral); }
.schedule-form input,.schedule-form select,.schedule-form textarea { width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font:inherit; }
.schedule-title-field { grid-column:span 2; }
.schedule-note-field { grid-column:span 3; }
.schedule-form-actions { display:flex; align-items:end; gap:8px; }
.schedule-weekdays,.schedule-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.schedule-weekdays { border:1px solid var(--line); border-bottom:0; border-radius:12px 12px 0 0; overflow:hidden; background:#f1f2ee; }
.schedule-weekdays span { padding:10px; text-align:center; color:var(--muted); font-size:11px; font-weight:800; }
.schedule-weekdays span:first-child { color:#cf594c; }
.schedule-weekdays span:last-child { color:#3d6d9b; }
.schedule-calendar { border-left:1px solid var(--line); border-top:1px solid var(--line); }
.schedule-day { min-height:125px; padding:8px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; overflow:hidden; }
.schedule-day.outside { background:#f8f8f6; color:#aaa; }
.schedule-day.today { box-shadow:inset 0 0 0 2px var(--mint); }
.schedule-day.holiday { background:#fff8f7; }
.schedule-day.holiday .schedule-day-number { color:#cf594c; }
.schedule-day-number { display:block; margin-bottom:6px; font-size:11px; font-weight:800; }
.schedule-holiday { display:block; margin:-2px 0 6px; color:#cf594c; font-size:9px; font-weight:800; line-height:1.25; word-break:keep-all; }
.schedule-event { display:block; width:100%; margin:4px 0; padding:5px 6px; border:0; border-radius:6px; background:#edf7f2; color:#285b4a; text-align:left; font-size:9px; line-height:1.35; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.schedule-event.meeting { background:#fff1ed; color:#a84d40; }
.schedule-event.education { background:#eef3fb; color:#3b6090; }
.schedule-event.institution { background:#f3effb; color:#684c91; }
.schedule-record-details { margin-top:20px; }
.schedule-list { display:grid; gap:8px; }
.schedule-list-item { display:grid; grid-template-columns:90px 110px 1fr auto; gap:12px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:9px; background:#fff; font-size:11px; }
.schedule-list-item small { display:block; margin-top:4px; color:var(--muted); }
.schedule-list-actions { display:flex; gap:6px; }
.survey-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:20px 0 28px; }
.survey-metrics article { padding:18px; background:#f7f7f4; border-radius:10px; text-align:center; }
.survey-metrics span { display:block; color:var(--muted); font-size:11px; }
.survey-metrics strong { display:block; margin-top:5px; font-size:22px; }
.survey-heading { margin:24px 0 9px; font-size:14px; }
.survey-heading small { color:var(--muted); font-size:10px; font-weight:500; }
.survey-heading-row { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-top:24px; }
.survey-heading-row .survey-heading { margin:0 0 9px; }
.survey-heading-row label { display:flex; align-items:center; gap:8px; margin-bottom:7px; color:var(--muted); font-size:10px; font-weight:700; }
.survey-heading-row select { border:1px solid var(--line); border-radius:7px; padding:7px 28px 7px 9px; background:#fff; color:var(--ink); }
.score-distribution { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.score-distribution article { display:grid; grid-template-columns:1fr auto; gap:5px 10px; padding:15px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.score-distribution article div:first-child { display:flex; flex-direction:column; }
.score-distribution b { font-size:14px; }
.score-distribution span { color:var(--muted); font-size:10px; }
.score-distribution strong { align-self:center; font-size:17px; }
.score-distribution em { color:var(--coral); font-size:13px; font-style:normal; font-weight:700; }
.score-distribution .score-bar { grid-column:1 / -1; height:6px; overflow:hidden; border-radius:999px; background:#ecece8; }
.score-distribution .score-bar i { display:block; height:100%; border-radius:inherit; background:var(--coral); }
.monthly-score-grid { display:grid; grid-template-columns:110px repeat(5,1fr); gap:8px; min-width:720px; padding:11px 10px; border-bottom:1px solid #ecece8; text-align:center; font-size:12px; }
.monthly-score-grid > :first-child { text-align:left; }
.monthly-score-grid.head { background:#f7f7f4; color:var(--muted); font-size:10px; font-weight:700; border-radius:7px 7px 0 0; }
.monthly-score-grid span strong,.monthly-score-grid span small { display:block; }
.monthly-score-grid span small { margin-top:2px; color:var(--coral); font-size:10px; }
.monthly-score-total { margin-top:5px; border:0; border-radius:7px; background:var(--ink); color:#fff; font-weight:700; }
.monthly-score-total span small { color:#ffb6aa; }
.score-detail-grid { display:grid; grid-template-columns:minmax(230px,2.4fr) repeat(5,1fr) .8fr; gap:7px; min-width:860px; padding:11px 10px; border-bottom:1px solid #ecece8; align-items:center; text-align:center; font-size:11px; }
.score-detail-grid > :first-child { text-align:left; }
.score-detail-grid.head { background:#f7f7f4; color:var(--muted); font-size:10px; font-weight:700; border-radius:7px 7px 0 0; }
.score-detail-grid.category-row { background:#fff7f5; font-weight:700; }
.score-detail-grid.question-row { color:var(--muted); }
.score-detail-grid.question-row b small { display:block; margin-bottom:3px; color:var(--coral); font-size:9px; font-weight:700; }
.score-detail-grid span small { display:block; color:var(--coral); font-size:9px; }
.survey-record-details { margin-top:26px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.survey-record-details summary { padding:15px 17px; cursor:pointer; font-size:14px; font-weight:800; }
.survey-record-details[open] summary { border-bottom:1px solid var(--line); }
.survey-record-details .survey-records { padding:5px 16px 14px; }
.survey-grid { display:grid; grid-template-columns:1fr repeat(4,1fr); gap:8px; padding:11px 10px; border-bottom:1px solid #ecece8; text-align:center; font-size:12px; }
.survey-grid > :first-child { text-align:left; }
.survey-grid.head { background:#f7f7f4; color:var(--muted); font-size:10px; font-weight:700; border-radius:7px 7px 0 0; }
.question-result { grid-template-columns:3fr repeat(4,1fr); color:var(--muted); }
.question-result b { font-weight:500; line-height:1.5; }
.survey-record { display:grid; grid-template-columns:1fr 1fr 1.2fr 1.4fr 1fr 45px; gap:10px; align-items:center; padding:11px 5px; border-bottom:1px solid #ecece8; color:var(--muted); font-size:11px; }
.survey-record b { color:var(--ink); }
.no-data { color:#929a98; font-size:12px; }
table { border-collapse:collapse; width:100%; font-size:13px; }
th,td { padding:14px 12px; text-align:left; border-bottom:1px solid #ecece8; }
th { color:var(--muted); font-size:11px; letter-spacing:.04em; }
th:nth-child(2),td:nth-child(2) { width:120px; text-align:center; }
.placeholder-row td { text-align:center; color:#929a98; padding:42px; }
footer { max-width:1180px; margin:auto; padding:32px 24px 40px; border-top:1px solid #dfe0dc; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; text-align:center; font-size:12px; color:var(--muted); }
footer p{margin:0}
.foundation-logo { display:block; width:min(440px,65%); height:auto; object-fit:contain; }
.record-details { border:1px solid var(--line); border-radius:12px; background:#fff; overflow:hidden; }
.record-details summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; cursor:pointer; list-style:none; background:#f7f7f4; }
.record-details summary::-webkit-details-marker { display:none; }
.record-details summary > span:first-child { display:flex; align-items:center; gap:12px; }
.record-details summary small { color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.1em; }
.record-details summary strong { font-size:15px; }
.record-details-hint { color:var(--muted); font-size:11px; font-weight:700; }
.record-details-hint::after { content:'＋'; margin-left:9px; color:var(--coral); font-size:15px; }
.record-details[open] .record-details-hint::after { content:'－'; }
.record-details[open] summary { border-bottom:1px solid var(--line); }
.record-details-body { padding:22px 20px 8px; }
.toast { position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px); padding:11px 18px; border-radius:8px; background:var(--ink); color:#fff; font-size:13px; opacity:0; pointer-events:none; transition:.25s; z-index:20; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.login-screen { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:#f5f3edf2; backdrop-filter:blur(8px); }
.login-screen[hidden] { display:none; }
.login-card { width:min(390px,100%); padding:34px; border:1px solid #e1e2dd; border-radius:18px; background:#fff; box-shadow:0 24px 70px #18232926; }
.login-card > img { display:block; width:82px; height:82px; object-fit:contain; margin:0 auto 14px; }
.login-card .eyebrow { text-align:center; margin-bottom:6px; }
.login-card h2 { text-align:center; margin:0 0 8px; }
.login-card > p:not(.eyebrow):not(.login-error),.login-card form > p:not(.login-error) { text-align:center; color:var(--muted); font-size:12px; margin:0 0 18px; }
.login-card label { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; color:var(--muted); font-size:11px; font-weight:700; }
.login-card input { width:100%; border:1px solid var(--line); border-radius:8px; padding:11px; outline:none; }
.login-card input:focus { border-color:var(--coral); box-shadow:0 0 0 3px #ff6f5917; }
.login-card .button { width:100%; margin-top:4px; }
.login-error { min-height:18px; margin:0; color:#c65343; font-size:11px; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:18px 0; padding:4px; border-radius:9px; background:#f0f1ed; }
.auth-tabs button { padding:9px; border:0; border-radius:6px; background:transparent; color:var(--muted); font-weight:700; }
.auth-tabs button.active { background:#fff; color:var(--ink); box-shadow:0 2px 7px #18232914; }
.pending-card .button { width:100%; margin-top:9px; }.pending-card b { color:var(--ink); }
@media(max-width:1000px){.dashboard{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,1fr)}.record-form{grid-template-columns:repeat(2,1fr)}.record-form .note-field{grid-column:span 1}.attendee-rows{grid-template-columns:1fr}.attendee-row:nth-last-child(-n+2){border-bottom:1px solid #e8e9e5}.attendee-row:last-child{border-bottom:0}.summary-grid{grid-template-columns:1fr}.summary-grid > div:last-child{grid-column:auto}.entry-workspace{margin-top:0}}
@media(max-width:900px){.satisfaction-form{grid-template-columns:repeat(2,1fr)}.satisfaction-form > .button{grid-column:2}.question-score-entry{overflow:auto}.question-score-head,.question-score-row{min-width:700px}.score-distribution{grid-template-columns:repeat(3,1fr)}.survey-record{grid-template-columns:1fr 1fr 1fr}.survey-record > :nth-child(4){grid-column:1 / -1}}
@media(max-width:900px){.budget-form{grid-template-columns:repeat(2,1fr)}.budget-form .button{grid-column:2}.budget-summary-grid{grid-template-columns:1fr}}
@media(max-width:900px){.schedule-form{grid-template-columns:repeat(2,1fr)}.schedule-title-field,.schedule-note-field{grid-column:span 2}.schedule-day{min-height:105px}.schedule-list-item{grid-template-columns:80px 1fr auto}.schedule-list-item>div:nth-child(2){display:none}}
@media(max-width:760px){ .topbar{height:66px;padding:0 12px}.brand-mascot{width:40px;height:40px}.header-actions .ghost{display:none}.header-actions .button{padding:9px 11px;font-size:11px}.brand{gap:7px;font-size:11px;line-height:1.35;max-width:68%}main{padding:0 16px 55px}.hero{grid-template-columns:1fr;gap:30px;padding:48px 0 38px}h1{font-size:39px}.desktop-only{display:none}.dashboard{grid-template-columns:1fr;margin-bottom:40px}.metric-card{min-height:150px}.section-heading{align-items:flex-start;flex-direction:column}.toolbar{width:100%;flex-wrap:wrap}.toolbar .button{flex:1;text-align:center}.workspace,.people-section{padding:22px 18px}.filters,.record-form{grid-template-columns:1fr}.record-form .note-field{grid-column:auto}.attendee-entry-head{align-items:flex-start;flex-direction:column}.attendee-rows{padding-left:10px;padding-right:10px}.attendee-row{grid-template-columns:23px 1fr 1fr 25px;gap:5px}.batch-form .add-record{width:100%;min-width:0}.record-tools{width:100%;align-items:center}.record-search{flex:1}.record-search input{width:100%}.filter-panel{padding:20px 18px}.day-list{grid-template-columns:1fr}.day-card-header{flex-wrap:wrap}.date-field{min-width:65%}footer{margin:0 16px;padding-left:0;padding-right:0;gap:14px;align-items:center}.foundation-logo{width:100%;max-width:440px} }
@media(max-width:760px){.management-tab{padding:11px 8px;font-size:12px}}
@media(max-width:760px){.management-tabs{overflow:auto}.management-tab{min-width:105px}.budget-form{grid-template-columns:1fr}.budget-form .button{grid-column:auto}}
@media(max-width:760px){.schedule-form{grid-template-columns:1fr}.schedule-title-field,.schedule-note-field{grid-column:auto}.schedule-calendar-heading{align-items:flex-start;flex-direction:column}.schedule-navigation{justify-content:flex-start}.schedule-weekdays span{padding:7px 2px}.schedule-day{min-height:82px;padding:4px}.schedule-event{font-size:8px;padding:4px}.schedule-list-item{grid-template-columns:1fr}.schedule-list-actions{justify-content:flex-start}}
@media(max-width:760px){.google-calendar-bar{align-items:flex-start;flex-direction:column}.google-calendar-bar>div:last-child{width:100%}.google-calendar-bar .button{flex:1}}
@media(max-width:760px){.record-details summary{align-items:flex-start;padding:16px}.record-details summary > span:first-child{align-items:flex-start;flex-direction:column;gap:4px}.record-details-body{padding:18px 14px 6px}.record-details-hint{white-space:nowrap}}
@media(max-width:760px){.survey-heading-row{align-items:flex-start;flex-direction:column}.survey-heading-row label{width:100%}.survey-heading-row select{flex:1}}
@media(max-width:760px){.admin-stats{grid-template-columns:1fr}.admin-actions article{align-items:flex-start;flex-direction:column}.admin-actions article > div:last-child{width:100%;justify-content:stretch}.admin-actions .button{width:100%}}
@media(max-width:760px){.admin-user-row{grid-template-columns:1fr 1fr}.admin-user-row > div:first-child,.admin-user-row > div:last-child{grid-column:1 / -1}.admin-user-row > div:last-child{justify-content:flex-start}}
@media(max-width:760px){.satisfaction-form{grid-template-columns:1fr}.satisfaction-form > .button{grid-column:auto}.survey-metrics{grid-template-columns:1fr}.score-distribution{grid-template-columns:1fr}.survey-grid{min-width:570px}.survey-table{overflow:auto}.survey-record{grid-template-columns:1fr 1fr}.survey-record > :nth-child(4){grid-column:1 / -1}}
