:root{--bg:#f5f7f8;--surface:#ffffff;--surface-muted:#f3f6f7;--ink:#17202a;--muted:#65717d;--subtle:#8a97a3;--line:#d8e0e5;--line-strong:#b8c6ce;--teal:#0f766e;--teal-strong:#0a5f59;--teal-soft:#e3f3f0;--indigo:#3f4aa8;--indigo-soft:#e8eafb;--green:#027a48;--green-soft:#e7f6ee;--red:#b42318;--red-soft:#ffebe9;--orange:#c2670f;--orange-soft:#fdf2e3;--shadow:0 16px 42px rgba(23,32,42,0.08);--radius:8px}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,rgba(15,118,110,.12),rgba(15,118,110,0) 320px),var(--bg);color:var(--ink);font-family:Avenir Next,Hiragino Sans,Yu Gothic,system-ui,Noto Sans JP,sans-serif;font-size:14px;line-height:1.5}.voter-shell{width:min(100% - 32px,920px);margin:0 auto;padding:28px 0 64px;display:grid;grid-gap:20px;gap:20px}.voter-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-mini{display:grid;grid-gap:2px;gap:2px}.brand-mini strong{font-size:16px}.brand-mini span{color:var(--muted);font-size:12px}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.award-banner{height:300px;background:#050505}.award-banner img{width:100%;height:100%;object-fit:cover;display:block}.form-header{display:grid;grid-gap:10px;gap:10px;padding:28px 32px 8px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}.form-header h1{margin:0;font-size:24px}.form-description{margin:0;color:var(--muted);white-space:pre-line}.form-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:700}.badge.green{background:var(--green-soft);color:var(--green)}.badge.indigo{background:var(--indigo-soft);color:var(--indigo)}.badge.red{background:var(--red-soft);color:var(--red)}.simple-form{display:grid;grid-gap:20px;gap:20px;padding:16px 32px 32px}.nomination-card,.nomination-list{display:grid;grid-gap:16px;gap:16px}.nomination-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd}.nomination-card-header{display:flex;align-items:center;justify-content:space-between}.nomination-card-header h2{margin:0;font-size:17px}.field{display:grid;grid-gap:6px;gap:6px}.label{font-weight:700}.required{color:var(--red)}.search-box{position:relative}.input,.textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;color:var(--ink);background:#fff}.input:focus,.textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.textarea{min-height:124px;resize:vertical;line-height:1.6}.suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 38px rgba(23,32,42,.16);overflow:hidden}.suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;font:inherit}.suggestion:last-child{border-bottom:none}.suggestion:focus,.suggestion:hover{background:var(--teal-soft);outline:none}.suggestion strong{display:block}.suggestion span{color:var(--muted);font-size:12px}.suggestion small{color:var(--subtle);font-size:12px;white-space:nowrap}.muted{color:var(--muted);font-size:12px}.selected-chip{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted)}.selected-chip .selected-name{font-size:15px}.selected-chip .selected-meta{color:var(--muted);font-size:12px;flex:1 1}.value-card{display:grid;grid-gap:12px;gap:12px;padding:22px 24px 24px;border:1px solid #d6d9dd;border-radius:var(--radius);background:#fff}.value-card h3{margin:0;font-size:18px}.value-card p{margin:0;color:var(--muted)}.checkbox-list{display:grid;grid-gap:12px;gap:12px}.checkbox-option{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;cursor:pointer}.checkbox-option:focus-within{color:var(--teal)}.checkbox-option input{width:22px;height:22px;accent-color:var(--teal)}.nomination-actions{display:flex;justify-content:flex-end}.button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius);background:var(--teal);color:#fff;font:inherit;font-weight:800;cursor:pointer}.button:hover{background:var(--teal-strong)}.button:disabled{opacity:.6;cursor:not-allowed}.button.secondary{background:var(--surface-muted);color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:#e7edef}.button.warning{background:var(--red)}.button.warning:hover{background:#93150c}.remove-nomination{background:transparent;border:none;color:var(--red);font:inherit;font-weight:700;cursor:pointer}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px}.submit-note{color:var(--muted);font-size:12px}.state-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 32px;display:grid;grid-gap:8px;gap:8px;text-align:center}.state-card h1{margin:0;font-size:22px}.my-nominations{margin:0 32px 8px;display:grid;grid-gap:12px;gap:12px}.voter-shell>.my-nominations{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 32px 28px}.my-nominations-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.my-nominations-header h2{margin:0;font-size:17px}.submission-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.submission-group.editing{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,118,110,.12)}.submission-group-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.submission-group-title{font-size:13px;font-weight:800;color:var(--muted)}.my-nomination-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px dashed var(--line);padding-top:10px}.my-nomination-body{display:grid;grid-gap:6px;gap:6px;min-width:0}.my-nomination-name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.my-nomination-meta{color:var(--muted);font-size:12px}.my-nomination-tags{display:flex;flex-wrap:wrap;gap:6px}.my-nomination-reason{margin:0;font-size:13px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.editing-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--teal);border-radius:var(--radius);background:rgba(15,118,110,.06);padding:10px 14px;margin-bottom:16px;font-size:13px}.admin-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto;padding:18px 16px;border-right:1px solid var(--line);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.admin-brand{display:grid;grid-gap:12px;gap:12px;padding:10px 8px 16px}.admin-brand img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);background:#050505}.admin-brand h1{margin:0;font-size:22px;line-height:1.25}.admin-brand p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.admin-tabs{display:grid;grid-gap:6px;gap:6px;margin:12px 0 18px}.admin-tab{display:grid;grid-template-columns:18px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:var(--radius);color:var(--ink);background:transparent;cursor:pointer;font:inherit;text-align:left}.admin-tab small{color:var(--subtle);font-size:12px}.admin-tab:hover,.admin-tab[aria-selected=true]{background:var(--teal-soft)}.admin-tab[aria-selected=true]{color:#075f59;font-weight:800}.admin-tab:disabled{cursor:not-allowed;opacity:.52}.side-section{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.side-card{display:grid;grid-gap:6px;gap:6px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.side-card strong{font-size:13px}.side-card span{color:var(--muted);font-size:12px}.admin-main{min-width:0;padding:22px}.admin-inner{width:min(100%,1200px);margin:0 auto}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.screen-title{display:grid;grid-gap:4px;gap:4px}.screen-title h2{margin:0;font-size:24px;line-height:1.25}.screen-title span{color:var(--muted);font-size:13px}.admin-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.admin-view{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.panel-header h3{margin:4px 0 0;font-size:18px;line-height:1.3}.panel-header p{max-width:760px;margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.panel-body{padding:18px}.icon{width:16px;height:16px;flex:0 0 16px;stroke-width:2}.select{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);background:#ffffff;font:inherit;outline:none}.select:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.field.full{grid-column:1/-1}.month-pills{display:flex;flex-wrap:wrap;gap:8px}.month-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius);color:#344054;background:#ffffff;cursor:pointer;font-size:13px;font-weight:800}.month-pill input{position:absolute;opacity:0;pointer-events:none}.month-pill:has(input:checked){color:#075f59;border-color:#84c4bc;background:var(--teal-soft)}.cycle-list{display:grid;grid-gap:10px;gap:10px}.cycle-list-head{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(110px,.7fr)) 24px;grid-gap:12px;gap:12px;padding:0 12px;color:var(--muted);font-size:11px;font-weight:900}.cycle-row{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(110px,.7fr)) auto;grid-gap:12px;gap:12px;align-items:center;min-height:70px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff;cursor:pointer;font:inherit;text-align:left}.cycle-row.is-active,.cycle-row:hover{border-color:#84c4bc;background:#f7fcfb}.cycle-title{display:grid;grid-gap:4px;gap:4px}.cycle-title strong{font-size:14px}.cycle-row small,.cycle-title span{color:var(--muted);font-size:12px}.cycle-row small{display:grid;grid-gap:3px;gap:3px}.cycle-row small strong{color:var(--ink);font-size:13px}.sync-warning{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #f0c6a2;border-radius:var(--radius);background:#fdf3ea;color:#8a3f0b;padding:10px 14px;font-size:13px;font-weight:700}@media (max-width:1080px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}.cycle-list-head{display:none}.cycle-row{grid-template-columns:minmax(0,1fr)}}.toast{position:fixed;right:18px;bottom:18px;z-index:50;max-width:min(460px,calc(100vw - 36px));display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid #9ad5ca;border-radius:var(--radius);background:#f2fbf9;color:#075f59;font-weight:800;box-shadow:0 18px 48px rgba(23,32,42,.16)}@media (max-width:760px){.voter-shell{width:min(100% - 24px,760px)}.voter-topbar{flex-direction:column;align-items:flex-start}.award-banner{height:180px}.form-header,.simple-form{padding-left:16px;padding-right:16px}.form-header h1{font-size:21px}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button{width:100%;justify-content:center}}.period-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);grid-gap:18px;gap:18px;align-items:start}.period-detail-main{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:16px;gap:16px;min-width:0}.period-actions{display:grid;grid-gap:12px;gap:12px;min-width:0;padding-left:18px;border-left:1px solid var(--line)}.period-actions .button{width:100%}.cycle-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.cycle-meta-item{display:grid;grid-gap:5px;gap:5px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd}.cycle-meta-item span{color:var(--muted);font-size:12px}.cycle-meta-item strong{font-size:16px;line-height:1.35}.next-action{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;padding:14px;border:1px solid #f0c38e;border-radius:var(--radius);background:var(--orange-soft)}.next-action .icon{width:28px;height:28px;color:var(--orange)}.next-action .eyebrow,.next-action p,.next-action strong{display:block}.next-action strong{margin:2px 0 4px;font-size:15px}.next-action p{margin:0;color:#6b3a12;font-size:13px;line-height:1.55}.section-heading{display:grid;grid-gap:4px;gap:4px}.section-heading h4{margin:0;font-size:16px;line-height:1.35}.section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.result-head h4{margin:0;font-size:16px;line-height:1.35}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.summary-line{display:grid;grid-gap:6px;gap:6px;min-height:92px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff}.summary-line strong{font-size:20px}.summary-line span{line-height:1.45}.action-note,.summary-line span{color:var(--muted);font-size:12px}.action-note{margin:0;line-height:1.5}.op-menu{display:grid;grid-gap:8px;gap:8px}.op-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.op-row:hover:not(:disabled){border-color:var(--line-strong);background:#fbfcfd}.op-row:disabled{opacity:.5;cursor:not-allowed}.op-row-text{display:grid;grid-gap:3px;gap:3px;min-width:0}.op-row-text strong{font-size:14px}.op-row-sub{color:var(--muted);font-size:12px;line-height:1.4}.op-row-aside{display:flex;align-items:center;gap:8px;flex-shrink:0}.op-row-chevron{width:18px;height:18px;color:var(--line-strong)}.op-row.is-primary{border-color:#f0c38e;background:var(--orange-soft);box-shadow:inset 3px 0 0 var(--orange)}.op-row.is-primary .op-row-chevron,.op-row.is-primary .op-row-text strong{color:var(--orange)}.modal-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(23,32,42,.42)}.modal-panel{width:100%;max-width:440px;max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto 1fr;overflow:hidden;border-radius:12px;background:#ffffff;box-shadow:0 18px 48px rgba(23,32,42,.28)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h4{margin:0;font-size:16px}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#ffffff;cursor:pointer;color:var(--muted)}.modal-close:hover{border-color:var(--line-strong);color:var(--ink)}.modal-body{padding:18px;overflow-y:auto}.op-panel{display:grid;grid-gap:12px;gap:12px}.op-panel .button{width:100%}.template-preview-mini{padding:10px 12px;color:var(--muted);font-size:12px;line-height:1.55;white-space:pre-line}.template-preview-mini,.template-row{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff}.template-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(90px,auto) 24px;grid-gap:12px;gap:12px;align-items:center;min-height:64px;padding:12px;cursor:pointer;font:inherit;text-align:left}.template-row.is-active,.template-row:hover{border-color:#84c4bc;background:#f7fcfb}.template-row .cycle-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-row small{display:grid;grid-gap:3px;gap:3px;color:var(--muted);font-size:12px}.template-row small strong{color:var(--ink);font-size:13px}.template-preview{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#ffffff;font-size:13px;line-height:1.6;white-space:pre-line}.inline-panel{border-color:#84c4bc}.export-list{display:grid;grid-gap:8px;gap:8px}.export-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff}.export-row strong{display:block;font-size:13px}.export-row span{display:block;color:var(--muted);font-size:12px}.export-row .button{width:auto;flex:0 0 auto}.export-row.next-phase{opacity:.55}.mb-14{margin-bottom:14px}@media (max-width:860px){.period-detail-layout{grid-template-columns:minmax(0,1fr)}.period-actions{padding-left:0;border-left:none;border-top:1px solid var(--line);padding-top:14px}.cycle-meta-grid,.summary-grid{grid-template-columns:minmax(0,1fr)}}.subtabs{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#ffffff}.subtab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.subtab:hover{color:var(--ink)}.subtab.is-active{background:var(--ink);color:#ffffff}.subtab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:rgba(101,113,125,.16);color:var(--muted);font-size:12px;font-weight:600}.subtab.is-active .subtab-count{background:rgba(255,255,255,.24);color:#ffffff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff}.table-wrap table{width:100%;min-width:520px;border-collapse:collapse}.table-wrap td,.table-wrap th{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}.table-wrap th{color:#344054;background:#f1f5f7;font-size:12px;font-weight:900;white-space:nowrap}.table-wrap tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:6px;white-space:nowrap}.result-table-wrap table{min-width:1120px}.result-table-wrap th{position:-webkit-sticky;position:sticky;top:0;z-index:1}.cell-sub,.result-table-wrap td strong{display:block}.cell-sub{color:var(--muted);font-size:12px}.reason-cell{max-width:320px;min-width:260px;line-height:1.55;white-space:pre-wrap}.answer-tags,.award-tags{display:flex;flex-wrap:wrap;gap:6px}.award-none{color:var(--muted)}.result-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.result-meta{font-size:12px}.reference-note{margin:0 0 12px;font-size:12px;color:var(--muted)}.link-button{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#ffffff;color:var(--ink);font-size:12px;cursor:pointer}.link-button:hover{border-color:var(--line-strong);background:#fbfcfd}.link-button:disabled{opacity:.5;cursor:not-allowed}.link-button.danger:hover{border-color:#f0b4ab;color:#b42318}.import-preview{max-height:180px;overflow-y:auto;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;font-size:12px;line-height:1.7;color:var(--muted)}.import-preview .import-row{color:var(--ink)}.import-bad{color:#b42318}