/* MIWork 0.7T.1 Stage A: accessible rules editor overlay.
   The edit form is rendered inside the journal table for semantic continuity,
   but when opened it is promoted to a viewport-level editor so table-column
   width and horizontal scroll can never clip its controls. */

.rule-edit-control[open]::before {
    content:"";
    position:fixed;
    inset:64px 0 0;
    z-index:40;
    background:rgba(15,28,40,.42);
    backdrop-filter:blur(1px);
}

.rule-edit-control[open] > summary {
    position:fixed;
    top:92px;
    left:50%;
    width:min(1120px,calc(100vw - 48px));
    transform:translateX(-50%);
    z-index:52;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    min-height:38px;
    padding:0 14px;
    border:0;
    color:transparent;
    cursor:pointer;
    pointer-events:none;
}

.rule-edit-control[open] > summary::after {
    content:"Закрыть ×";
    pointer-events:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 12px;
    border:1px solid #c7d4df;
    border-radius:9px;
    background:#fff;
    color:#315570;
    box-shadow:0 5px 18px rgba(30,54,84,.14);
    font-size:13px;
    font-weight:800;
}

.rule-edit-control[open] > summary::after:hover {
    background:#eef4f8;
}

.rule-edit-control[open] .rule-edit-form {
    position:fixed;
    top:84px;
    left:50%;
    z-index:50;
    transform:translateX(-50%);
    width:min(1120px,calc(100vw - 48px));
    max-width:none;
    min-width:0;
    max-height:calc(100vh - 116px);
    overflow:auto;
    overscroll-behavior:contain;
    margin:0;
    padding:58px 22px 22px;
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:13px;
    border:1px solid #cbd8e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 70px rgba(16,35,52,.30);
}

.rule-edit-control[open] .rule-edit-form::before {
    content:"Изменение правила";
    position:absolute;
    top:20px;
    left:22px;
    color:#203a52;
    font-size:18px;
    font-weight:850;
}

.rule-edit-control[open] .rule-edit-form label,
.rule-edit-control[open] .rule-edit-form select,
.rule-edit-control[open] .rule-edit-form input,
.rule-edit-control[open] .rule-edit-form textarea {
    min-width:0;
}

.rule-edit-control[open] .rule-edit-form .checkbox-line,
.rule-edit-control[open] .rule-edit-form > .primary,
.rule-edit-control[open] .rule-edit-form > .secondary,
.rule-edit-control[open] .rule-edit-form > .danger {
    align-self:end;
}

@media (max-width:980px) {
    .rule-edit-control[open] > summary,
    .rule-edit-control[open] .rule-edit-form {
        width:calc(100vw - 32px);
    }

    .rule-edit-control[open] .rule-edit-form {
        grid-template-columns:repeat(2,minmax(160px,1fr));
    }
}

@media (max-width:680px) {
    .rule-edit-control[open]::before {
        inset:0;
    }

    .rule-edit-control[open] > summary {
        top:14px;
        width:calc(100vw - 20px);
    }

    .rule-edit-control[open] .rule-edit-form {
        top:10px;
        width:calc(100vw - 20px);
        max-height:calc(100vh - 20px);
        padding:58px 14px 16px;
        grid-template-columns:1fr;
        border-radius:13px;
    }

    .rule-edit-control[open] .rule-edit-form::before {
        left:14px;
    }
}

/* MIWork 0.7T.1 Stage B: personal work catalog. */
.personal-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:12px 14px;border:1px solid #cfe0ec;border-radius:12px;background:#f5faff}.personal-catalog-toolbar>div:first-child{display:grid;gap:3px}.personal-catalog-toolbar span{color:var(--muted);font-size:12px}.personal-catalog-toolbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.personal-catalog-form{display:grid;gap:18px}.personal-catalog-enable{padding:14px;border:1px solid #d7e5ef;border-radius:12px;background:#f7fbfe}.personal-catalog-enable span{display:block}.personal-catalog-enable small{color:var(--muted);font-weight:500}.personal-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.personal-catalog-section{min-width:0;border:1px solid var(--line);border-radius:13px;background:#fbfcfe;padding:14px}.personal-catalog-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.personal-catalog-section-title h2{margin:0;font-size:18px}.personal-catalog-section-title span{display:inline-flex;min-width:28px;justify-content:center;padding:4px 8px;border-radius:999px;background:#e8f1f7;color:#315570;font-size:12px;font-weight:800}.personal-catalog-options{display:grid;gap:7px;max-height:54vh;overflow:auto;padding-right:4px}.personal-catalog-option{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid #e0e7ed;border-radius:9px;background:#fff;font-weight:600}.personal-catalog-option:hover{background:#f3f8fc}.personal-catalog-option input{width:auto;margin-top:3px}.personal-catalog-option span{display:grid;gap:2px;min-width:0}.personal-catalog-option small{color:var(--muted);font-weight:500}.personal-catalog-hint{margin:0 0 10px;font-size:12px}.personal-catalog-actions{padding-top:4px;border-top:1px solid var(--line)}
@media(max-width:1050px){.personal-catalog-grid{grid-template-columns:1fr 1fr}.personal-catalog-section:last-child{grid-column:1/-1}}@media(max-width:720px){.personal-catalog-toolbar{align-items:flex-start;flex-direction:column}.personal-catalog-grid{grid-template-columns:1fr}.personal-catalog-section:last-child{grid-column:auto}.personal-catalog-options{max-height:none}}

/* MIWork 0.7T.1 Stage C: non-destructive offline-work reminder. */
.offline-work-reminder-panel{margin:-6px 0 22px;padding:16px 18px;border:1px solid #edcf9e;border-left:5px solid #d89022;border-radius:14px;background:#fffaf0;box-shadow:var(--shadow)}.offline-work-reminder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.offline-work-reminder-heading>div{display:grid;gap:4px}.offline-work-reminder-heading>div>strong{font-size:17px;color:#5d430d}.offline-work-reminder-heading>div>span,.offline-work-reminder-panel>p{color:#705d38}.offline-work-reminder-count{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:#f6dfb8;color:#704b08;font-weight:850}.offline-work-reminder-panel>p{margin:10px 0 13px}.offline-work-reminder-list{display:grid;gap:8px}.offline-work-reminder-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #ead9ba;border-radius:10px;background:#fff}.offline-work-reminder-row>div:first-child{display:grid;gap:2px}.offline-work-reminder-row>div:first-child span{font-size:12px;color:var(--muted)}.offline-work-reminder-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.offline-work-reminder-actions button{white-space:nowrap}
@media(max-width:720px){.offline-work-reminder-heading,.offline-work-reminder-row{align-items:flex-start;flex-direction:column}.offline-work-reminder-actions{width:100%}.offline-work-reminder-actions button{flex:1}}
