*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#111;color:#eee;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
button,input,select,textarea{border:1px solid #444;background:#1b1b1b;color:#eee;border-radius:6px}
button{padding:7px 10px;cursor:pointer}
button:hover{background:#292929}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #888;outline-offset:1px}
.app{display:grid;grid-template-columns:minmax(340px,2fr) minmax(420px,5fr);gap:10px;padding:10px;min-height:calc(100vh - 20px)}
.left-panel,.right-panel{min-width:0}
.left-panel{display:flex;flex-direction:column;gap:8px}
.left-panel>input[type=date],#filterInput{width:100%;height:34px;padding:5px 8px}
.weekday{text-align:center;font-weight:700;min-height:22px}
.notes-list{flex:1;min-height:250px;overflow:auto;border:1px solid #292929;border-radius:6px;background:#151515;padding:3px}
.note-item,.group-header,.subday{padding:7px 8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.note-item{cursor:pointer}
.note-item:hover,.note-item.selected{background:#292929}
.group-header{font-weight:700;background:#202020;margin:2px 0;cursor:pointer}
.group-header.collapsed{opacity:.8}
.subday{font-weight:600;color:#bbb;padding-left:16px}
.view-row{display:flex;gap:6px}
.view-btn{flex:1}
.full-btn{width:100%}
hr{width:100%;border:0;border-top:1px solid #333;margin:2px 0}
.tasks-header{display:flex;align-items:center;gap:8px;min-height:28px}
.tasks-header label{margin-left:auto;font-size:.9rem;color:#ccc;white-space:nowrap}
.tasks-list{max-height:150px;overflow:auto;border:1px solid #292929;border-radius:6px;background:#151515;padding:3px}
.task-item{padding:6px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-item:hover{background:#292929}
.right-panel{display:flex;flex-direction:column;gap:8px}
.editor-header{display:flex;align-items:center;gap:8px;min-height:30px}
.editor-header select{min-width:145px;padding:5px 7px}
.muted{color:#aaa}
.saved{color:#7fdc7f;font-weight:700;min-width:52px;text-align:right}
.spacer{flex:1}
.ro-btn{width:36px;height:28px;padding:2px}
.ro-btn[aria-pressed="true"]{background:#444;border-color:#888}
.mosaic-row{display:flex;align-items:center;gap:8px;min-height:34px}
.mosaic-row input{width:180px;padding:6px 8px}
.task-row{display:flex;align-items:center;gap:14px;min-height:28px}
.task-row label{display:flex;align-items:center;gap:5px}
.hidden{display:none!important}
#textEdit{width:100%;flex:1;min-height:170px;resize:vertical;padding:9px;line-height:1.45;background:#151515}
#textEdit[readonly]{opacity:.9}
.actions{display:flex;align-items:center;gap:8px}
.summary{min-height:24px;color:#aaa;font-size:.9rem}
dialog{border:1px solid #444;border-radius:8px;background:#171717;color:#eee;padding:0;max-width:min(650px,calc(100vw - 24px));width:650px}
dialog::backdrop{background:rgba(0,0,0,.65)}
.search-dialog{display:flex;flex-direction:column;gap:10px;padding:16px}
.search-dialog h2{margin:0}
.search-dialog input{padding:8px}
.search-results{height:320px;overflow:auto;border:1px solid #333;border-radius:6px;background:#111;padding:3px}
.search-result{padding:8px;cursor:pointer;border-radius:4px}
.search-result:hover{background:#292929}
@media(max-width:850px){
 .app{grid-template-columns:1fr;min-height:auto}
 .left-panel{min-height:520px}
 .right-panel{min-height:520px}
}
