:root{--bg: #f3f5f7;--surface: #ffffff;--ink: #1a2332;--muted: #5c6b7a;--line: #d7dee7;--accent: #0b6e4f;--accent-ink: #ffffff;--danger: #9b2c2c;--warn-bg: #fff6e5;--warn-ink: #7a4b00;--radius: 10px;--font: "Segoe UI", "PT Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,#dcece6 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,#e7eef8 0%,transparent 50%),var(--bg);min-height:100vh}a{color:var(--accent)}button,input,select,textarea{font:inherit}.app-shell{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.brand{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.nav{display:flex;gap:.85rem;margin-top:.35rem}.nav a{text-decoration:none;color:var(--muted);font-size:.92rem}.nav a.active{color:var(--accent);font-weight:600}.preview-frame{width:100%;min-height:360px;border:1px solid var(--line);border-radius:8px;background:#fff}.journal-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.2fr);gap:.85rem}@media(max-width:720px){.journal-layout{grid-template-columns:1fr}}.journal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:420px;overflow:auto}.journal-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:.15rem;border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;background:#fafbfc;cursor:pointer}.journal-item.active{border-color:var(--accent);background:#eef7f3}.journal-detail{border:1px solid var(--line);border-radius:8px;padding:.75rem .9rem;min-height:180px}.journal-detail h3{margin:0 0 .65rem;font-size:1rem}.detail-grid{display:grid;grid-template-columns:140px 1fr;gap:.35rem .75rem;margin:0;font-size:.9rem}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;word-break:break-word}.muted{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.35rem;margin-bottom:1rem}.panel h2{margin:0 0 .35rem;font-size:1.05rem}.panel p.lead{margin:0 0 1rem;color:var(--muted);font-size:.92rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}@media(max-width:720px){.grid-2{grid-template-columns:1fr}}label.field{display:flex;flex-direction:column;gap:.3rem;font-size:.86rem}label.field span{color:var(--muted)}input[type=text],input[type=number],input[type=email],select,textarea{border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;background:#fff}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:.45rem .85rem;cursor:pointer}.btn:hover{border-color:#b7c3d1}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:not-allowed}.login-card{max-width:420px;margin:12vh auto;text-align:center}.login-card h1{margin:0 0 .5rem;font-size:1.6rem}.warn{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;padding:.65rem .8rem;margin:.75rem 0;font-size:.9rem}.error{color:var(--danger);font-size:.9rem}.success{color:var(--accent);font-size:.9rem}.checklist{display:flex;flex-direction:column;gap:.35rem;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem}.checklist label{display:flex;gap:.45rem;align-items:flex-start;font-size:.9rem}.column-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.column-list li{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;padding:.4rem .55rem;background:#fafbfc;cursor:grab}.column-list li.dragging{opacity:.5}.column-list .meta{flex:1;min-width:0}.column-list .key{display:block;font-size:.75rem;color:var(--muted)}.sort-row{display:grid;grid-template-columns:1fr 120px auto;gap:.5rem;margin-bottom:.5rem}@media(max-width:720px){.sort-row{grid-template-columns:1fr}}
