:root{--bg:#f6f4ef;--surface:#fffdf8;--ink:#24302d;--muted:#68736e;--line:#dfe4de;--primary:#356b60;--primary-dark:#234d44;--soft:#e8f0eb;--danger:#a94337}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Noto Sans TC,sans-serif}a{color:inherit}.app-shell-bar{border-bottom:1px solid var(--line);background:rgba(255,253,248,.94)}.app-shell-inner,.shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.app-shell-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-shell-name{color:var(--primary-dark);font-weight:700;text-decoration:none}.app-shell-user{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.shell{padding:48px 0 80px}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(100%,520px)}.card{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:28px;box-shadow:0 12px 30px rgba(45,65,58,.06)}.grid{display:grid;grid-gap:18px;gap:18px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:13px;font-weight:700;letter-spacing:.08em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(28px,4vw,42px);line-height:1.2}h2{font-size:22px}.hint,.muted{color:var(--muted);line-height:1.75}.field{display:grid;grid-gap:8px;gap:8px;font-size:14px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px}textarea{min-height:160px;resize:vertical;line-height:1.7}.button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:white;padding:9px 15px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button.secondary{border-color:var(--line);background:var(--surface);color:var(--primary-dark)}.button.danger{border-color:var(--danger);background:var(--danger)}.button:disabled{cursor:not-allowed;opacity:.55}.notice{border:1px solid #cfe0d5;border-radius:12px;background:var(--soft);padding:13px 15px;line-height:1.6}.notice.danger{border-color:#e8c7c1;background:#fff1ee;color:var(--danger)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.toolbar>input{flex:1 1 280px}.content-list{display:grid;grid-gap:10px;gap:10px}.content-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:16px;text-decoration:none}.content-row:focus-visible,.content-row:hover{border-color:var(--primary)}.content-row-copy{display:grid;grid-gap:5px;gap:5px;min-width:0}.content-row-copy strong,.content-row-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-row-description,.content-row-meta{color:var(--muted);font-size:13px}.content-row-meta{display:flex;align-items:center;gap:9px;white-space:nowrap}.status-pill{border-radius:999px;padding:4px 9px;background:var(--soft);color:var(--primary-dark)}.status-pill.pending{background:#fff0cf;color:#855c17}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:22px;gap:22px;align-items:start}.editor-fields{display:grid;grid-gap:18px;gap:18px}.editor-actions{display:flex;flex-wrap:wrap;gap:10px}.check-list{display:grid;grid-gap:10px;gap:10px}.check-item{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.6}.check-item input{width:auto;margin-top:4px}.meta-table{display:grid;grid-gap:14px;gap:14px}.meta-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr) minmax(0,1.2fr);grid-gap:10px;gap:10px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:14px}@media (max-width:760px){.app-shell-inner{align-items:flex-start;flex-direction:column;padding:13px 0}.app-shell-user{flex-wrap:wrap}.shell{padding-top:28px}.topbar{flex-direction:column}.editor-grid,.meta-row{grid-template-columns:1fr}.content-row{align-items:flex-start;flex-direction:column}.content-row-meta{width:100%;justify-content:space-between}}