.panel-button{background:var(--color-bg-card,#fff);min-width:44px;min-height:48px;color:var(--color-text-primary,#111827);font:inherit;cursor:pointer;text-align:center;box-sizing:border-box;border:1px solid #8994a4;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.panel-button--primary{background:var(--color-primary,#111827);color:#fff;border-color:#0000}.panel-button--ghost{background:0 0;border-color:#0000}.panel-button--danger{color:#b91c1c;background:#fff;border-color:#dc2626}.panel-button:disabled{opacity:.55;cursor:not-allowed}.panel-button:not(:disabled):active{opacity:.8}.panel-button svg{flex-shrink:0}.panel-icon-button{flex-shrink:0;width:44px;min-height:44px;padding:10px}.panel-button:focus-visible,.panel-form input:focus-visible,.panel-form select:focus-visible,.panel-form textarea:focus-visible,.panel-form summary:focus-visible{outline:3px solid var(--color-primary,#111827);outline-offset:3px}.panel-dialog-overlay{z-index:14000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182766;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.panel-dialog{background:var(--color-bg-card,#fff);width:100%;min-width:0;height:100dvh;color:var(--color-text-primary,#111827);outline:none;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 64px #11182726}.panel-dialog-header{padding:max(16px, env(safe-area-inset-top)) 16px 16px;border-bottom:1px solid var(--color-border,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:start;gap:12px;display:flex}.panel-dialog-header h2{overflow-wrap:anywhere;margin:6px 0 0;font-size:20px;font-weight:700;line-height:1.3}.panel-dialog-header p{color:var(--color-text-secondary,#4b5563);margin:6px 0 0;font-size:13px}.panel-dialog-body{overscroll-behavior:contain;flex:1;min-height:0;padding:20px 16px;overflow-y:auto}.panel-dialog-footer{padding:12px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--color-border,#e5e7eb);background:var(--color-bg-card,#fff);flex-direction:column-reverse;flex-shrink:0;gap:8px;display:flex}.panel-dialog-footer>.panel-button{width:100%}.panel-dialog-overlay.is-compact{align-items:center;padding:16px}.is-compact>.panel-dialog{border-radius:24px;max-width:420px;height:auto;max-height:calc(100dvh - 32px)}.panel-form{font-size:16px}.panel-form fieldset{border:0;min-width:0;margin:0 0 24px;padding:0}.panel-form legend{margin-bottom:16px;padding:0;font-size:16px;font-weight:700}.panel-form label{margin:0 0 6px;font-size:14px;font-weight:600;display:block}.panel-form input:not([type=checkbox]):not([type=file]),.panel-form select,.panel-form textarea{background:var(--color-bg-card,#fff);width:100%;min-height:48px;color:var(--color-text-primary,#111827);font:inherit;box-sizing:border-box;border:1px solid #8994a4;border-radius:10px;padding:11px 12px;font-size:16px}.panel-form input:disabled,.panel-form select:disabled{background:var(--color-bg-app,#f9fafb);color:#4b5563;cursor:not-allowed}.panel-form textarea{resize:vertical;min-height:88px}.panel-form .panel-field{min-width:0;margin-bottom:16px}.panel-form .panel-field:last-child{margin-bottom:0}.panel-field-row{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.panel-field-row>.panel-field{margin:0}.panel-help{color:var(--color-text-secondary,#4b5563);margin:6px 0 12px;font-size:13px;line-height:1.6}.panel-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:12px;font-size:14px}@media (hover:hover){.panel-button:not(:disabled):hover{background:var(--color-primary-light,#f3f4f6)}.panel-button--primary:not(:disabled):hover{background:var(--color-primary-dark,#030712)}.panel-button--danger:not(:disabled):hover{background:#fef2f2}}@media (width>=769px){.panel-dialog-overlay{align-items:center;padding:24px}.panel-dialog{border-radius:24px;max-width:560px;height:auto;max-height:min(90dvh,900px)}.panel-dialog-header,.panel-dialog-body{padding:24px}.panel-dialog-footer{flex-direction:row;justify-content:flex-end;gap:12px;padding:16px 24px}.panel-dialog-footer>.panel-button{width:auto}.panel-field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.panel-button{transition:none}}
