* { box-sizing: border-box; }
:root{
  --bg:#eef1f5;
  --panel:#ffffff;
  --text:#1d2733;
  --muted:#657180;
  --line:#d8e0e8;
  --accent:#41607b;
  --accent-2:#6988a3;
  --success:#2e7d5b;
  --warning:#886313;
  --danger:#8d3940;
  --shadow:0 12px 30px rgba(31,45,61,.08);
  --radius:18px;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
body{min-height:100vh;}
button,input,select,textarea{font:inherit;}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh;}
.sidebar{background:#f8fafc;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;gap:20px;}
.brand h1{margin:0;font-size:1.55rem;}
.brand p{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.4;}
.nav{display:grid;gap:8px;}
.nav-btn,.primary,.secondary,.ghost{
  border-radius:14px;border:1px solid var(--line);padding:12px 14px;background:#fff;color:var(--text);cursor:pointer;
}
.nav-btn{text-align:left;background:transparent;}
.nav-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.sidebar-foot{margin-top:auto;display:grid;gap:8px;}
.file-label{display:block;text-align:center;}
.small{font-size:.92rem;padding:10px 12px;}
.main{padding:24px 24px 40px;}
.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;}
.topbar h2{margin:0 0 5px;}
.topbar p{margin:0;color:var(--muted);}
.top-actions{display:flex;flex-wrap:wrap;gap:10px;}
.primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.secondary{background:#fff;border-color:var(--accent-2);color:var(--accent);}
.ghost{background:transparent;}
.view{display:none;}
.view.active{display:block;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}
.stat-card,.panel,.entry-card,.note{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.stat-card{padding:18px;}
.stat-card span{display:block;color:var(--muted);font-size:.9rem;margin-bottom:8px;}
.stat-card strong{font-size:2rem;}
.two-col,.split,.export-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.panel{padding:18px;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.panel-head h3{margin:0;font-size:1.05rem;}
.stack{display:grid;gap:12px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid label{display:grid;gap:7px;font-size:.94rem;color:var(--muted);}
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);
}
.form-grid textarea{resize:vertical;}
.full{grid-column:1 / -1;}
.form-actions{display:flex;gap:10px;align-items:center;}
.entry-card{padding:15px;}
.entry-card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.entry-meta{font-size:.86rem;color:var(--muted);margin-bottom:6px;}
.entry-title{margin:0;font-size:1rem;}
.entry-desc{margin:.75rem 0;color:#2f3b49;line-height:1.5;white-space:pre-wrap;}
.entry-actions{display:flex;flex-wrap:wrap;gap:8px;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f2f6fa;border:1px solid var(--line);font-size:.84rem;color:#334051;
}
.note{padding:14px 16px;color:#3c4a59;line-height:1.5;}
.badge-locked{background:#f6f8fb;color:#4a5968;}
.badge-live{background:#eef7ff;color:#31516c;}
.badge-retro{background:#fff8e8;color:#765417;}
.badge-exhibit{background:#edf7f0;color:#2b664a;}
.text-danger{color:var(--danger);}
.text-warning{color:var(--warning);}
.text-success{color:var(--success);}
.detail-modal{border:none;padding:0;background:transparent;max-width:1000px;width:min(1000px,92vw);}
.detail-modal::backdrop{background:rgba(18,24,31,.55);}
.modal-wrap{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);}
.modal-body{padding:18px;max-height:78vh;overflow:auto;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.detail-block{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;}
.detail-block h4{margin:0 0 10px;font-size:.92rem;color:var(--muted);}
.detail-block p,.detail-block ul{margin:0;line-height:1.5;white-space:pre-wrap;}
.detail-block ul{padding-left:18px;}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.addendum-form{display:grid;gap:10px;margin-top:14px;}
.empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center;background:#fbfcff;}
.export-doc{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;padding:24px;line-height:1.45;}
.export-doc h1,.export-doc h2,.export-doc h3{margin:0 0 10px;}
.export-doc .section{margin-bottom:30px;page-break-inside:avoid;}
.export-doc .section + .section{border-top:1px solid #ddd;padding-top:20px;}
.export-doc .entry{border:1px solid #cfcfcf;padding:12px 14px;margin-bottom:14px;border-radius:8px;page-break-inside:avoid;}
.export-doc table{width:100%;border-collapse:collapse;font-size:13px;}
.export-doc th,.export-doc td{border:1px solid #ccc;padding:8px;vertical-align:top;text-align:left;}
.export-doc .muted{color:#555;}
.export-doc .page-break{page-break-before:always;}
.export-doc img{max-width:100%;height:auto;border:1px solid #ccc;}
@media (max-width: 1100px){
  .app-shell{grid-template-columns:1fr;}
  .sidebar{border-right:none;border-bottom:1px solid var(--line);}
}
@media (max-width: 820px){
  .stats-grid,.two-col,.split,.export-split,.form-grid,.detail-grid{grid-template-columns:1fr;}
  .topbar{flex-direction:column;}
}
