.rw { --rw-ink:#142c40; --rw-accent:#087f79; color:var(--rw-ink); max-width:1500px; margin:auto; }
/* The register is a wide data screen: it uses the whole window instead of the
   shared 1500px reading width, so the tree and the schedule grid get the space. */
.rw.mdr { max-width: none; }
.rw * { box-sizing:border-box; }
.rw button,.rw input,.rw select,.rw textarea { font:inherit; }
.rw button { cursor:pointer; }
.rw button:disabled { cursor:default; opacity:.5; }
.rw :focus-visible { outline:3px solid #0d9488; outline-offset:3px; }
.rw-hero { background:#102c40; color:white; border-radius:18px; padding:28px 30px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.rw-eyebrow { font-size:10px; letter-spacing:2px; font-weight:800; color:#84dad2; margin-bottom:10px; }
.rw h1 { font-size:30px; line-height:1.2; font-weight:800; margin:0 0 10px; letter-spacing:-.8px; }
.rw-hero p { color:#c1d3df; margin:0; font-size:13px; }
.rw-project { margin-top:18px; display:flex; gap:10px; align-items:center; font-size:12px; }
.rw-project span { color:#91aeaF; }
.rw-project strong { overflow-wrap:anywhere; }
.rw-actions { display:flex; flex-wrap:wrap; gap:8px; }
.rw-btn { padding:10px 14px; border:1px solid #d6e0e6; border-radius:8px; background:white; font-size:12px!important; font-weight:700!important; color:#244355; text-align:left; }
.rw-btn:hover { background:#eef6f5; border-color:#83b6b0; }
.rw-btn-primary { background:#087f79; border-color:#087f79; color:white; }
.rw-btn-primary:hover { background:#076761; color:white; }
.rw-hero .rw-btn { background:#224257; color:white; border-color:#496375; }
.rw-hero .rw-btn-primary { background:#11998c; border-color:#11998c; }
.rw-rolebar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:16px 0 0; }
.rw-rolebar-roles { margin-top:4px; padding:10px 12px; border:1px dashed #cbd5e1; border-radius:12px; background:#f8fafc; }
.rw-rolebar-roles > span:first-child { font-weight:900; color:#334155; }
.rw-rolebar-roles > span:last-child { color:#64748b; }
.workspace-subtabs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:8px 24px; border-bottom:1px solid #e2e8f0; background:white; }
.workspace-subtabs-label { margin-right:6px; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:#64748b; }
.workspace-subtabs button { border:1px solid #e2e8f0; background:white; border-radius:999px; padding:5px 12px; font-size:11px; font-weight:800; color:#475569; }
.workspace-subtabs button:hover { border-color:#5eead4; background:#f0fdfa; color:#0f766e; }
.workspace-subtabs button.is-active { border-color:#0f766e; background:#0f766e; color:white; box-shadow:0 1px 3px rgba(15,118,110,.35); }
.workspace-subtabs-hint { margin-left:auto; font-size:10px; color:#94a3b8; }
.rw-rolebar span { font-size:11px; color:#64748b; margin-right:5px; }
.rw-rolebar button { border:1px solid #dbe4ea; background:white; padding:7px 12px; border-radius:20px; font-size:11px; }
.rw-rolebar button[aria-pressed=true] { background:#102c40; color:white; border-color:#102c40; }
.rw-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:20px 0; }
.rw-kpi { background:white; border:1px solid #dce6eb; border-radius:12px; padding:18px 20px; }
.rw-kpi span { font-size:11px; color:#586e7e; font-weight:700; }
.rw-kpi strong { display:block; font-size:30px; letter-spacing:-1px; line-height:1.3; margin:8px 0 4px; }
.rw-kpi small { color:#708593; font-size:10px; }
.rw-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.rw-card { background:white; border:1px solid #dce6eb; border-radius:12px; overflow:hidden; }
.rw-card-head { padding:20px; border-bottom:1px solid #e6edf1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rw h2 { font-size:15px; font-weight:800; margin:0; }
.rw h3 { font-size:12px; font-weight:800; margin:18px 0 8px; }
.rw-sub { font-size:11px; line-height:1.6; color:#71828f; margin:5px 0 0; }
.rw-tabs { display:flex; gap:6px; overflow-x:auto; padding:0 16px; border-bottom:1px solid #e2e9ee; }
.rw-tabs button { padding:15px 10px; background:none; border:0; border-bottom:3px solid transparent; font-size:12px; white-space:nowrap; color:#627583; font-weight:700; }
.rw-tabs button[aria-pressed=true] { color:#087f79; border-color:#087f79; }
.rw-filters { display:flex; flex-wrap:wrap; gap:10px; padding:15px 20px; background:#f8fafb; border-bottom:1px solid #e6edf1; }
.rw-filters label { flex:1; min-width:120px; font-size:10px; color:#566d7e; font-weight:700; }
.rw-filters label:first-child { flex:2; min-width:180px; }
.rw input,.rw select,.rw textarea { width:100%; border:1px solid #cad8e0; border-radius:7px; padding:9px; margin-top:5px; font-size:12px; color:#183749; background:white; }
.rw input[type="checkbox"],.rw input[type="radio"] { width:14px; min-width:14px; height:14px; flex:0 0 auto; padding:0; margin:0; border-radius:3px; accent-color:#0f766e; box-shadow:none; }
.rw .mdr-tree-row input[type="checkbox"],.rw .mdr-tree-selectbar input[type="checkbox"] { margin:0 4px 0 0; }
.rw-table-wrap { overflow-x:auto; }
.rw table { width:100%; border-collapse:collapse; font-size:12px; }
.rw th { font-size:9px; color:#6a7f8e; text-transform:uppercase; letter-spacing:.6px; background:#f8fafb; padding:12px 16px; text-align:left; white-space:nowrap; }
.rw td { border-top:1px solid #edf1f4; padding:14px 16px; vertical-align:top; }
.rw tr[data-selected=true] td { background:#edf8f6; }
.rw-doc { font-weight:700!important; color:#173b52; background:none; border:0; padding:0; text-align:left; line-height:1.5; }
.rw-doc:hover { color:#087f79; text-decoration:underline; }
.rw-doc small { display:block; color:#748895; font-size:10px; font-weight:400; margin-top:3px; }
.rw-badge { display:inline-block; font-size:9px; font-weight:700; border:1px solid #d9e5eb; padding:4px 7px; border-radius:5px; color:#476778; background:#f1f6fa; white-space:nowrap; }
.rw-badge[data-state=returned],.rw-badge[data-state=overdue] { color:#a33736; background:#fff0ee; border-color:#f0c9c2; }
.rw-badge[data-state=issued],.rw-badge[data-state=completed] { color:#087461; background:#eaf8f1; border-color:#c2e6d6; }
.rw-badge[data-state=lead_review],.rw-badge[data-state=dc_validation] { color:#956b16; background:#fff7e5; border-color:#ead9ad; }
.rw-detail { padding:22px; }
.rw-detail dl { display:grid; grid-template-columns:110px 1fr; gap:10px; font-size:11px; margin-top:18px; }
.rw-detail dt { color:#758795; }
.rw-detail dd { margin:0; overflow-wrap:anywhere; font-weight:600; }
.rw-detail p,.rw-detail li { font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.rw-detail .rw-actions { margin-top:18px; }
.rw-detail .rw-actions button { width:100%; }
.rw-detail label { display:block; font-size:11px; margin-top:12px; font-weight:700; }
.rw-note { background:#f0f7f7; border:1px solid #d4e8e5; padding:12px 14px; border-radius:8px; margin-top:15px; font-size:11px; line-height:1.7; }
.rw-alert { padding:14px 18px; margin:14px 0; border:1px solid #ebc8bf; background:#fff4f0; border-radius:10px; color:#913f31; font-size:12px; }
.rw-empty { padding:48px 24px; text-align:center; color:#738794; font-size:12px; line-height:1.8; }
.rw-footer { padding:13px 20px; border-top:1px solid #e6edf1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:10px; color:#758895; }
.rw-stage { margin-top:16px; }
.rw-stage div { display:flex; justify-content:space-between; margin-bottom:6px; font-size:11px; }
.rw-stage progress { width:100%; height:6px; accent-color:#17877e; }
.rw-setup { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
.rw-setup button { padding:18px; }
.rw-setup small { display:block; font-size:11px; margin-top:6px; font-weight:400; color:#728692; }
@media(max-width:1100px) { .rw-layout { grid-template-columns:minmax(0,1fr); } .rw-detail { max-width:100%; } }
@media(max-width:650px) { .rw-hero { padding:22px; flex-direction:column; align-items:stretch; } .rw h1 { font-size:26px; } .rw-kpis { grid-template-columns:1fr 1fr; gap:10px; } .rw-kpi { padding:14px; } .rw-setup { grid-template-columns:1fr; } }
.mdr-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 20px}.mdr-summary>div{background:#fff;border:1px solid #dce6eb;border-radius:10px;padding:14px}.mdr-summary div div{display:flex;justify-content:space-between;font-size:11px}.mdr-summary progress{width:100%;height:8px;margin-top:10px;accent-color:#087f79}.mdr-reminders{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.mdr-modal{position:fixed;inset:0;z-index:100;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:20px}.mdr-form{width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px}.mdr-fields,.mdr-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}.mdr-dates{border-top:1px solid #e6edf1}.mdr-form label{font-size:11px;font-weight:700}@media(max-width:650px){.mdr-fields,.mdr-dates{grid-template-columns:1fr}.mdr .rw-table-wrap{max-height:55vh}}
.mdr-reissue{display:grid;grid-template-columns:120px 1fr 170px auto;gap:8px;align-items:end}.mdr-reissue input,.mdr-reissue select{margin-top:6px}@media(max-width:650px){.mdr-reissue{grid-template-columns:1fr}}
.mdr-warning{margin:16px 0;padding:15px 18px;border:2px solid #ef4444;background:#fff1f2;color:#991b1b;border-radius:10px;font-size:12px}.mdr-warning strong{display:block;font-size:14px;margin-bottom:7px}.mdr-grid-wrap{overflow:auto;max-height:62vh}.mdr-grid{min-width:2500px}.mdr-grid th{position:sticky;top:0;z-index:5;background:#eaf2f6}.mdr-grid td{padding:6px;min-width:115px}.mdr-grid input,.mdr-grid select{min-width:105px;margin:0;padding:6px;border-radius:3px}.mdr-grid .mdr-sticky{position:sticky;left:0;z-index:4;background:#fff;min-width:230px;max-width:230px}.mdr-grid th.mdr-sticky{z-index:8;background:#dcebf1}.mdr-stage-head{min-width:330px!important;text-align:center!important}.mdr-stage-head small{display:block;font-weight:500;margin-top:4px}.mdr-folder td{position:sticky;left:0;background:#dbeafe!important;color:#173b52;padding:9px 12px;font-size:12px;z-index:3}.mdr-folder button{margin-left:10px;border:1px solid #60a5fa;background:white;color:#1d4ed8;border-radius:4px;font-weight:900}.mdr-planned-field{display:grid;grid-template-columns:76px minmax(150px,1fr);align-items:center;gap:6px;font-size:9px;font-weight:800}.mdr-planned-field span{white-space:nowrap;color:#24495d}.mdr-cycle{display:grid;grid-template-columns:22px 55px 70px 105px 105px 42px 65px;gap:3px;margin-top:4px;padding-top:4px;border-top:1px solid #dbe4ea}.mdr-cycle b{display:flex;align-items:center;justify-content:center;background:#eef6f5}.mdr-add-cycle{margin-top:5px;border:1px dashed #5d8d89;background:#f0fdfa;color:#087f79;font-size:10px}.mdr-rejected td{background:#fff1f2}.mdr-rejected .mdr-sticky{background:#ffe4e6}.mdr-big-red{display:block;margin-top:8px;background:#b91c1c;color:white;padding:8px;text-align:center;font-size:15px}.mdr-sheet .rw-card-head input{max-width:320px}

/* Split MDR: Project Explorer-style tree at left, horizontally scrollable data table at right. */
/* A little taller than the viewport share on purpose: the register header above
   the card can then be scrolled out of the way instead of pinning the overdue
   strip to the top of the screen. */
.mdr-split{display:grid;grid-template-columns:clamp(340px,29vw,470px) minmax(0,1fr);height:calc(62vh + 90px);min-height:470px;border-top:1px solid #dbe5eb;background:#fff}
.mdr-tree-pane{min-width:0;border-right:2px solid #5b8ca7;background:#f8fbfd;display:flex;flex-direction:column;overflow:hidden}
.mdr-tree-header{height:auto;min-height:0;padding:12px 16px;background:#dcebf1;color:#24495d;border-bottom:1px solid #c7dbe5;display:flex;flex-direction:column;justify-content:center;gap:6px;letter-spacing:.08em;font-size:10px}
.mdr-tree-titlebar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mdr-tree-options-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid #9db4c3;background:#fff;border-radius:6px;padding:3px 7px;font-size:9px;font-weight:900;letter-spacing:.06em;color:#24495d}
.mdr-tree-options-toggle:hover{border-color:#0f766e;background:#f0fdfa;color:#0f766e}
.mdr-tree-options-toggle[aria-expanded=true]{border-color:#0f766e;background:#0f766e;color:#fff}
.mdr-tree-filters-label{font-size:9px;font-weight:800;letter-spacing:.04em;color:#5c7383}
.mdr-depth-label{margin-left:6px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#587182}
.mdr-issue-sentinel{height:1px;margin-bottom:-1px}
.mdr-tree-header small{font-size:9px;font-weight:500;letter-spacing:.02em;color:#658092}
.mdr-tree-tools{display:grid;gap:6px;margin-top:3px;letter-spacing:normal;min-height:0}
.mdr-depth-block{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.mdr-depth-title{display:flex;align-items:center;gap:4px;border:0;background:transparent;padding:1px 0;font-size:8px;font-weight:900;letter-spacing:.08em;color:#41596a;text-align:left}
.mdr-depth-title:hover{color:#1d4ed8}
.mdr-depth-reset{border:1px solid #bfdbfe;background:#fff;border-radius:5px;padding:2px 6px;font-size:9px;font-weight:800;color:#1d4ed8}
.mdr-depth{display:flex;align-items:center;flex-wrap:wrap;gap:3px;white-space:nowrap}.mdr-depth span{min-width:60px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#587182}.mdr-depth button{flex:0 0 auto;width:20px;height:20px;min-height:20px;padding:0;border:1px solid #bfccd5;border-radius:4px;background:#edf2f5;color:#4b6474;font-size:9px;font-weight:900;line-height:18px}.mdr-depth button:last-child{width:31px}.mdr-depth button:hover{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.mdr-depth button[aria-pressed=true]{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 0 0 2px #bfdbfe}
.mdr-tree-search{position:relative;display:flex;align-items:center}.rw .mdr-tree-search input{height:30px;margin:0;padding:6px 31px 6px 9px;border-color:#9db4c3;border-radius:5px;background:#fff;font-size:10px}.rw .mdr-tree-search input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #bfdbfe}.mdr-tree-search button{position:absolute;right:3px;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:#64748b;font-size:16px;font-weight:700}.mdr-tree-search button:hover{background:#e2e8f0;color:#1e3a5f}
.mdr-tree-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.mdr-tree-scroll::-webkit-scrollbar{width:12px;height:13px}
.mdr-tree-scroll::-webkit-scrollbar-track{background:#e2e8f0}
.mdr-tree-scroll::-webkit-scrollbar-thumb{background:#8fa4b8;border:3px solid #e2e8f0;border-radius:8px}
.mdr-tree-scroll::-webkit-scrollbar-thumb:hover{background:#64748b}
.mdr-split-resizer{position:relative;cursor:col-resize;background:#5b8ca7}
.mdr-split-resizer::after{content:'';position:absolute;top:50%;left:50%;width:3px;height:44px;transform:translate(-50%,-50%);border-radius:3px;background:repeating-linear-gradient(180deg,#e7f1f7 0 4px,transparent 4px 8px)}
.mdr-split-resizer:hover,.mdr-split-resizer:active{background:#3f7492}
.mdr-tree-row{box-sizing:border-box;border-bottom:1px solid #d7e4ec;display:flex;align-items:center;gap:6px;min-width:max-content;color:#173b52}
.mdr-tree-menu{position:sticky;right:0;flex:0 0 auto;min-width:30px;height:24px;margin-left:auto;margin-right:8px;padding:0 8px;border:1px solid #60a5fa;border-radius:4px;background:#fff;color:#1d4ed8;font-size:14px;font-weight:900;line-height:1;cursor:pointer;box-shadow:-6px 0 8px -5px rgba(15,23,42,.35)}
.mdr-tree-menu:hover{border-color:#2563eb;background:#eff6ff}
.mdr-folder-menu-backdrop{position:fixed;inset:0;z-index:299}
.mdr-folder-menu{position:fixed;z-index:300;min-width:176px;padding:4px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.22)}
.mdr-folder-menu button{display:block;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:#1e3a5f;font-size:11px;font-weight:700;text-align:left;cursor:pointer}
.mdr-folder-menu button:hover{background:#eff6ff;color:#1d4ed8}
.mdr-folder-menu button.mdr-folder-menu-danger{color:#b91c1c}
.mdr-folder-menu button.mdr-folder-menu-danger:hover{background:#fef2f2;color:#991b1b}
.mdr-folder-menu small{display:block;padding:2px 10px 6px;color:#64748b;font-size:9px;font-weight:600}
.mdr-tree-folder{background:#dbeafe;font-size:12px;font-weight:800;white-space:nowrap}
.mdr-tree-folder strong{overflow:hidden;text-overflow:ellipsis}
.mdr-tree-toggle,.mdr-tree-add,.mdr-tree-remove,.mdr-tree-save,.mdr-tree-number{flex:0 0 auto;border:1px solid #60a5fa;background:#fff;color:#1d4ed8;border-radius:4px;font-weight:900;line-height:1;display:inline-grid;place-items:center}
.mdr-tree-toggle{width:20px;height:22px}.mdr-tree-add{width:auto;min-width:54px;height:24px;margin-left:auto;margin-right:10px;padding:0 7px;grid-auto-flow:column;gap:3px;font-size:9px;white-space:nowrap}.mdr-tree-add:hover{border-color:#2563eb;background:#eff6ff}.mdr-tree-document-actions{display:grid;gap:4px;margin:0 10px 0 auto}.mdr-tree-save,.mdr-tree-number{min-width:58px;height:23px;padding:0 5px;font-size:8px}.mdr-tree-number{border-color:#8b5cf6;color:#6d28d9}.mdr-tree-save{background:#2563eb;color:#fff}.mdr-tree-save:hover{background:#1d4ed8}.mdr-tree-save:disabled{opacity:.55}.mdr-tree-remove{width:58px;height:20px;margin:0;color:#b91c1c;border-color:#fca5a5}
.mdr-tree-icon{flex:0 0 auto;font-size:14px}
.mdr-tree-document{background:#fff;align-items:flex-start;padding-top:11px;padding-bottom:10px}
.mdr-tree-document:hover{background:#f2f8fb}.mdr-tree-rejected{background:#fff1f2}
.mdr-tree-document-fields{min-width:0;flex:1;display:grid;gap:4px;padding-right:8px}
.mdr-tree-document-fields input{width:100%;min-width:0;border:1px solid transparent;border-radius:4px;background:transparent;padding:4px 6px;margin:0;color:#173b52;line-height:1.25}
.mdr-tree-document-fields input:focus{outline:none;border-color:#60a5fa;background:#fff;box-shadow:0 0 0 2px #dbeafe}
.mdr-tree-document-fields input:disabled{opacity:1;color:#334155}
.mdr-tree-document-number{font:700 11px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;color:#1d4ed8!important}
.mdr-tree-document-title{font-size:11px;font-weight:600}
.mdr-table-pane{height:100%;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.mdr-table-pane::-webkit-scrollbar{height:14px;width:12px}.mdr-table-pane::-webkit-scrollbar-track{background:#e2e8f0}.mdr-table-pane::-webkit-scrollbar-thumb{background:#8fa4b8;border:3px solid #e2e8f0;border-radius:8px}
.mdr-data-table{width:2885px;min-width:2885px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:11px}
.mdr-data-table thead th{position:sticky;top:0;z-index:5;height:134px;box-sizing:border-box;background:#eaf2f6;color:#587182;border-bottom:1px solid #c7dbe5;padding:12px;text-transform:uppercase;letter-spacing:.08em;text-align:left;white-space:nowrap}
.mdr-data-table thead th:first-child{width:230px}.mdr-data-table thead th:nth-child(2){width:170px}.mdr-data-table thead th:nth-child(3){width:190px}.mdr-data-table thead th:last-child{width:105px}
.mdr-data-table th.mdr-stage-head{width:365px!important;text-align:center!important}
.mdr-data-table td{box-sizing:border-box;padding:8px;border-bottom:1px solid #d7e4ec;vertical-align:top;background:#fff;overflow:hidden}
.mdr-data-table td>input,.mdr-data-table td>select{width:100%;min-width:105px;margin:0;padding:7px;border:1px solid #cbd8e2;border-radius:4px;background:#fff}
.mdr-right-folder td{padding:0!important;background:#dbeafe!important}
.mdr-action-cell{min-width:105px;text-align:center}.mdr-action-cell .rw-btn{width:100%}.mdr-plan-count{display:block;margin-bottom:6px;color:#587182;font-size:9px;font-weight:800}
.mdr-manage-folders{flex:0 0 auto;white-space:nowrap}
.mdr-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.mdr-filter-head strong{display:block;margin-bottom:10px}.mdr-filter-head select{width:100%;height:32px;margin:0;padding:5px;border:1px solid #b8cad5;border-radius:5px;background:#fff;color:#254356;text-transform:none;letter-spacing:normal;font-size:10px}

/* Project-specific MDR numbering catalogs and per-document number builder. */
.mdr-numbering-form,.mdr-builder-form{width:min(1040px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px #0f172a55}.mdr-builder-form{width:min(800px,96vw)}
.mdr-modal-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #dbe5eb;background:#fff}.mdr-modal-head h2{margin:0;color:#142b3c;font-size:20px}.mdr-modal-head p{margin:5px 0 0;color:#64748b;font-size:11px}.mdr-modal-head>button{width:32px;height:32px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font-size:19px}
.mdr-numbering-fields,.mdr-builder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 24px}.mdr-numbering-fields label,.mdr-builder-grid label{display:grid;gap:6px;color:#334155;font-size:11px;font-weight:800}.mdr-numbering-fields input,.mdr-numbering-fields select,.mdr-builder-grid input,.mdr-builder-grid select{width:100%;height:38px;box-sizing:border-box;margin:0;padding:8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#142b3c}.mdr-numbering-fields input:disabled,.mdr-numbering-fields select:disabled,.mdr-builder-grid input:disabled{background:#f1f5f9;color:#64748b}
.mdr-number-preview{margin:0 24px 20px;padding:14px 16px;border:1px solid #99f6e4;border-radius:8px;background:#f0fdfa;display:grid;gap:5px}.mdr-number-preview span{color:#0f766e;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.mdr-number-preview strong{overflow-wrap:anywhere;color:#134e4a;font:800 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.mdr-number-preview small{color:#55746f;font-size:9px}.mdr-number-preview.incomplete{border-color:#fdba74;background:#fff7ed}.mdr-number-preview.incomplete strong{color:#9a3412}
.mdr-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 24px 20px}.mdr-catalog{min-width:0;padding:12px;border:1px solid #dbe5eb;border-radius:8px;background:#f8fafc}.mdr-catalog-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mdr-catalog-title button{border:1px solid #60a5fa;border-radius:5px;background:#fff;color:#1d4ed8;font-size:10px;font-weight:800}.mdr-catalog-row{display:grid;grid-template-columns:78px minmax(0,1fr) 28px;gap:5px;margin-top:5px}.mdr-catalog-row input{width:100%;height:32px;box-sizing:border-box;padding:5px 7px;border:1px solid #cbd5e1;border-radius:5px}.mdr-catalog-row button{border:1px solid #fca5a5;border-radius:5px;background:#fff;color:#b91c1c}
.mdr-originator-codes{padding:0 24px 20px}.mdr-originator-codes h3{margin:0;color:#142b3c}.mdr-originator-codes p{margin:4px 0 10px;color:#64748b;font-size:10px}.mdr-originator-codes label{display:grid;grid-template-columns:minmax(220px,1fr) 140px;align-items:center;gap:10px;margin-top:5px;font-size:10px}.mdr-originator-codes input{height:32px;padding:5px 7px;border:1px solid #cbd5e1;border-radius:5px}.mdr-modal-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid #dbe5eb;background:#fff}
@media(max-width:750px){.mdr-numbering-fields,.mdr-builder-grid,.mdr-catalog-grid{grid-template-columns:1fr}.mdr-originator-codes label{grid-template-columns:1fr}.mdr-head-actions{justify-content:flex-start}}
.mdr-folder-picker{position:relative}
.mdr-folder-picker .mdr-folder-picker-input{width:100%;height:38px;box-sizing:border-box;padding:8px 26px 8px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#142b3c}
.mdr-folder-picker-caret{position:absolute;top:50%;right:9px;transform:translateY(-50%);color:#64748b;font-size:11px;pointer-events:none}
.mdr-folder-picker-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:250px;overflow:auto;padding:4px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 14px 34px #0f172a33}
.mdr-folder-picker-list button{display:block;width:100%;padding:7px 9px;border:0;border-radius:5px;background:none;color:#1f2937;font:600 11px/1.3 inherit;text-align:left;cursor:pointer}
.mdr-folder-picker-list button:hover,.mdr-folder-picker-list button.is-active{background:#e0f2f1;color:#0f766e}
.mdr-folder-picker-note{padding:7px 9px 3px;color:#64748b;font-size:10px}
.mdr-tree-selectbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid #dbe5eb;background:#f8fafc}
.mdr-tree-selectbar label{display:flex;align-items:center;gap:6px;color:#334155;font-size:10px;font-weight:700}
.mdr-tree-selectbar strong{color:#0f766e;font-size:11px}
.mdr-tree-selectbar-delete{border-color:#fca5a5;color:#b91c1c}
.mdr-tree-check{flex:0 0 auto;width:14px;height:14px;margin:0 6px 0 0}
.mdr-tree-row.mdr-tree-selected{background:#e0f2f1}
.mdr-tree-row.mdr-tree-selected strong{color:#0f766e}
.mdr-import-options{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:14px 24px 0}
.mdr-import-field{display:grid;gap:6px;color:#334155;font-size:11px;font-weight:800}
.mdr-import-field select{width:100%;height:38px;box-sizing:border-box;padding:8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#142b3c}
.mdr-import-option{display:flex;align-items:flex-start;gap:9px;color:#334155;font-size:11px;font-weight:700;line-height:1.45}
.mdr-import-option input{flex:0 0 auto;width:14px;height:14px;margin:1px 0 0}
.mdr-import-option span{display:block}
.mdr-import-hint{margin:2px 0 0;color:#64748b;font-size:10px;line-height:1.5}
@media(max-width:900px){.mdr-split{grid-template-columns:300px minmax(0,1fr);height:58vh}.mdr-tree-row{font-size:10px}.mdr-depth span{display:none}}
.mdr-issue-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:16px 0; padding:11px 14px; border:2px solid #ef4444; background:#fff1f2; color:#991b1b; border-radius:10px; }
.mdr-issue-bar-soon { border-color:#f59e0b; background:#fffbeb; color:#92400e; }
.mdr-issue-bar-icon { font-size:17px; line-height:1; }
.mdr-issue-bar-text { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; font-size:12px; }
.mdr-issue-bar-text strong { font-size:14px; }
.mdr-issue-bar-text span { color:#7f1d1d; opacity:.85; }
.mdr-issue-bar-soon .mdr-issue-bar-text span { color:#92400e; }
.mdr-issue-bar-toggle { margin-left:auto; white-space:nowrap; background:white; border-color:currentColor; color:inherit; font-weight:900!important; }
.mdr-issue-bar-hide { margin-left:6px; white-space:nowrap; padding:5px 10px; font-size:10px; font-weight:800; background:#fff; border-color:currentColor; color:inherit; }
.mdr-issue-chip { position:sticky; top:6px; z-index:20; margin:0 8px 6px 0; padding:6px 10px; font-size:11px; font-weight:800; color:#92400e; background:#fffbeb; border-color:#fcd34d; box-shadow:0 2px 6px rgba(15,23,42,.12); }
.mdr-issue-chip.is-overdue { color:#991b1b; background:#fff1f2; border-color:#fca5a5; }
.mdr-issue-panel { flex:1 1 100%; margin-top:9px; padding-top:9px; border-top:1px dashed rgba(153,27,27,.4); max-height:320px; overflow:auto; }
.mdr-issue-group + .mdr-issue-group { margin-top:10px; }
.mdr-issue-group h4 { margin:0 0 4px; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.mdr-issue-group div { font-size:12px; line-height:1.6; }
.mdr-filter-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 12px; padding:9px 12px; border:1px solid #99f6e4; background:#f0fdfa; border-radius:10px; font-size:11px; }
.mdr-filter-bar-count { font-weight:800; color:#0f766e; }
.mdr-filter-bar-chips { display:flex; flex-wrap:wrap; gap:6px; }
.mdr-filter-chip { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:999px; border:1px solid #5eead4; background:#ffffff; color:#115e59; font-size:10px; }
.mdr-filter-chip b { font-weight:900; }
.mdr-filter-reset { margin-left:auto; padding:5px 10px; font-size:10px; font-weight:800; }
.mdr-tree-filters { margin-top:8px; }
.mdr-tree-filters-title { display:flex; align-items:center; gap:4px; width:100%; padding:2px 0; border:0; background:transparent; font-size:9px; font-weight:800; letter-spacing:.06em; color:#41596a; text-align:left; }
.mdr-tree-filters-title:hover { color:#0f766e; }
.mdr-tree-filters-summary { display:flex; align-items:center; gap:6px; margin-top:3px; }
.mdr-tree-filters-summary small { flex:1; min-width:0; font-size:10px; color:#0f766e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mdr-tree-filters-summary button { flex:0 0 auto; border:1px solid #99f6e4; background:#fff; border-radius:5px; padding:2px 6px; font-size:9px; font-weight:800; color:#0f766e; }
.mdr-tree-filters-chips { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:5px; padding-bottom:3px; }
.mdr-tree-filters-chips::-webkit-scrollbar { height:6px; }
.mdr-tree-filters-chips label { display:inline-flex; flex:0 0 auto; align-items:center; gap:4px; border:1px solid #d6e0e6; background:#fff; border-radius:6px; padding:3px 6px; font-size:10px; font-weight:700; color:#4a6473; }
.mdr-tree-filters-chips label.is-active { border-color:#0f766e; background:#f0fdfa; color:#0f766e; }
.mdr-tree-filters-chips select { max-width:132px; border:none; background:transparent; font-size:10px; font-weight:700; color:inherit; outline:none; cursor:pointer; }
.mdr-tree-filters-reset { padding:4px 8px; font-size:10px; font-weight:800; }
.mdr-tree-filters-note { display:block; margin-top:3px; font-size:10px; color:#5c7383; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* Paste grid import: an Excel-like sheet the user fills or pastes into. */
.mdr-grid-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; padding:14px 24px 0; }
.mdr-grid-toolbar label { display:flex; flex-direction:column; gap:4px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:#587182; }
.mdr-grid-toolbar select { min-width:165px; padding:7px; border:1px solid #cbd8e2; border-radius:6px; background:#fff; font-size:11px; font-weight:600; color:#244355; }
.mdr-grid-toolbar .mdr-folder-picker { min-width:230px; }
.mdr-grid-toolbar .rw-btn { padding:8px 12px; font-size:11px; }
.mdr-grid-note { margin:10px 24px 0; font-size:10px; line-height:1.6; color:#64748b; }
.mdr-grid-wrap { margin:10px 24px 0; max-height:52vh; overflow:auto; border:1px solid #d7e4ec; border-radius:10px; }
.mdr-grid-table { min-width:1500px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:11px; }
.mdr-grid-table thead th { position:sticky; top:0; z-index:4; padding:8px; background:#eaf2f6; border-bottom:1px solid #c7dbe5; color:#587182; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; text-align:left; white-space:nowrap; }
.mdr-grid-table td { padding:4px; background:#fff; border-bottom:1px solid #e3edf2; }
.mdr-grid-table tr:nth-child(even) td { background:#fbfdfe; }
.mdr-grid-table input, .mdr-grid-table select { width:100%; padding:6px; border:1px solid #cbd8e2; border-radius:4px; background:#fff; font-size:11px; color:#1f3a4a; }
.mdr-grid-table input:focus, .mdr-grid-table select:focus { outline:none; border-color:#0f766e; box-shadow:0 0 0 2px #0f766e22; }
/* Widths by column role, so "+ Folder" can add levels without renumbering. */
.mdr-grid-table .mdr-grid-col-folder { width:172px; }
.mdr-grid-table .mdr-grid-col-number { width:190px; }
.mdr-grid-table .mdr-grid-col-name { width:240px; }
.mdr-grid-table .mdr-grid-col-code { width:200px; }
.mdr-grid-table .mdr-grid-col-date { width:130px; }
.mdr-grid-table .mdr-grid-row-no { width:34px; text-align:center; background:#f4f8fb; color:#94a3b8; font-weight:800; }
.mdr-grid-table .mdr-grid-row-drop { width:34px; text-align:center; }
.mdr-grid-table .mdr-grid-row-drop button { border:none; background:transparent; color:#b91c1c; font-size:14px; font-weight:800; cursor:pointer; }
/* Template import: mandatory download step, then the filled file. */
.mdr-import-steps { display:grid; gap:12px; padding:16px 24px 0; }
.mdr-import-step { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; padding:14px; border:1px solid #dbe5eb; border-radius:10px; background:#f8fbfc; }
.mdr-import-step-no { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:999px; background:#087f79; color:#fff; font-size:12px; font-weight:800; }
.mdr-import-step strong { display:block; color:#142b3c; font-size:12px; }
.mdr-import-step p { margin:4px 0 8px; color:#5c7383; font-size:10px; line-height:1.6; }
.mdr-import-step .mdr-builder-grid { padding:0; }
.mdr-import-step .rw-btn { display:inline-block; }
.mdr-template-download { text-decoration:none; }
/* Import preview / finished report: shows exactly which rows were read. */
.mdr-import-preview { margin:10px 24px 0; border:1px solid #dbe5eb; border-radius:10px; overflow:hidden; }
.mdr-import-preview>strong { display:block; padding:10px 12px; background:#eaf2f6; color:#142b3c; font-size:11px; }
.mdr-import-preview table { width:100%; border-collapse:collapse; font-size:10px; }
.mdr-import-preview th { padding:6px 8px; background:#f4f8fb; color:#587182; text-align:left; text-transform:uppercase; letter-spacing:.06em; font-size:9px; border-bottom:1px solid #e3edf2; }
.mdr-import-preview td { padding:6px 8px; border-bottom:1px solid #eef4f7; color:#1f3a4a; vertical-align:top; }
.mdr-import-empty { color:#b0bec5; }
.mdr-import-more { padding:8px 12px; color:#64748b; font-size:10px; }
.mdr-import-skipped { color:#b45309; font-weight:700; }
.mdr-import-added { color:#0f766e; font-weight:700; }
.mdr-import-report { margin:12px 24px 16px; border:1px solid #b7e0d4; border-radius:10px; background:#f0fdfa; padding:14px; }
.mdr-import-report-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.mdr-import-report-badge { border-radius:999px; background:#087f79; color:#fff; font-size:10px; font-weight:800; letter-spacing:.06em; padding:3px 10px; text-transform:uppercase; }
.mdr-import-report-facts { margin:4px 0 0; padding-left:16px; list-style:disc; color:#33566a; font-size:10px; line-height:1.7; }
.mdr-import-report-error { color:#b91c1c; font-weight:700; }
.mdr-import-report .mdr-import-preview { margin:10px 0 0; background:#fff; }
