.policy-digest-page{display:grid;gap:18px}
.policy-page-heading{align-items:flex-end;display:flex;gap:24px;justify-content:space-between}
.policy-page-heading h1{font-size:30px;letter-spacing:-1.5px;margin:0}
.policy-page-heading p:not(.eyebrow),.policy-admin-panel>header p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:8px 0 0}
.policy-page-actions{display:flex;gap:8px}
.policy-page-heading button,.policy-state button,.policy-admin-panel button{background:var(--surface);border:1px solid var(--line);border-radius:7px;color:var(--ink);font-weight:800;min-height:42px;padding:9px 14px}
.policy-page-heading button:hover,.policy-state button:hover,.policy-admin-panel button:hover{background:var(--surface-2);border-color:var(--blue);color:var(--blue)}
.policy-page-heading button:disabled,.policy-admin-panel button:disabled{cursor:wait;opacity:.55}
.policy-trust-note{align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;display:flex;gap:15px;line-height:1.65;padding:14px 16px}
.policy-trust-note b{color:var(--blue);flex:0 0 auto}.policy-trust-note span{color:var(--muted)}
.policy-state{background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted);display:grid;gap:10px;justify-items:center;line-height:1.7;padding:45px 24px;text-align:center}
.policy-state small{display:block}.policy-error{color:var(--red)}

.policy-board{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.policy-board-toolbar{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:17px 20px}
.policy-board-toolbar b{font-size:18px}.policy-board-toolbar span{color:var(--muted);font-size:13px}
.policy-board-head,.policy-board-row{align-items:center;display:grid;gap:14px;grid-template-columns:90px minmax(0,1fr) 150px}
.policy-board-head{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:800;padding:11px 20px}
.policy-board-head span:last-child{text-align:right}
.policy-board-list{display:grid}
.policy-pagination{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:15px 16px}.policy-page-numbers{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.policy-pagination button{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:12px;font-weight:800;min-height:38px;min-width:38px;padding:7px 10px}.policy-pagination button:hover,.policy-pagination button:focus-visible,.policy-pagination button.active{background:var(--surface-2);border-color:var(--blue);color:var(--blue)}.policy-pagination button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.policy-pagination button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.policy-page-ellipsis{align-items:center;color:var(--muted);display:flex;justify-content:center;min-width:24px}
.policy-board-row{align-items:center;background:var(--surface);border:0;border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:14px;grid-template-columns:90px minmax(0,1fr);min-height:64px;padding:0 20px;text-align:left}
.policy-board-row:last-child{border-bottom:0}
.policy-board-row:hover,.policy-board-row:focus-visible{background:var(--surface-2)}
.policy-board-row-pinned{background:var(--surface-2);border-left:3px solid var(--blue)}
.policy-board-open{align-items:center;appearance:none;background:transparent;border:0;color:var(--ink);cursor:pointer;display:grid;font:inherit;gap:14px;grid-template-columns:minmax(0,1fr) 150px;min-height:64px;padding:12px 0;text-align:left;width:100%}
.policy-board-open:hover,.policy-board-open:focus-visible{color:var(--blue)}
.policy-board-open:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.policy-board-row time{color:var(--muted);font-size:13px;text-align:right}
.policy-board-badges{align-items:center;display:flex;gap:6px;min-width:0}
.policy-board-title-wrap{display:block;line-height:1.55;min-width:0;overflow-wrap:anywhere}
.policy-sequence{align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;color:var(--muted);display:inline-flex;font-size:10px;font-weight:900;justify-content:center;line-height:1;margin-right:7px;min-height:23px;min-width:28px;padding:4px 7px;vertical-align:middle;white-space:nowrap}
.policy-title-line{align-items:center;display:flex;gap:8px;min-width:0}
.policy-board-title{font-size:16px;font-weight:800;letter-spacing:-.25px}
.policy-board-title-wrap .policy-new-badge{display:inline-flex;margin-left:6px;vertical-align:middle}
.policy-new-badge{background:var(--surface-2);border:1px solid var(--blue);border-radius:99px;color:var(--blue);flex:0 0 auto;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1;padding:4px 6px}
.policy-category,.policy-importance{background:var(--surface-2);border:1px solid var(--line);border-radius:99px;color:var(--blue);font-size:11px;font-weight:800;padding:4px 8px;white-space:nowrap}
.policy-importance{color:var(--ink)}
.policy-importance-urgent{border-color:var(--red);color:var(--red)}
.policy-importance-important{border-color:var(--blue);color:var(--blue)}
.policy-importance-control{position:relative}.policy-importance-button{cursor:pointer;font:inherit}.policy-importance-button:hover,.policy-importance-button:focus-visible{background:var(--surface);outline:2px solid var(--blue);outline-offset:2px}.policy-importance-menu{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:5px;left:0;padding:6px;position:absolute;top:calc(100% + 7px);z-index:3}.policy-importance-menu button{background:var(--surface);cursor:pointer;font:inherit;text-align:left}.policy-importance-menu button:hover,.policy-importance-menu button:focus-visible,.policy-importance-menu button[aria-current="true"]{background:var(--surface-2);outline:2px solid var(--blue);outline-offset:1px}
.policy-pinned-label{background:var(--surface);border:1px solid var(--blue);border-radius:99px;color:var(--blue);display:inline-flex;font-size:10px;font-weight:900;letter-spacing:.03em;line-height:1;margin-right:7px;padding:4px 7px;vertical-align:middle;white-space:nowrap}

.policy-detail-article,.policy-admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:28px}
.policy-detail-article{margin:0 auto;max-width:980px;width:100%}
.policy-detail-toolbar{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);display:flex;gap:10px;height:auto;justify-content:flex-end;padding:0 0 18px;position:static}
.policy-detail-toolbar time{color:var(--muted);font-size:13px;text-align:right;white-space:nowrap}
.policy-detail-toolbar button{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:36px;padding:7px 12px}.policy-detail-toolbar button:hover,.policy-detail-toolbar button:focus-visible{background:var(--surface-2);border-color:var(--blue);color:var(--blue)}.policy-detail-toolbar button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.policy-day-heading{border-bottom:1px solid var(--line);padding:24px 0}.policy-day-heading h1{font-size:28px;letter-spacing:-1px;line-height:1.35;margin:0}.policy-day-heading p{color:var(--muted);line-height:1.65;margin:7px 0 0}
.policy-day-notice-list{display:grid}.policy-day-notice{display:block;padding:28px 0}.policy-notice-content{min-width:0;width:100%}
.policy-detail-heading{border:0;padding:0 0 16px}
.policy-detail-heading>div{display:flex;gap:7px}
.policy-detail-heading .policy-title-line{gap:8px;margin:11px 0 6px}.policy-detail-heading h2{font-size:23px;letter-spacing:-.65px;line-height:1.45;margin:0;min-width:0}
.policy-detail-heading p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}
.policy-key-summary{border-radius:8px;line-height:1.75;padding:18px}
.policy-key-summary{background:var(--surface-2);border-left:3px solid var(--blue);margin-top:0;padding:15px 18px}
.policy-key-summary b{display:block;font-size:13px;margin-bottom:7px}
.policy-summary-points{display:grid;gap:7px;line-height:1.7;margin:0;padding-left:20px}.policy-summary-points li{padding-left:2px}
.policy-essential-facts{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.policy-essential-heading h3{color:var(--blue);font-size:17px;margin:0}.policy-essential-heading p{color:var(--muted);font-size:12px;line-height:1.6;margin:5px 0 0}
.policy-essential-facts>div{display:grid;gap:9px;margin-top:12px}.policy-source-section{background:var(--surface-2);border-left:3px solid var(--blue);border-radius:7px;padding:13px 16px}.policy-source-section h4{font-size:14px;margin:0 0 7px}.policy-source-section ul{display:grid;gap:5px;line-height:1.7;margin:0;padding-left:20px}.policy-source-section li{padding-left:2px}
.policy-empty-copy{color:var(--muted);line-height:1.65;margin:5px 0 0}
.policy-notice-content>footer{display:flex;justify-content:flex-start;padding-top:12px}
.policy-detail-article>footer{align-items:center;border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:22px;padding-top:18px}.policy-detail-article>footer span{color:var(--muted);font-size:11px}
.policy-source-link{color:var(--blue);font-weight:800;text-underline-offset:3px}.policy-source-missing{color:var(--muted);font-size:12px}

.policy-admin-panel{box-shadow:none;padding:21px}.policy-admin-panel>header,.policy-admin-item>header{align-items:center;background:transparent;border:0;display:flex;height:auto;justify-content:space-between;padding:0;position:static}
.policy-admin-panel>header h2{font-size:21px;margin:0}
.policy-detected-import{background:var(--bg);border:1px solid var(--line);border-radius:9px;margin-top:15px;overflow:hidden}.policy-detected-import summary{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-weight:800;justify-content:space-between;list-style-position:inside;padding:14px 15px}.policy-detected-import summary:hover,.policy-detected-import summary:focus-visible{background:var(--surface-2);color:var(--blue)}.policy-detected-import summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.policy-detected-import summary span{display:inline-grid;gap:3px;margin-left:6px}.policy-detected-import summary small{color:var(--muted);font-size:11px;font-weight:600}.policy-detected-body{border-top:1px solid var(--line);display:grid;gap:11px;padding:15px}.policy-detected-guide{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;color:var(--muted);line-height:1.65;margin:0;padding:11px 12px}.policy-detected-guide code{color:var(--ink);font-weight:800}.policy-detected-fields{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.policy-detected-actions{display:flex;justify-content:flex-end}.policy-detected-import textarea::placeholder{color:var(--muted)}
.policy-admin-message{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;color:var(--blue);margin:14px 0 0;padding:11px}.policy-admin-message.policy-error{color:var(--red)}
.policy-admin-list{display:grid;gap:12px;margin-top:15px}.policy-admin-item{background:var(--bg);border:1px solid var(--line);border-radius:9px;display:grid;gap:10px;padding:15px}.policy-admin-item>header b,.policy-admin-item>header small{display:block}.policy-admin-item>header small{color:var(--muted);font-size:12px;margin-top:4px}
.policy-admin-grid{display:grid;gap:9px;grid-template-columns:2fr 1fr 1fr}
.policy-field{display:grid;gap:5px}.policy-field span{color:var(--muted);font-size:11px;font-weight:700}
.policy-field input,.policy-field textarea,.policy-field select{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;line-height:1.6;padding:10px;width:100%}.policy-field textarea{resize:vertical}
.policy-admin-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.policy-admin-actions button[data-policy-action="publish"],.policy-admin-actions .policy-admin-pin{border-color:var(--blue);color:var(--blue)}.policy-admin-actions button[data-policy-action="ignore"]{color:var(--muted)}

@media(max-width:760px){
  .policy-page-heading,.policy-trust-note,.policy-admin-panel>header,.policy-admin-item>header,.policy-detail-article>footer{align-items:stretch;display:grid;gap:12px}
  .policy-page-heading h1,.policy-day-heading h1{font-size:26px}.policy-detail-heading h2{font-size:23px}.policy-page-actions{display:grid;grid-template-columns:1fr}.policy-page-heading button,.policy-admin-panel>header button{width:100%}
  .policy-board-head{display:none}.policy-board-row{align-items:start;gap:8px;grid-template-columns:1fr;padding:14px 16px}.policy-board-open{gap:8px;grid-template-columns:1fr;min-height:0;padding:0}.policy-board-row time{text-align:left}.policy-board-title{font-size:15px;white-space:normal}
  .policy-pagination{gap:7px;padding:13px 10px}.policy-pagination>button{flex:1 1 70px}.policy-page-numbers{order:3;width:100%}
  .policy-detail-article{padding:18px}.policy-admin-grid{grid-template-columns:1fr}.policy-day-heading{padding:20px 0}.policy-day-notice{padding:22px 0}.policy-detail-heading h2{font-size:20px}.policy-key-summary{padding:13px 14px}.policy-source-section{padding:12px 13px}.policy-admin-panel{padding:15px}
  .policy-admin-actions{display:grid;grid-template-columns:1fr 1fr}.policy-admin-actions button,.policy-detected-actions button{width:100%}.policy-detected-import summary{align-items:flex-start}
}

/* Notice priority is a semantic status, not a neutral decoration. */
.policy-board-row{border-inline-start:3px solid var(--notice-neutral-line)}
.policy-board-row[data-importance="important"]{border-inline-start-color:var(--notice-important-line)}
.policy-board-row[data-importance="urgent"]{border-inline-start-color:var(--notice-urgent-line)}
.policy-board-row-pinned{background:var(--bg-selected)}
body .policy-importance{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:4px 9px;font-size:13px;font-weight:600;line-height:1.35}
body .policy-importance .status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
body .policy-importance.policy-importance-urgent{border-color:var(--notice-urgent-border)!important;background:var(--notice-urgent-bg)!important;color:var(--notice-urgent-ink)!important}
body .policy-importance.policy-importance-important{border-color:var(--notice-important-border)!important;background:var(--notice-important-bg)!important;color:var(--notice-important-ink)!important}
body .policy-importance.policy-importance-reference{border-color:var(--notice-reference-border)!important;background:var(--notice-reference-bg)!important;color:var(--notice-reference-ink)!important}
@media(max-width:760px){.policy-sequence{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(hover:hover){.policy-board-row:hover{background:var(--bg-subtle)}}
@media(max-width:760px){.policy-board-row:hover{background:var(--surface)}}

/* Surface palette audit: notices keep their semantic badges while ordinary surfaces stay neutral. */
.policy-board,.policy-detail-article,.policy-admin-panel,.policy-state,.policy-page-heading button,.policy-state button,.policy-admin-panel button,.policy-detail-toolbar button,.policy-pagination button,.policy-importance-menu{background:var(--surface);border-color:var(--line)}
.policy-board-head,.policy-sequence,.policy-category,.policy-importance.policy-importance-reference,.policy-detected-import summary:hover,.policy-detected-import summary:focus-visible{background:var(--surface-subtle)}
.policy-pagination button:hover,.policy-pagination button:focus-visible,.policy-pagination button.active,.policy-importance-menu button:hover,.policy-importance-menu button:focus-visible,.policy-importance-menu button[aria-current="true"]{background:var(--surface-selected)}
.policy-trust-note,.policy-key-summary,.policy-source-section,.policy-detected-guide,.policy-admin-message{background:var(--surface-info)}
.policy-board-row-pinned{background:var(--surface-selected)}
