/* Shared dialog system: explicit actions, calm surfaces, readable content. */
dialog{color:var(--theme-ink,#243e36);background:var(--theme-surface,#f8fbfa);border:1px solid #ffffffb8;border-radius:24px;box-shadow:0 28px 100px #173c3940;max-width:calc(100vw - 32px);max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#173c3959;backdrop-filter:blur(8px)}#modal .modal-heading{background:var(--theme-surface,#f8fbfa);border-bottom:1px solid #dce6e1;gap:20px;padding:22px 26px;position:sticky;top:0;z-index:5}#modal .modal-heading h2{font-size:21px;font-weight:650;letter-spacing:-.35px;line-height:1.35;margin:0}#modalClose,dialog .closeWorkshopDocument{background:#e9f1ed;border:1px solid #cbded3;border-radius:12px;min-height:44px;min-width:44px;color:#2d5745;flex-shrink:0}#modal .modal-content{padding:24px 26px;scrollbar-gutter:stable;line-height:1.6}dialog button{border:1px solid #cbdcd3;background:#eaf2ed;color:#294e3c;border-radius:10px;min-height:40px;font-weight:600;line-height:1.4;transition:background .15s,box-shadow .15s}dialog button:hover{background:#dcece2;box-shadow:0 2px 8px #204a3010}dialog button.primary{background:#087f6d;color:#fff;border-color:#076c5c;box-shadow:0 4px 12px #087f6d20}dialog button.primary:hover{background:#066756}dialog button.danger{color:#a23f36;background:#fff0ec;border-color:#efd0c8}dialog button:disabled{opacity:.45;cursor:not-allowed}dialog button:focus-visible,dialog summary:focus-visible{outline:3px solid #65bca9;outline-offset:3px}dialog :is(input,select,textarea){border:1px solid #cadbd1;border-radius:10px;min-height:42px;max-width:100%;background:var(--theme-surface,#fff);color:inherit;padding:10px 12px}dialog input[type=checkbox],dialog input[type=radio]{min-height:18px;min-width:18px;padding:0}dialog .modal-content form{min-width:0}dialog .modal-content form>label:not(:has(input[type=checkbox])){display:grid;gap:7px;margin:14px 0;font-size:12px;font-weight:600}dialog .modal-content form>button{margin-top:12px;margin-right:6px}dialog .check-item{padding:16px 18px;border:1px solid #d9e5dd;border-radius:14px;background:#f7faf8;margin:12px 0}dialog .check-item p{margin:0 0 12px}dialog .tableScroll{border:1px solid #dbe5df;border-radius:12px;margin:14px 0;overflow:auto}dialog th{background:#ecf3ee;font-weight:650}dialog :is(td,th){padding:12px;text-align:left}dialog .modal-content details:not(.hw-technical):not(.hw-purchases){border:1px solid #dbe5df;border-radius:12px;padding:12px 16px;margin:12px 0}dialog summary{cursor:pointer;font-weight:650}dialog .hint,dialog .notice{line-height:1.7}.workshop-admin-dialog{padding:24px;overflow:auto}.workshop-admin-dialog>.closeWorkshopDocument{position:sticky;top:0;float:right;z-index:4}.hw-focused{outline:3px solid #e6ae38;outline-offset:-3px;scroll-margin-top:12px}
#modal:has(.design-review-dialog){width:min(1020px,96vw);max-width:1020px;background:#eff4f1;max-height:92dvh}#modal:has(.design-review-dialog) .modal-content{max-height:calc(92dvh - 90px);background:#eff4f1}.design-review-dialog{display:grid;gap:24px;color:#294338}.review-intro{padding:22px 24px;border:1px solid #d5e5da;border-radius:18px;background:linear-gradient(125deg,#e4f0e8,#fbfdfc)}.review-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#407758}.review-intro h3{font-size:24px;letter-spacing:-.5px;margin:8px 0}.review-intro p{margin:0;line-height:1.65;color:#536c5e}.review-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-metrics>div{display:grid;gap:5px;padding:18px 20px;border:1px solid #d9e5dd;border-radius:16px;background:#fff}.review-metrics strong{font-size:29px;line-height:1.1;color:#9b621d}.review-metrics span{font-size:12px;color:#587061}.review-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-section-title h3,.review-other h3{font-size:18px;margin:0}.review-section-title>span{font-size:12px;color:#476f53;background:#e1eee4;padding:5px 10px;border-radius:20px;white-space:nowrap}.review-note{font-size:12px;color:#657566;line-height:1.7;margin:12px 0 16px}.review-module{border:1px solid #e7cd91;border-left:4px solid #d99c27;background:#fffdf7;border-radius:16px;padding:20px;margin-top:14px}.review-module.is-complete{border-color:#c8dfce;border-left-color:#389769;background:#f8fcf9}.review-module-title{display:flex;gap:12px;align-items:center}.review-number{background:#f6e9c9;color:#805a20;border-radius:10px;min-width:40px;height:36px;display:grid;place-items:center;font-weight:700}.review-module-title h4{font-size:15px;margin:0;line-height:1.5}.review-module-title>div{flex:1;min-width:0}.review-module-title>div>span{font-size:12px;color:#8b722e}.review-status{color:#8e611d;background:#f9e8bd;border:1px solid #f0d89d;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;white-space:nowrap}.is-complete .review-status{background:#e0f0e4;border-color:#c5dfce;color:#33734b}.review-requirements{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.review-requirements>div{display:flex;gap:10px;justify-content:space-between;border:1px solid #eee0bc;border-radius:10px;padding:10px 12px;font-size:12px}.review-requirements strong{white-space:nowrap}.review-requirements .is-missing{background:#fff4d9;color:#835b17}.review-requirements .is-assigned{background:#edf7ef;border-color:#d6e6d9;color:#32714b}.review-actions{display:flex;gap:10px;flex-wrap:wrap}.review-actions button{min-height:44px}.review-issue{border:1px solid #e3d2a5;border-radius:14px;padding:16px 18px;margin-top:12px;background:#fffaf0;display:flex;align-items:center;gap:18px;justify-content:space-between}.review-issue.error{background:#fff1ef;border-color:#ebc3bb}.review-issue.info{background:#f2f7f5;border-color:#d2e2d9}.review-issue p{margin:0;flex:1}.review-issue button{flex-shrink:0}.review-empty{padding:20px;border-radius:12px;background:#f7fbf8;border:1px solid #d4e3d8;color:#42624d}
@media(max-width:650px){dialog{max-width:100%;border-radius:22px 22px 0 0}#modal .modal-heading{padding:18px;gap:12px}#modal .modal-heading h2{font-size:19px}#modal .modal-content{padding:16px 18px calc(24px + env(safe-area-inset-bottom))}dialog button{min-height:44px}dialog :is(input,select,textarea){font-size:16px}#modal:has(.design-review-dialog){width:100%;max-width:100%;max-height:92dvh}.review-intro{padding:18px}.review-intro h3{font-size:21px}.review-metrics{gap:8px}.review-metrics>div{padding:12px 10px}.review-metrics strong{font-size:23px}.review-metrics span{font-size:10px}.review-module{padding:15px}.review-module-title{flex-wrap:wrap;gap:9px}.review-module-title>div{flex-basis:calc(100% - 52px)}.review-status{margin-left:49px}.review-requirements{grid-template-columns:1fr}.review-actions{display:grid;grid-template-columns:1fr}.review-issue{display:grid;gap:12px}.review-issue button{justify-self:start}.review-section-title{align-items:flex-start}.review-section-title h3{font-size:16px}.design-review-dialog{gap:18px}}
@media(prefers-reduced-motion:reduce){dialog button{transition:none}}
