:root{--project-green:#28776d;--project-ink:#203d38}
[hidden]{display:none!important}
.manager-shell{max-width:880px;margin:0 auto;padding:48px 24px 80px;color:var(--project-ink)}
.manager-shell.narrow{max-width:460px;padding-top:70px}
.manager-shell h1{font-size:32px;margin:8px 0 16px;letter-spacing:-1px}
.overline{font-size:14px;font-weight:700;color:var(--project-green);margin:0}
.muted{color:#65746f;line-height:1.7;font-size:16px}
.muted.compact{font-size:14px;margin:4px 0}
.manager-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.manager-heading h1{margin-bottom:0}
.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.book-card{display:block;text-align:left;border:1px solid #dce5df;border-radius:20px;background:#fff;padding:24px;cursor:pointer;color:var(--project-ink);box-shadow:0 4px 20px #203d3805;min-height:210px}
.book-card:hover{border-color:var(--project-green);box-shadow:0 6px 22px #28776d12}
.book-card h2{font-size:21px;line-height:1.4;margin:16px 0 8px;overflow-wrap:anywhere}
.book-card p{font-size:14px;color:#73827b;margin:0 0 20px}
.book-icon{display:inline-grid;place-items:center;width:38px;height:42px;border-radius:6px 12px 12px 6px;background:#e7f0eb;color:var(--project-green);border-left:4px solid #28776d;font-weight:700}
.book-open{font-size:14px;font-weight:700;color:var(--project-green)}
.solid,.outline{font:inherit;font-size:16px;font-weight:600;padding:13px 20px;border-radius:12px;border:1px solid var(--project-green);cursor:pointer;min-height:46px}
.solid{background:var(--project-green);color:white}
.outline{background:transparent;color:var(--project-green)}
button:disabled{opacity:.55;cursor:wait}
.legacy-link{display:block;color:var(--project-green);font-size:15px;margin:28px 0;line-height:1.5}
.text-button{font:inherit;background:none;border:0;color:#68736d;padding:10px 0;cursor:pointer}
.empty-projects{padding:40px 20px;border:1px dashed #c7d6ce;border-radius:18px;text-align:center;margin-top:24px}
.empty-projects h2{font-size:21px}.empty-projects p{font-size:16px;color:#73827b}
.panel{background:white;border:1px solid #dce5df;padding:24px;border-radius:18px;margin-top:24px}
.form-stack{display:flex;flex-direction:column;gap:18px}
.form-stack label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600}
.form-stack input,.form-stack textarea,.form-stack select{font:inherit;font-size:16px;font-weight:400;border:1px solid #cad8d0;border-radius:10px;padding:12px;background:white;color:#203d38;width:100%;box-sizing:border-box}
.form-stack textarea{resize:vertical;line-height:1.5}
.form-stack small{font-size:14px;font-weight:400;color:#697a71;line-height:1.5}
.form-error{color:#ad3932;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}
.form-error:empty{display:none}
#project-dialog{max-width:500px;width:calc(100% - 32px);max-height:85dvh;border:1px solid #dce5df;border-radius:20px;padding:26px;box-sizing:border-box;color:#203d38;background:#fffdf8;box-shadow:0 20px 80px #102e3333}
#project-dialog::backdrop{background:#122b2866}
.dialog-heading h2{margin:0;font-size:23px}
.dialog-heading button{border:0;background:none;font-size:28px;color:#60756a;cursor:pointer;width:40px;height:40px}
#project-nav{max-width:560px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e1e9e3}
#project-nav a,#project-nav button{font:inherit;font-size:14px;color:var(--project-green);text-decoration:none;background:none;border:0;cursor:pointer;padding:8px 4px}
#project-nav div{display:flex;gap:10px}
#preview-notice{background:#edf1e4;color:#556738;text-align:center;font-size:14px;padding:10px 16px;line-height:1.5}
#message{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#203d38;color:white;border-radius:12px;padding:14px 20px;max-width:85vw;z-index:10000;opacity:0;pointer-events:none;font-size:15px;transition:opacity .15s}
#message.visible{opacity:1}.loading{text-align:center;padding:60px;font-size:16px}
:focus-visible{outline:3px solid #bd8c32;outline-offset:3px}
@media(max-width:580px){.manager-shell{padding:30px 18px 60px}.manager-shell.narrow{padding-top:42px}.book-grid{grid-template-columns:1fr;gap:14px}.book-card{min-height:170px;padding:20px}.manager-heading{align-items:center}.manager-shell h1{font-size:28px}.solid{padding:12px 16px}#project-dialog{padding:20px}#project-nav{padding:8px 14px}}
