.spm-modal[hidden]{display:none!important}
.spm-modal{position:fixed;inset:0;z-index:1200;background:#071727d9;display:grid;place-items:center;padding:16px;overflow:auto}
.spm-entry-card{background:#f3f8fc;color:#15354b;width:min(100%,530px);max-height:94vh;overflow:auto;border-radius:18px;padding:24px;display:grid;gap:13px;box-shadow:0 16px 60px #0006}
.spm-entry-card h2{margin:0;color:#164761}.spm-entry-card p{margin:0}
.spm-entry-card label{display:grid;gap:5px;font-weight:700}.spm-entry-card input,.spm-entry-card select{padding:12px;border:1px solid #98b5c6;border-radius:9px;background:white;color:#15354b;font:inherit;width:100%}
.spm-code-preview{background:#e3edf6;padding:12px;border-radius:9px;text-align:center;overflow-wrap:anywhere;font-weight:800}
.spm-entry-actions{display:flex;gap:10px;flex-wrap:wrap}.spm-entry-actions button{flex:1}
.spm-day{background:#e9f2f9;color:#102d43;border-radius:14px;padding:14px;margin:0 0 18px}
.spm-day h3{margin:0 0 12px;color:#173b58}.spm-table-scroll{overflow-x:auto;max-width:100%}
.spm-table{border-collapse:collapse;width:100%;min-width:1100px;direction:ltr;font-size:13px}
.spm-table td,.spm-table th{border:1px solid #789aae;padding:9px 6px;text-align:center;white-space:nowrap}
.spm-table thead{background:#195071;color:white}.spm-table tbody tr:nth-child(even){background:#d6e7f2}
.spm-table .spm-average{background:#a6d1dd;font-weight:800}.spm-table .spm-missing{color:#79602f;font-style:italic}
.spm-share-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.spm-share-btn{border:1px solid #16734e;border-radius:10px;background:#147d51;color:white;font:inherit;font-weight:800;padding:12px 18px;cursor:pointer;flex:1 1 190px}
.spm-share-btn:disabled{background:#839ba9;border-color:#839ba9;color:#e9eef2;cursor:not-allowed}
.spm-share-capture{background:#eef5fa;color:#11354d;padding:34px;box-sizing:border-box;font-family:Tahoma,Arial,sans-serif;direction:ltr}
.spm-share-heading{background:#164563;color:white;text-align:center;padding:22px;border-radius:9px}
.spm-share-heading h1{font-size:38px;margin:0 0 8px}.spm-share-heading h2{font-size:29px;margin:0}
.spm-share-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;color:#123c5a;font-size:28px;font-weight:bold}
.spm-share-banner strong{display:inline-block;background:#d4a342;color:#142c41;border-radius:9px;padding:13px 30px;font-size:42px}
.spm-share-table{width:100%;border-collapse:collapse;table-layout:auto;direction:ltr;background:white;font-size:22px}
.spm-share-table th,.spm-share-table td{border:2px solid #7293a7;text-align:center;padding:16px 7px;white-space:nowrap}
.spm-share-table th{background:#195071;color:white;font-size:20px}
.spm-share-table th:last-child,.spm-share-table td:last-child{direction:rtl;min-width:150px}
.spm-share-table th:nth-child(5),.spm-share-table td:nth-child(5){font-size:19px}
.spm-share-table th:nth-child(2),.spm-share-table td:nth-child(2){min-width:130px}
.spm-share-table th:nth-child(3),.spm-share-table td:nth-child(3){font-weight:900;font-size:27px}
.spm-share-table .spm-share-average{background:#a7d2de;font-weight:900}
.spm-share-foot{text-align:center;padding:18px 0 0;font-size:23px;color:#315b73}
/* The 1100px archive table must scroll inside its own viewport. Without
   min-width:0 the grid item expands the entire mobile document width. */
#page-archive,.archive-list,.spm-day{min-width:0;max-width:100%}
.archive-list{grid-template-columns:minmax(0,1fr)}
.spm-day{width:100%;overflow:hidden}
.spm-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.archive-mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.archive-mode-switch>button{flex:1 1 180px}
@media(max-width:650px){
  #app-view,.workspace,.workspace>.page{width:100%;max-width:100%;min-width:0}
  .app-header{flex-wrap:wrap;gap:8px}
  .brand-mini{min-width:0;flex:1}
  .main-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}
  .main-tabs .tab{width:100%;max-width:none;min-width:0;min-height:44px}
  #page-archive .section-heading{flex-wrap:wrap}
  #page-archive .archive-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  #page-archive .archive-mode-switch>button{width:100%;min-width:0;min-height:46px;padding:10px 6px;font-size:12px}
  #page-archive .archive-mode-switch>button:nth-child(2){grid-column:span 2;grid-row:1}
  .spm-day{padding:10px}
  .spm-day h3{font-size:15px;line-height:1.6}
  .spm-table-scroll{border:1px solid #bad0dc;border-radius:8px}
  .spm-share-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .spm-share-btn{min-width:0;font-size:12px;padding:10px 5px}
}
