/* Product screens retain the supplied Ovi prototype's palette, type and seamed controls. */
[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--ink);color:white;padding:12px}
.skip-link:focus{top:10px}
.product-loading{padding:15vh 10vw;font-family:var(--display);font-size:24px}
.product-auth .login-form{overflow:auto;gap:24px;max-width:680px;padding:50px 64px}
.product-auth .login-art{overflow:hidden;position:relative;min-height:100vh}
.product-auth .login-art h1{position:relative;z-index:1;max-width:440px}
.product-auth .word{z-index:1}
.product-auth .loop{position:relative;z-index:1;flex-wrap:wrap;max-width:380px}
.product-orbit{position:absolute;inset:15% -18% 16% 8%;border:1px solid #ffffff60;border-radius:48% 52% 44% 56%;transform:rotate(-24deg)}
.product-orbit::before,.product-orbit::after{content:"";position:absolute;inset:10%;border:1px solid #ffffff80;border-radius:inherit}
.product-orbit::after{inset:22%;border-width:2px}
.product-auth h2{font-family:var(--display);font-size:34px;font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:12px 0}
.product-auth form,.product-form{display:flex;flex-direction:column;gap:18px}
.product-auth .field input,.product-form input,.product-form select,.product-form textarea{width:100%;min-height:44px}
.product-auth .field label,.product-form label{display:block;margin-bottom:7px;font-size:12px;font-weight:500}
.product-auth .field small{display:block;margin-top:6px;color:var(--muted)}
.product-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.product-notice{padding:14px 16px;border-radius:6px;border:1px solid var(--line);background:var(--panel);line-height:1.6}
.product-notice.error{color:var(--fail);border-color:var(--blush);background:var(--fail-t)}
.product-notice.success{color:var(--pass);background:var(--pass-t)}
.product-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.product-side{background:var(--panel);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;gap:32px}
.product-brand{font-family:var(--display);font-size:48px;line-height:1;letter-spacing:-.08em;color:var(--red);font-weight:500}
.product-side nav{display:flex;flex-direction:column;gap:7px}
.product-nav{border:0;background:transparent;text-align:left;border-radius:6px;padding:12px;font-size:14px;cursor:pointer}
.product-nav[aria-current=page]{background:var(--paper);font-weight:500}
.product-side footer{margin-top:auto;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.product-content{min-width:0}
.product-top{padding:20px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--panel)}
.product-main{max-width:1240px;margin:0 auto;padding:44px 40px 80px}
.product-main h1{font-family:var(--display);font-size:38px;font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:10px 0 14px}
.product-main h2{font-family:var(--display);font-size:21px;font-weight:500;margin:0 0 18px}
.product-lede{font-size:15px;color:var(--muted);max-width:650px;margin-bottom:30px}
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}
.product-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px;min-width:0}
.product-card+.product-card{margin-top:22px}
.product-grid>.product-card+.product-card{margin-top:0}
.product-card p{line-height:1.65}
.product-form{max-width:650px}
.product-form input,.product-form select,.product-form textarea{border:1px solid var(--line2);border-radius:5px;background:white;padding:11px 12px}
.product-form textarea{min-height:90px;resize:vertical}
.product-table-wrap{overflow-x:auto;margin-top:22px}
.product-table{width:100%;border-collapse:collapse;font-size:13px}
.product-table th{text-align:left;font-family:var(--mono);font-size:10px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.product-table th,.product-table td{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.product-table td .product-actions{gap:12px}
.product-table .link{font-size:12px}
.product-list{list-style:none;padding:0;margin:0}
.product-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}
.product-copy{overflow-wrap:anywhere;font-family:var(--mono);font-size:12px;color:var(--muted)}
.product-evidence{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;font-size:12px;background:var(--paper);padding:14px;border-radius:5px}
.product-card details{padding:14px 0;border-bottom:1px solid var(--line)}
.product-card summary{cursor:pointer;font-weight:500}
.product-card audio{width:100%;margin:16px 0}
.product-empty{padding:45px 12px;text-align:center;color:var(--muted)}
.product-spinner{padding:40px 0;color:var(--muted)}
.product-form button:disabled{cursor:wait;opacity:.5}
.product-section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}
@media(max-width:800px){.product-shell{grid-template-columns:1fr}.product-side{border-right:0;border-bottom:1px solid var(--line);padding:18px 22px;gap:18px}.product-side nav{flex-direction:row;flex-wrap:wrap}.product-side footer{display:none}.product-brand{font-size:36px}.product-top{padding:16px 22px}.product-main{padding:28px 22px 60px}.product-main h1{font-size:30px}.product-auth .login-form{padding:36px 24px;max-width:none}.product-auth .login-art{min-height:320px}.product-auth .login-art h1{font-size:36px}.product-auth .login-art .loop{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Ovi selects: shared palette, separated chevron, compact readable option menu. */
.product-select{position:relative;min-width:0;width:100%;isolation:isolate}
.product-select.is-open{z-index:50}
.product-select .product-native-select{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;pointer-events:none;clip-path:inset(50%)}
.product-select-trigger{display:flex;align-items:stretch;width:100%;max-width:100%;min-height:48px;padding:0;border:1px solid var(--line2);border-radius:10px;background:var(--white,#fff);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.product-select-trigger:hover{border-color:var(--ink)}
.product-select-trigger:focus-visible,.product-select.is-open .product-select-trigger{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--fail-t)}
.product-select-trigger[aria-invalid=true]{border-color:var(--fail)}
.product-select .product-select-trigger:disabled{cursor:not-allowed;opacity:.55;background:var(--paper)}
.product-select-value{display:block;flex:1;min-width:0;padding:13px 16px;font-size:14px;font-weight:450;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-select-arrow{display:grid;place-items:center;flex:0 0 46px;border-left:1px solid var(--line);color:var(--muted)}
.product-select-arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.product-select.is-open .product-select-arrow svg{transform:rotate(180deg);color:var(--red)}
.product-select-menu{position:absolute;top:calc(100% + 7px);left:0;right:0;min-width:100%;overflow:auto;overscroll-behavior:contain;z-index:60;border:1px solid var(--line2);border-radius:10px;padding:5px;background:var(--white,#fff);box-shadow:0 18px 40px -18px rgba(23,23,28,.35);scrollbar-width:thin}
.product-select.is-above .product-select-menu{top:auto;bottom:calc(100% + 7px)}
.product-select-option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:10px;border-radius:6px;font-size:13px;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}
.product-select-option.is-focused{background:var(--panel)}
.product-select-option[aria-selected=true]{background:var(--paper);font-weight:500}
.product-select-option[aria-disabled=true]{color:var(--muted);opacity:.55;cursor:not-allowed}
.product-select-check{display:grid;place-items:center;flex:0 0 16px;color:var(--red);visibility:hidden}
.product-select-option[aria-selected=true] .product-select-check{visibility:visible}
.product-select-check svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){.product-select-trigger,.product-select-arrow svg{transition:none}}

.voice-card{border:1px solid var(--line);border-radius:12px}
.voice-card .product-section-head{padding-bottom:20px;border-bottom:1px solid var(--line)}
.voice-card .product-section-head h2{margin:7px 0 0}
.voice-status{padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:6px;font-size:14px}
.voice-status.is-error{color:var(--fail);background:var(--fail-t)}
.voice-card [data-voice-remote]{display:none}
.voice-card .voice-note{font-size:12px;margin:18px 0 0}
.voice-card button:disabled{opacity:.5;cursor:not-allowed}

/* The use-case toolbar and review panels share the same outer edges. */
.product-review-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,480px);align-items:center;gap:24px;width:100%;min-width:0;padding:20px 24px;margin-bottom:24px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.product-review-context{min-width:0}
.product-review-context>.mono{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.product-review-context p{margin:6px 0 0;font-family:var(--display);font-size:19px;line-height:1.3;letter-spacing:-.02em}
.product-review-choice{min-width:0}
.product-review-choice>label{display:block;margin:0 0 8px;font-size:12px;font-weight:500;color:var(--muted)}
.product-review-choice>select{width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--line2);border-radius:10px;background:var(--white,#fff)}
.product-review-content{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0}
.product-review-content>.product-card,.product-review-content>.product-card+.product-card,.product-review-content #voice-call-panel>.voice-card{margin:0;border-radius:12px}
.product-review-content>#call-detail:empty{display:none}
.product-review-content .voice-status{margin:20px 0;min-height:48px;display:flex;align-items:center}
.product-review-content .voice-card>.product-actions{gap:12px;padding-top:2px}
@media(max-width:640px){.product-review-toolbar{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px;margin-bottom:20px}.product-review-content{gap:20px}.product-review-content>.product-card,.product-review-content #voice-call-panel>.voice-card{padding:20px}.voice-card .product-section-head{align-items:flex-start}.product-review-content .voice-card>.product-actions{align-items:stretch}.product-review-content .voice-card>.product-actions>button{min-height:44px}}
