:root{--pn-bg: #faf9f8;--pn-surface: #ffffff;--pn-border: #e1dfdd;--pn-text: #201f1e;--pn-text-muted: #605e5c;--pn-primary: #0f6cbd;--pn-primary-hover: #115ea3;--pn-danger: #a4262c;--pn-disabled-bg: #edebe9;--pn-disabled-border: #d2d0ce;--pn-primary-contrast: #ffffff;--pn-radius: 6px;--pn-shadow: 0 1.6px 3.6px rgba(0, 0, 0, .12), 0 .3px .9px rgba(0, 0, 0, .1);--pn-font: "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--pn-font);color:var(--pn-text);background:var(--pn-bg);font-size:14px}.pn-shell{display:flex;flex-direction:column;height:100%}.pn-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--pn-surface);border-bottom:1px solid var(--pn-border)}.pn-header__back{border:none;background:transparent;cursor:pointer;font-size:16px;padding:4px 6px;border-radius:var(--pn-radius);color:var(--pn-text-muted)}.pn-header__back:hover{background:var(--pn-bg)}.pn-header__title{font-weight:600;font-size:15px}.pn-header__crumb{color:var(--pn-text-muted);font-size:13px}.pn-content{flex:1;overflow-y:auto;padding:12px}.pn-modules{display:grid;grid-template-columns:1fr;gap:8px}.pn-module-tile{display:flex;align-items:center;gap:12px;padding:12px;background:var(--pn-surface);border:1px solid var(--pn-border);border-radius:var(--pn-radius);cursor:pointer;text-align:left;width:100%}.pn-module-tile:hover{border-color:var(--pn-primary)}.pn-module-tile__icon{font-size:22px;width:32px;text-align:center}.pn-module-tile__title{font-weight:600}.pn-module-tile__desc{color:var(--pn-text-muted);font-size:12px}.pn-stack{display:flex;flex-direction:column}.pn-btn{font-family:inherit;font-size:14px;padding:7px 14px;border-radius:var(--pn-radius);border:1px solid transparent;cursor:pointer}.pn-btn--primary{background:var(--pn-primary);color:var(--pn-primary-contrast)}.pn-btn--primary:hover{background:var(--pn-primary-hover)}.pn-btn--secondary{background:var(--pn-surface);border-color:var(--pn-border);color:var(--pn-text)}.pn-btn--ghost{background:transparent;color:var(--pn-primary)}.pn-card{background:var(--pn-surface);border:1px solid var(--pn-border);border-radius:var(--pn-radius);padding:12px}.pn-card--clickable{cursor:pointer}.pn-card--clickable:hover{border-color:var(--pn-primary)}.pn-card__title{font-weight:600;margin-bottom:6px}.pn-empty{text-align:center;padding:32px 16px;color:var(--pn-text-muted)}.pn-empty__icon{font-size:32px;margin-bottom:8px}.pn-empty__title{font-weight:600;color:var(--pn-text)}.pn-empty__hint{font-size:12px;margin-top:4px}.pn-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--pn-text-muted)}.pn-field input,.pn-field select,.pn-field textarea{font-family:inherit;font-size:14px;color:var(--pn-text);padding:7px 9px;border:1px solid var(--pn-border);border-radius:var(--pn-radius);background:var(--pn-surface);width:100%}.pn-field textarea{resize:vertical;min-height:72px}.pn-field textarea.pn-textarea--tall{min-height:clamp(220px,42vh,560px);line-height:1.45}.pn-field input:focus,.pn-field select:focus,.pn-field textarea:focus{outline:none;border-color:var(--pn-primary)}.pn-field [aria-invalid=true]{border-color:var(--pn-danger)}.pn-required{color:var(--pn-danger)}.pn-error{color:var(--pn-danger);font-size:12px}.pn-readonly{display:flex;align-items:center;padding:7px 9px;border:1px solid var(--pn-disabled-border);border-radius:var(--pn-radius);background:var(--pn-disabled-bg);color:var(--pn-text-muted);min-height:34px;cursor:not-allowed;-webkit-user-select:none;user-select:none}.pn-readonly__empty{font-style:italic}.pn-actions{display:flex;gap:8px;margin-top:4px}.pn-banner{padding:9px 12px;border-radius:var(--pn-radius);font-size:13px}.pn-banner--success{background:#dff6dd;border:1px solid #9fd89f;color:#0e700e}.pn-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.pn-modal{background:var(--pn-surface);border-radius:var(--pn-radius);box-shadow:var(--pn-shadow);max-width:360px;width:100%;padding:20px}.pn-modal__title{font-weight:600;font-size:16px;margin-bottom:8px}.pn-modal__body{color:var(--pn-text);font-size:14px;line-height:1.5}.pn-modal__actions{display:flex;justify-content:flex-end;margin-top:16px}.pn-context-bar{font-size:12px;color:var(--pn-text-muted);padding:6px 12px;background:var(--pn-bg);border-bottom:1px solid var(--pn-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
