:root{--admin-green:#23614e;--admin-ink:#18342b;--admin-cream:#f6f3ea;--admin-line:#d8dfd9}*{box-sizing:border-box}body{background:var(--admin-cream);color:var(--admin-ink);margin:0}.admin-shell{min-height:100vh;font-family:Arial,Noto Sans TC,sans-serif}.admin-header{border-bottom:1px solid var(--admin-line);background:#fff;justify-content:space-between;align-items:center;height:82px;padding:0 5vw;display:flex}.admin-brand img{width:170px;display:block}.admin-header>div{align-items:center;gap:22px;font-size:14px;display:flex}.admin-header a{color:var(--admin-green);text-decoration:none}.header-logout{color:var(--admin-green);cursor:pointer;background:#fff;border:1px solid #b9c7c0;border-radius:7px;padding:8px 13px}.admin-layout{grid-template-columns:270px minmax(0,1fr);max-width:1300px;min-height:calc(100vh - 82px);margin:0 auto;display:grid}.admin-sidebar{border-right:1px solid var(--admin-line);padding:64px 34px}.admin-sidebar h1{margin:8px 0 34px;font-size:25px}.admin-kicker{color:#9c7c4e;letter-spacing:.18em;margin:0;font-size:11px;font-weight:700}.admin-sidebar button{text-align:left;color:#53675f;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;margin:5px 0;padding:14px 16px;font-size:16px;display:block}.admin-sidebar button.active{background:var(--admin-green);color:#fff}.admin-main{gap:28px;padding:44px;display:grid}.admin-panel{border:1px solid var(--admin-line);background:#fff;border-radius:14px;padding:30px;box-shadow:0 10px 28px #1d42350d}.admin-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.admin-panel-heading h2{margin:7px 0 0;font-size:23px}.status{color:var(--admin-green);margin:5px 0;font-size:14px}.admin-form{grid-template-columns:1fr 1fr;gap:20px;display:grid}.admin-form label{color:#42584f;gap:8px;font-size:14px;font-weight:700;display:grid}.admin-form label.wide,.upload-preview,.form-actions{grid-column:1/-1}.admin-form input,.admin-form textarea,.admin-form select{width:100%;color:var(--admin-ink);font:inherit;background:#fcfdfb;border:1px solid #cdd7d1;border-radius:7px;padding:12px 13px;font-weight:400}.admin-form textarea{resize:vertical}.admin-form small{color:#809087;font-weight:400}.upload-row{background:#f7faf7;border:1px dashed #a9bbb1;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;min-height:76px;padding:15px;display:flex}.upload-row span{color:#718178;font-size:12px;font-weight:400}.upload-preview{object-fit:cover;border-radius:8px;width:180px;height:110px}.publish-button{background:var(--admin-green);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:14px;font-weight:700}.publish-button:disabled{opacity:.55;cursor:wait}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.form-actions button{cursor:pointer;border-radius:7px;flex:180px;padding:13px 18px;font-weight:700}.draft-button{border:1px solid var(--admin-green);color:var(--admin-green);background:#fff}.cancel-button{color:#627169;background:#eef1ee;border:1px solid #b7bfb9}.form-actions button:disabled,.content-actions button:disabled{opacity:.55;cursor:wait}.content-list{gap:10px;display:grid}.content-list article{border:1px solid #e0e5e1;border-radius:9px;grid-template-columns:76px 1fr auto;align-items:center;gap:16px;padding:12px;display:grid}.content-list img{object-fit:cover;background:#eef1ee;border-radius:5px;width:76px;height:56px}.content-list h3{margin:0 0 5px;font-size:16px}.content-list p{color:#718178;margin:0;font-size:13px}.content-list article.is-draft{background:#fafafa}.content-summary{min-width:0}.content-summary h3{overflow-wrap:anywhere}.status-pill{color:#6d756f;background:#e8ece9;border-radius:999px;margin-bottom:6px;padding:3px 8px;font-size:11px;display:inline-block}.status-pill.published{color:#166143;background:#dff3e8}.content-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.content-list button{color:var(--admin-green);cursor:pointer;background:#fff;border:1px solid #b9c7c0;border-radius:6px;padding:7px 11px}.content-list .toggle-button{border-color:#8fa596}.content-list .delete-button{color:#a9493d;border-color:#c98077}.empty{color:#7d8a84}.admin-denied{place-items:center;padding:30px;display:grid}.admin-denied .admin-panel{text-align:center;max-width:500px}.admin-link{color:var(--admin-green)}.admin-login-shell{background:radial-gradient(circle at top,#eef4df,var(--admin-cream) 58%);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{border:1px solid var(--admin-line);background:#fff;border-radius:18px;width:min(440px,100%);padding:44px;box-shadow:0 20px 55px #1d42351f}.admin-login-logo img{width:175px;margin:0 auto 30px;display:block}.admin-login-card h1{margin:8px 0 12px;font-size:28px}.admin-login-card>p:not(.admin-kicker):not(.login-error){color:#64756d;margin:0 0 28px;line-height:1.7}.admin-login-card label{gap:9px;font-weight:700;display:grid}.admin-login-card input{width:100%;font:inherit;border:1px solid #cdd7d1;border-radius:8px;padding:13px 14px}.admin-login-card>button{color:#fff;background:var(--admin-green);cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:18px;padding:14px;font-weight:700}.admin-login-card>button:disabled{opacity:.6}.login-error{font-size:14px;color:#b33e32!important;margin:12px 0 0!important}.back-link{color:var(--admin-green);text-align:center;margin-top:18px;font-size:14px;text-decoration:none;display:block}@media (max-width:760px){.admin-header{padding:0 20px}.admin-header span{display:none}.admin-brand img{width:135px}.admin-layout{grid-template-columns:1fr}.admin-sidebar{border-right:0;padding:28px 20px 16px}.admin-sidebar h1{margin-bottom:18px}.admin-sidebar button{width:auto;margin-right:8px;display:inline-block}.admin-main{padding:20px}.admin-panel{padding:22px 18px}.admin-panel-heading{flex-direction:column;gap:8px}.admin-form{grid-template-columns:1fr}.admin-form label{grid-column:1/-1}.upload-row{flex-direction:column;align-items:flex-start}.content-list article{grid-template-columns:64px minmax(0,1fr);align-items:start}.content-list img{width:64px}.content-actions{grid-column:1/-1;justify-content:stretch}.content-actions button{flex:1}.admin-login-card{padding:34px 24px}}
