/* Meja Kerja shared polish layer */
:root{--panel-gap:14px;--control-h:40px}
.page{padding-bottom:72px}.page-head{align-items:end}.page-actions{align-items:center}.btn{min-width:0}.btn.is-active,.segmented .btn.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.loading{pointer-events:none;opacity:.72}.btn.loading svg{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.segmented{display:inline-flex;border:1px solid var(--line);background:var(--paper-2);padding:3px;border-radius:var(--radius-sm);gap:2px}.segmented .btn{border:0;background:transparent;height:32px;padding-inline:10px}.segmented .btn:hover{transform:none}.segmented .btn.is-active{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px;min-height:40px}.section-bar h2{font-size:16px;margin:0}.section-bar .muted{max-width:70ch}
.status-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:6px 9px;background:var(--paper);font:800 9px ui-monospace,monospace}.status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.status-chip.fallback::before{background:var(--yellow)}.status-chip.error::before{background:var(--red)}
.native-enhanced{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.enhanced-note{font:700 9px/1.4 ui-monospace,monospace;color:var(--muted)}

.app-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:12px}.app-sidebar{border:1px solid var(--line);background:var(--paper);padding:12px;min-width:0}.sticky-side{position:sticky;top:calc(var(--top) + 10px);align-self:start}.toolbar-scroll{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.toolbar-scroll>*{flex:0 0 auto}
.breadcrumbs{display:flex;align-items:center;gap:5px;min-width:0;overflow:auto;scrollbar-width:none}.breadcrumbs::-webkit-scrollbar{display:none}.crumb-btn{border:0;background:transparent;color:var(--muted);padding:5px 3px;font-size:11px}.crumb-btn:last-child{color:var(--ink);font-weight:700}.crumb-sep{color:var(--quiet)}
.file-tree .tree-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;color:inherit;cursor:pointer}.file-tree .tree-item svg{width:15px;height:15px}.file-tree .tree-item .count{margin-left:auto;color:var(--muted);font:700 9px ui-monospace,monospace}.file-actions{display:flex;gap:5px;opacity:0;transition:.15s}.file-card:hover .file-actions,.file-row:hover .file-actions{opacity:1}.file-card.selected,.file-row.selected{outline:2px solid var(--blue);outline-offset:-2px;background:var(--blue-soft)}
.file-grid.v2{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.file-card.v2{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;position:relative}.file-card.v2 .file-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper)}.file-card.v2 .file-icon svg{margin:0;width:21px}.file-card.v2 b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card.v2 .file-card-bottom{width:100%;display:flex;justify-content:space-between;gap:5px;align-items:center}.file-row{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 100px 130px auto;gap:10px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);cursor:pointer}.file-row:hover{background:var(--paper-2)}.file-row .name{display:flex;gap:8px;align-items:center;min-width:0}.file-row .name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row svg{width:16px}.file-list-head{font:800 9px ui-monospace,monospace;color:var(--muted);background:var(--paper-2)}
.context-menu{position:fixed;z-index:2600;min-width:190px;border:1px solid var(--line-strong);background:var(--paper);box-shadow:var(--shadow-lg);padding:5px;display:none}.context-menu.open{display:block}.context-menu button{width:100%;height:34px;border:0;background:transparent;text-align:left;padding:0 9px;display:flex;align-items:center;gap:8px}.context-menu button:hover{background:var(--paper-2)}.context-menu button.danger{color:var(--danger)}
.reader-stage.v2{min-height:650px}.reader-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.reader-nav .page-indicator{font:700 9px ui-monospace,monospace;color:var(--muted)}
.canvas-board .note-node[contenteditable="true"],.note-node [contenteditable="true"]{cursor:text}.note-node .node-actions{position:absolute;right:6px;bottom:6px;display:flex;gap:3px;opacity:0}.note-node:hover .node-actions{opacity:1}.note-node .node-actions button{width:27px;height:27px;padding:0}
.settings-anchor{scroll-margin-top:calc(var(--top) + 24px)}.settings-nav .tree-item{cursor:pointer}.settings-nav .tree-item.active{font-weight:700}.diag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diag-item{border:1px solid var(--line);padding:10px;background:var(--paper-2)}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.lib-card{border:1px solid var(--line);background:var(--paper);padding:11px;min-height:100px}.lib-card .lib-status{margin-top:10px;font:700 9px ui-monospace,monospace;color:var(--muted)}
@media(max-width:1100px){.app-split{grid-template-columns:1fr}.sticky-side{position:static}.file-row{grid-template-columns:minmax(180px,2fr) 1fr 90px auto}.file-row .modified{display:none}}
@media(max-width:760px){.page{padding-left:10px;padding-right:10px}.page-actions{width:100%;justify-content:flex-start}.native-enhanced{width:100%}.file-row{grid-template-columns:minmax(0,1fr) 80px auto}.file-row .type,.file-row .modified{display:none}.diag-grid{grid-template-columns:1fr}.section-bar{align-items:flex-start;flex-direction:column}.toolbar-scroll{width:100%}}

/* Native calendar fallback */
.calendar-native{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);overflow:auto}
.calendar-day{min-width:130px;background:var(--paper);min-height:430px}
.calendar-day.today{background:color-mix(in srgb,var(--yellow) 7%,var(--paper))}
.calendar-day>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-bottom:1px solid var(--line);background:inherit}
.calendar-day>header span{font:600 12px var(--mono);border:1px solid var(--line);border-radius:999px;padding:3px 7px}
.calendar-day-body{padding:8px;display:grid;gap:7px}
.calendar-event,.calendar-empty{width:100%;text-align:left;border:1px solid var(--line);border-radius:5px;background:var(--paper-2);padding:8px;display:grid;gap:4px;color:var(--ink);cursor:pointer}
.calendar-event:hover,.calendar-empty:hover{transform:translateY(-1px);border-color:var(--ink-soft)}
.calendar-event.kind-focus{border-left:4px solid var(--violet)}
.calendar-event.kind-meeting{border-left:4px solid var(--cyan)}
.calendar-event.kind-review{border-left:4px solid var(--green)}
.calendar-event.kind-personal{border-left:4px solid var(--yellow)}
.calendar-event small{color:var(--muted)}
.calendar-empty{border-style:dashed;color:var(--muted);place-items:center;min-height:48px;text-align:center}
@media(max-width:900px){.calendar-native{grid-template-columns:repeat(7,minmax(180px,1fr))}}

/* Final polish */
.app-sidebar-sticky{position:sticky;top:calc(var(--top) + 12px);align-self:start}
.lib-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;color:var(--ink);border-radius:6px;cursor:pointer}.lib-card:hover{transform:translateY(-1px);border-color:var(--ink-soft)}.lib-card.good{box-shadow:inset 3px 0 0 var(--green)}.lib-card.danger{box-shadow:inset 3px 0 0 var(--red)}.lib-card.loading i{animation:spin 1s linear infinite}
.reader-nav{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(5px)}
.note-node .note-actions{display:flex;gap:4px;opacity:.35;transition:opacity .15s}.note-node:hover .note-actions,.note-node:focus-within .note-actions{opacity:1}.note-node [contenteditable]{outline:none;border-radius:3px}.note-node [contenteditable]:focus{box-shadow:0 0 0 1px var(--line);background:var(--paper)}
@keyframes spin{to{transform:rotate(360deg)}}
.tree-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.tree-row .tree-item{min-width:0}.tree-row .tree-more{opacity:.45}.tree-row:hover .tree-more{opacity:1}
.native-rich-toolbar{padding:8px;border-bottom:1px solid var(--line);background:var(--paper-2)}.native-rich-editor{min-height:520px;padding:24px;outline:none;line-height:1.65;background:var(--paper)}.native-rich-editor:focus{box-shadow:inset 0 0 0 1px var(--line-strong)}
.native-graph{width:100%;height:100%;min-height:460px;background:radial-gradient(circle at center,color-mix(in srgb,var(--cyan) 5%,transparent),transparent 58%)}.native-edges line{stroke:var(--line-strong);stroke-width:1.2}.native-graph-node{cursor:pointer}.native-graph-node circle{fill:var(--yellow-soft);stroke:var(--ink);stroke-width:1}.native-graph-node text{font:700 10px var(--mono);fill:var(--ink);pointer-events:none}.native-graph-node:hover circle{fill:var(--cyan-soft)}
