:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.portal-page{opacity:1;filter:none;margin:0 auto;padding:24px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.portal-page--narrow{max-width:520px}.portal-page--wide{max-width:720px}.portal-header{opacity:.8;font-size:13px}.portal-title{margin-top:6px}.portal-pill{opacity:.9;border:1px solid #e5e7eb;border-radius:999px;margin-top:8px;padding:4px 10px;font-size:12px;display:inline-block}.portal-card{border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;margin-top:16px;padding:16px;display:flex}.portal-card--template{position:relative;overflow:hidden}.portal-template-band{width:100%;height:8px;position:absolute;top:0;left:0}.portal-template-band-classic{background:#94a3b838}.portal-template-band-modern{background:#cbd5e13d}.portal-template-band-bold{background:#111827}.portal-template-band-minimal{background:#94a3b833}.portal-template-band-creative{background:linear-gradient(90deg,#3b82f6d9,#10b981cc)}.portal-template-band-contractor{background:#64748b8c}.portal-template-classic{border-color:#94a3b859}.portal-template-modern{border-color:#cbd5e161;padding:18px}.portal-template-bold{border-color:#1f29378c}.portal-template-minimal{border-color:#94a3b84d;padding:14px}.portal-template-creative{background:linear-gradient(#3b82f614 0%,#10b9810f 55%,#0000 100%);border-color:#3b82f659}.portal-template-contractor{border-color:#64748b8c}.portal-card--stack{flex-direction:column;align-items:stretch;padding:14px}.portal-card--success{border-color:#16a34a}.portal-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;margin-top:16px;padding:14px}.portal-error--compact{border-radius:8px;padding:12px}.portal-muted{opacity:.7}.portal-small{font-size:13px}.portal-actions{gap:12px;margin-top:20px;display:flex}.portal-actions--stack{flex-direction:column}.portal-btn-primary{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:10px;width:100%;margin-top:20px;padding:14px 16px;font-size:16px;transition:background .16s,transform .16s,box-shadow .16s}.portal-btn-secondary{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;margin-top:12px;padding:12px 16px;font-size:15px;transition:background .16s,transform .16s,box-shadow .16s}.portal-link-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.portal-divider{border-top:1px solid #ffffff24;margin-top:6px;padding-top:6px}.portal-table-wrap{-webkit-overflow-scrolling:touch;background:#11182740;border:1px solid #ffffff24;border-radius:10px;margin-top:10px;overflow-x:auto}.portal-template-table-modern .portal-table tr:nth-child(odd),.portal-template-table-creative .portal-table tr:nth-child(odd){background:#94a3b82e}.portal-template-table-bold .portal-table thead{background:#0f172a}.portal-template-table-minimal .portal-table th,.portal-template-table-minimal .portal-table td{padding-top:6px;padding-bottom:6px}.portal-template-table-minimal .portal-table tr{border-top-color:#ffffff0f}.portal-template-table-contractor .portal-table th{font-weight:800}.portal-template-table-contractor .portal-table tr{border-top-color:#fff3}.portal-table{border-collapse:collapse;color:#f9fafb;width:100%;min-width:420px;font-size:13px}.portal-table thead{background:#111827}.portal-table th{text-align:left;color:#e5e7eb;z-index:2;background:#111827;padding:8px 10px;font-weight:700;position:sticky;top:0}.booking-label{margin-top:14px;font-size:14px;font-weight:600}.booking-input,.booking-textarea{border:1px solid #e5e7eb;border-radius:10px;margin-top:6px;padding:12px 14px;font-family:inherit;font-size:15px}.booking-textarea{resize:vertical}.booking-input:focus,.booking-textarea:focus{border-color:#11182759;outline:2px solid #11182740}.portal-table th.portal-table-right{text-align:right}.portal-table th.portal-table-qty{width:64px}.portal-table th.portal-table-unit{width:96px}.portal-table th.portal-table-amount{width:110px}.portal-table tr{color:#f9fafb;background:#11182759;border-top:1px solid #ffffff1a}.portal-table td{color:#e5e7eb;padding:8px 10px}.portal-table td.portal-table-strong{color:#f9fafb;font-weight:700}.portal-line-title{color:#f9fafb;font-weight:600}.portal-line-desc{color:#cbd5e1;margin-top:2px;font-size:12px;line-height:1.35}.portal-line-toggle{color:#93c5fd;cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:12px;text-decoration:underline}.portal-body-box{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:16px;padding:16px}.portal-pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.5}.portal-contract-viewer{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;min-height:70vh;overflow:hidden}.portal-contract-pdf{filter:none;background:#111;border:0;width:100%;height:70vh;display:block}.portal-contract-html{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;padding:12px}.portal-contract-body-box{background:#111827;border:1px solid #ffffff1f;max-height:70vh;margin-top:0;overflow:auto}.portal-contract-body-box .portal-pre{color:#f3f4f6;line-height:1.65}.portal-tabs{margin-top:24px}.portal-tab-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-right:8px;padding:8px 12px;font-size:14px}.portal-tab-btn.is-active{color:#fff;background:#111827;border-color:#111827}.portal-list{margin-top:16px;padding-left:18px}.portal-list a{text-decoration:underline}.portal-btn-primary:hover{background:#0f172a;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a2e}.portal-btn-primary:focus-visible,.portal-btn-secondary:focus-visible,.portal-link-btn:focus-visible,.portal-line-toggle:focus-visible,.portal-tab-btn:focus-visible,.portal-list a:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.portal-btn-secondary:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.portal-line-toggle:hover{color:#60a5fa}.portal-spinner{border:2px solid #1e4ea238;border-top-color:#1e4ea2;border-radius:999px;width:14px;height:14px;animation:.9s linear infinite portal-spin;display:inline-block}.portal-spinner--success{border-color:#15803d #16a34a38 #16a34a38}@keyframes portal-spin{to{transform:rotate(360deg)}}.portal-list a:hover{color:#111827}.portal-tab-btn:hover{background:#f9fafb}.portal-tab-btn.is-active:hover{background:#0f172a}.portal-skeleton-card{position:relative;overflow:hidden}.portal-skeleton-card:after{content:"";background:linear-gradient(110deg,#fff0 0%,#ffffff73 45%,#fff0 80%);animation:1.4s infinite portal-shimmer;position:absolute;inset:0;transform:translate(-120%)}.portal-skeleton-line{background:#e5e7eb;border-radius:6px;height:12px}.portal-skeleton-line--muted{background:#f1f5f9;border-radius:6px;height:10px}.portal-skeleton-pill{background:#e5e7eb;border-radius:999px;height:18px}@keyframes portal-shimmer{to{transform:translate(120%)}}@media (max-width:640px){.portal-actions{flex-direction:column}.portal-actions>*{flex:auto;width:100%}}
