/* core/shell.css — teadaolevate probleemide riba (.sh-notices) ja abivahendite dokk vasakul all (.sh-*; core/shell.js). */
.sh-notices { position: sticky; top: 0; z-index: 8995; font-family: Inter, system-ui, sans-serif; }
.sh-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 44px 8px 16px; font-size: 13px; line-height: 1.4; position: relative;
  background: #fdf3e3; color: #6b4206; border-bottom: 1px solid #f0d6a8; }
.sh-notice.lvl-info { background: #e8f2fb; color: #1f4e79; border-bottom-color: #c5ddf2; }
.sh-notice.lvl-critical { background: #b3261e; color: #fff; border-bottom-color: #8c1d17; }
.sh-notice-t { font-weight: 700; }
.sh-notice-b { opacity: .9; }
.sh-x { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: transparent; border: 0; color: inherit; font-size: 15px; cursor: pointer; padding: 2px 6px; border-radius: 6px; }
.sh-x:hover { background: rgba(0,0,0,.08); }

.sh-root { --sh-navy: #0B1F33; --sh-orange: #FF6B1A; --sh-line: #dde3e9; --sh-soft: #f3f6f9; --sh-muted: #5C6670;
  font-family: Inter, system-ui, sans-serif; font-size: 14px; line-height: 1.45; color: #1b2530; }
.sh-dock { position: fixed; left: 16px; bottom: 16px; z-index: 8990; display: flex; gap: 6px; align-items: center; }
.sh-btn { position: relative; border: 1px solid var(--sh-line); background: #fff; color: var(--sh-navy); border-radius: 999px; min-width: 44px; height: 44px; padding: 0 12px;
  font: 700 15px Inter, system-ui, sans-serif; cursor: pointer; box-shadow: 0 6px 20px rgba(11,31,51,.16); }
.sh-btn:hover { border-color: var(--sh-orange); }
.sh-help span { font-size: 14px; }
.sh-badge { position: absolute; top: -5px; right: -5px; min-width: 18px; padding: 0 5px; border-radius: 999px; background: #c0392b; color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
.sh-panel { position: fixed; left: 16px; bottom: 70px; z-index: 8991; width: min(420px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 100px));
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--sh-line); border-radius: 14px; box-shadow: 0 12px 40px rgba(11,31,51,.28); overflow: hidden; }
.sh-head { display: flex; align-items: center; gap: 6px; padding: 10px 12px; background: var(--sh-navy); color: #fff; }
.sh-head strong { flex: 1; font-size: 15px; }
.sh-icon { background: transparent; border: 0; color: #fff; font-size: 16px; cursor: pointer; padding: 2px 6px; border-radius: 6px; }
.sh-body { overflow-y: auto; padding: 10px; }
.sh-sub { display: block; color: var(--sh-muted); font-size: 12px; }
p.sh-sub { font-size: 13px; margin: 4px; }
.sh-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sh-item { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border: 1px solid var(--sh-line); border-left-width: 4px; border-radius: 10px; color: inherit; text-decoration: none; }
.sh-item:hover { border-color: var(--sh-orange); }
.sh-item.u-overdue, .sh-item.u-now { border-left-color: #c0392b; } .sh-item.u-today { border-left-color: var(--sh-orange); } .sh-item.u-soon { border-left-color: #e0a500; }
.sh-ic { font-size: 16px; }
.sh-grow { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.sh-pill { font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 5px; background: var(--sh-soft); color: var(--sh-muted); white-space: nowrap; }
.sh-pill.u-overdue, .sh-pill.u-now { background: #fdeaec; color: #b3261e; } .sh-pill.u-today { background: #fff1e8; color: #b34a0c; }
.sh-pal { position: fixed; left: 50%; top: 12vh; transform: translateX(-50%); z-index: 8999; width: min(620px, calc(100vw - 24px)); background: #fff;
  border: 1px solid var(--sh-line); border-radius: 14px; box-shadow: 0 24px 60px rgba(11,31,51,.35); overflow: hidden; }
.sh-q { width: 100%; box-sizing: border-box; border: 0; border-bottom: 1px solid var(--sh-line); padding: 14px 16px; font: 500 16px Inter, system-ui, sans-serif; outline: none; }
.sh-res { list-style: none; margin: 0; padding: 6px; max-height: 55vh; overflow-y: auto; }
.sh-r { display: flex; justify-content: space-between; gap: 10px; width: 100%; text-align: left; border: 0; background: transparent; padding: 9px 10px; border-radius: 8px; cursor: pointer; font: inherit; color: inherit; }
.sh-r .sh-sub { white-space: nowrap; }
.sh-r.on, .sh-r:hover { background: #fff1e8; }
.sh-none { padding: 10px; }
.sh-hint { padding: 6px 12px; font-size: 11px; color: var(--sh-muted); border-top: 1px solid var(--sh-line); background: var(--sh-soft); }
.sh-nudge { position: fixed; left: 16px; bottom: 70px; z-index: 8991; width: min(340px, calc(100vw - 32px)); background: #fff; border: 1px solid var(--sh-line);
  border-left: 4px solid var(--sh-orange); border-radius: 12px; box-shadow: 0 12px 40px rgba(11,31,51,.24); padding: 12px 36px 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.sh-nudge strong { font-size: 15px; }
.sh-nudge-x { position: absolute; top: 6px; right: 6px; color: var(--sh-muted); background: transparent; border: 0; font-size: 15px; cursor: pointer; padding: 4px 6px; }
.sh-nudge-row { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.sh-mini { border: 1px solid var(--sh-line); background: var(--sh-soft); color: var(--sh-navy); border-radius: 999px; padding: 6px 10px; font: 600 13px Inter, system-ui, sans-serif; cursor: pointer; }
.sh-mini:hover { border-color: var(--sh-orange); }
@media (max-width: 520px) {
  .sh-dock { left: 10px; bottom: 10px; }
  .sh-btn { height: 40px; min-width: 40px; padding: 0 10px; }
  .sh-help span { display: none; }
  .sh-panel { left: 8px; bottom: 60px; width: calc(100vw - 16px); }
  .sh-r .sh-sub { display: none; }
}
@media print { .sh-root, .sh-notices { display: none; } }

/* Ringkäik (core/tour.js) */
.tr-shade { position: fixed; inset: 0; z-index: 9100; background: transparent; }
.tr-spot { position: fixed; z-index: 9101; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(11,31,51,.55); outline: 2px solid #FF6B1A; pointer-events: none; transition: all .2s; }
.tr-card { position: fixed; z-index: 9102; background: #fff; color: #1b2530; border-radius: 12px; padding: 12px 14px; box-shadow: 0 16px 40px rgba(0,0,0,.35);
  font: 14px/1.45 Inter, system-ui, sans-serif; box-sizing: border-box; }
.tr-card strong { font-size: 15px; }
.tr-card p { margin: 6px 0 10px; }
.tr-step { font-size: 11px; font-weight: 700; color: #FF6B1A; text-transform: uppercase; letter-spacing: .04em; }
.tr-row { display: flex; gap: 6px; justify-content: flex-end; align-items: center; }
.tr-skip { margin-right: auto; background: transparent; border: 0; color: #5C6670; cursor: pointer; font: inherit; }
.tr-btn, .tr-btn2 { border-radius: 8px; padding: 7px 12px; font: 600 13px Inter, system-ui, sans-serif; cursor: pointer; }
.tr-btn { border: 0; background: #FF6B1A; color: #fff; }
.tr-btn2 { border: 1px solid #dde3e9; background: #fff; color: #1b2530; }
@media print { .tr-root { display: none; } }

/* Sessiooni aegumise riba (core/sb.js showSessionExpired) — igal lehel sama */
.sh-expired{position:fixed;left:0;right:0;top:0;z-index:10000;background:#7a1420;color:#fff;padding:10px 16px;font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.25);}
.sh-expired .btn{background:#fff;color:#7a1420;border-color:#fff;}
/* „Võta tagasi“ toast (core/undo.js) */
.emc-undo{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:10001;background:#0B1F33;color:#fff;border-radius:12px;padding:10px 12px 12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);font-size:14px;max-width:min(92vw,560px);overflow:hidden;}
.emc-undo[hidden]{display:none;}
.emc-undo-text{flex:1;min-width:0;}
.emc-undo-btn{background:#FF6B1A;color:#fff;border:0;border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer;white-space:nowrap;}
.emc-undo-x{background:transparent;color:#cbd5e1;border:0;font-size:16px;cursor:pointer;padding:0 4px;}
.emc-undo-now{background:transparent;color:#fff;border:1px solid #fff;border-radius:8px;padding:5px 10px;font-weight:600;cursor:pointer;white-space:nowrap;}
.emc-undo-now[hidden]{display:none;}
.emc-undo-bar{position:absolute;left:0;bottom:0;height:3px;background:#FF6B1A;width:100%;transform-origin:left;}
.emc-undo.busy .emc-undo-btn{display:none;}
@keyframes emcUndoBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
/* Prügikast (admin/trash.js) */
.emc-modal{position:fixed;inset:0;background:rgba(11,31,51,.55);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;}
.emc-modal[hidden]{display:none;}
.emc-modal .box{background:#fff;color:#0B1F33;border-radius:14px;max-width:760px;width:100%;max-height:88vh;overflow:auto;padding:18px 20px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.emc-modal h2{margin:0 0 6px;font-size:18px;}
.emc-modal table{width:100%;border-collapse:collapse;font-size:13px;}
.emc-modal td,.emc-modal th{padding:6px 8px;border-bottom:1px solid #e6ebf0;text-align:left;vertical-align:top;}
/* Salvestusolek (core/savestate.js) — all vasakul, üks kiip kõigil lehtedel */
.emc-save{position:fixed;left:12px;bottom:12px;z-index:9998;border:0;border-radius:999px;padding:6px 12px;font:600 12px/1.2 Inter,system-ui,sans-serif;cursor:default;box-shadow:0 4px 14px rgba(0,0,0,.18);background:#0B1F33;color:#fff;max-width:min(70vw,360px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.emc-save[hidden]{display:none;}
.emc-save.saved{background:#e4f5ea;color:#1b6b3a;opacity:.9;}
.emc-save.saving{background:#0B1F33;color:#fff;}
.emc-save.dirty{background:#fff1e8;color:#9b3f06;cursor:pointer;border:1px solid #FF6B1A;}
.emc-save.offline{background:#fdeaec;color:#9b1c2c;border:1px solid #9b1c2c;}
.emc-save.error{background:#fdeaec;color:#9b1c2c;}
@media print{.emc-save,.emc-undo{display:none!important;}}
/* Mustandi riba vormi sees (core/drafts.js) */
.emc-draft{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff8e1;border:1px solid #f0c36d;color:#5c4400;border-radius:10px;padding:8px 12px;margin:0 0 10px;font-size:13px;}
.emc-draft span{flex:1;min-width:200px;}
/* Kinnitusaken (core/confirm.js) */
.emc-confirm .box{max-width:520px;}
.emc-confirm-body{margin:6px 0 4px;font-size:15px;line-height:1.45;}
.emc-confirm-note{margin:0 0 8px;}
.emc-confirm-type{display:block;margin:10px 0;font-size:13px;}
.emc-confirm-type .input{display:block;margin-top:6px;width:100%;}
.emc-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;}
/* Ctrl+S / klahvid: lühike teade kiibil (core/keys.js) */
.emc-save.flash{background:#0B1F33;color:#fff;}
/* ? — klahvikombinatsioonide nimekiri (core/keys.js) */
.emc-keys-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.emc-modal-x{border:0;background:transparent;font-size:18px;cursor:pointer;color:#0B1F33;}
.emc-keys kbd{display:inline-block;padding:2px 7px;border:1px solid #c9d2dc;border-bottom-width:2px;border-radius:5px;background:#f5f7fa;font:600 12px/1.4 ui-monospace,Menlo,monospace;color:#0B1F33;white-space:nowrap;}
.emc-keys td:first-child{width:150px;}
.emc-keys .emc-keys-note{margin:10px 0 0;font-size:12px;color:#5b6b7b;}
/* 🕘 Ajalugu rea juures (core/rowhistory.js) */
.emc-rowhist td{font-size:13px;}
.emc-rowhist .sub{color:#5b6b7b;font-size:12px;margin:4px 0;}
.btn-hist{background:transparent;border:1px solid #c9d2dc;color:#0B1F33;padding:4px 7px;border-radius:6px;cursor:pointer;font-size:12px;line-height:1;}
.btn-hist:hover{background:#f1f4f8;}
/* Kirje ajajoon: kommentaarid (core/rowhistory.js) */
.emc-tl-comment td{background:#f7f9fb;}
.emc-tl-body{white-space:pre-wrap;}
.emc-tl-form{margin-top:12px;border-top:1px solid #e6ebf0;padding-top:10px;}
.emc-tl-row{display:flex;gap:8px;align-items:flex-start;margin-top:4px;}
.emc-tl-row textarea{flex:1;min-height:44px;font:inherit;padding:6px 8px;border:1px solid #c9d2dc;border-radius:6px;}
.emc-tl-people{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.emc-tl-at{border:1px solid #c9d2dc;background:#fff;border-radius:999px;padding:2px 8px;font-size:12px;cursor:pointer;color:#0B1F33;}
.emc-tl-at:hover{background:#f1f4f8;}
/* Salvestatud vaated (core/views.js) */
.emc-views{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px;font-size:12px;}
.emc-views-lbl{color:#5b6b7b;margin-right:2px;}
.emc-view{border:1px solid #c9d2dc;background:#fff;color:#0B1F33;border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer;}
.emc-view.on{background:#0B1F33;color:#fff;border-color:#0B1F33;}
.emc-view.save{border-style:dashed;}
.emc-view-wrap{display:inline-flex;align-items:center;}
.emc-view-x{border:0;background:transparent;color:#5b6b7b;cursor:pointer;font-size:11px;padding:2px 4px;}
.emc-view-x:hover{color:#c0392b;}
/* „Pärast viimast külastust“ riba (staap) */
.emc-since{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 14px;margin:0 0 12px;border-radius:10px;background:#eef4fb;border:1px solid #c9dcf2;color:#0B1F33;font-size:13px;}
.emc-since a{color:#0B1F33;font-weight:600;text-decoration:underline;cursor:pointer;}
.emc-since .emc-since-x{margin-left:auto;border:0;background:transparent;cursor:pointer;font-size:14px;}
/* ⚙ Eelistused (core/prefs.js) */
.sh-prefs-wrap{position:fixed;right:12px;bottom:70px;z-index:10001;max-width:min(92vw,380px);}
.sh-prefs{background:#fff;color:#0B1F33;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:12px 14px;font-size:13px;display:grid;gap:8px;max-height:80vh;overflow:auto;}
.sh-prefs .sh-head{display:flex;justify-content:space-between;align-items:center;}
.sh-pref-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;}
.sh-pref-opt{display:inline-flex;gap:4px;align-items:center;cursor:pointer;}
.sh-pref-list ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px;}
.sh-pref-list li{display:flex;justify-content:space-between;gap:6px;align-items:center;}
.sh-pref-list a{color:#0B1F33;text-decoration:none;} .sh-pref-list a:hover{text-decoration:underline;}
:root[data-theme="dark"] .sh-prefs,:root[data-theme="dark"] .emc-modal .box,:root[data-theme="dark"] .emc-keys kbd{background:#162435;color:#E6EDF5;border-color:#2B3D52;}
:root[data-theme="dark"] .sh-pref-list a,:root[data-theme="dark"] .emc-tl-at,:root[data-theme="dark"] .emc-view,:root[data-theme="dark"] .btn-hist{color:#E6EDF5;background:#162435;border-color:#2B3D52;}
:root[data-theme="dark"] .emc-tl-comment td{background:#1C3350;}
:root[data-theme="dark"] .emc-since{background:#10303C;border-color:#1E5468;color:#E6EDF5;} :root[data-theme="dark"] .emc-since a{color:#E6EDF5;}
:root[data-theme="dark"] .sh-root{--sh-navy:#E6EDF5;--sh-line:#2B3D52;--sh-soft:#1C3350;--sh-muted:#A3B1BF;color:#E6EDF5;}
:root[data-theme="dark"] .sh-btn,:root[data-theme="dark"] .sh-panel,:root[data-theme="dark"] .sh-pal,:root[data-theme="dark"] .sh-nudge,:root[data-theme="dark"] .tr-card,:root[data-theme="dark"] .tr-btn2{background:#162435;color:#E6EDF5;border-color:#2B3D52;}
:root[data-theme="dark"] .sh-head{background:#0B1F33;}
:root[data-theme="dark"] .sh-q{background:#162435;color:#E6EDF5;}
:root[data-theme="dark"] .sh-r.on,:root[data-theme="dark"] .sh-r:hover{background:#1C3350;}
:root[data-theme="dark"] .sh-pill.u-overdue,:root[data-theme="dark"] .sh-pill.u-now{background:#3A1A20;color:#FF8A95;} :root[data-theme="dark"] .sh-pill.u-today{background:#3A2E10;color:#F0C860;}
:root[data-theme="dark"] .tr-skip{color:#A3B1BF;}
:root[data-theme="dark"] .emc-conf{border-color:#2B3D52;}
/* Võrguta järjekord (core/offline-ui.js) */
.emc-conf{border:1px solid #e6ebf0;border-radius:10px;padding:10px 12px;margin:8px 0;}
.emc-conf table td{font-size:13px;}
.emc-offline-list{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px;font-size:13px;}
.emc-save.saving{background:#fff3cd;color:#664d03;}
.msg.pending{opacity:.65;} .msg.pending .meta::after,.msg.pending .bubble::after{content:' ⌁ ootel';font-size:11px;color:#8a6d00;}
