/* Visual tokens follow nucleo-platform/app/globals.css and its UI primitives. */
:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.5;font-size:14px;--background:hsl(215 28% 4%);--foreground:hsl(210 40% 98%);--primary:hsl(214 84% 56%);--muted:hsl(215 13% 65%);--border:hsl(215 25% 15%);--input:hsl(215 25% 27%);--success:hsl(142 69% 58%);background:var(--background);color:var(--foreground)}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer;transition:background-color .15s,border-color .15s}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}
header{height:48px;padding:0 clamp(24px,6.7vw,96px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:20px;color:var(--foreground);text-decoration:none}.brand img{height:28px;width:auto;display:block}.brand span{font-size:14px;font-weight:500;border-left:1px solid var(--border);padding-left:20px}
main{max-width:760px;margin:0 auto;min-height:calc(100vh - 48px);padding:48px 24px}.workspace{min-width:0}.workspace-heading p{color:var(--muted);font-size:13px;margin:0 0 8px}h1{font-size:24px;font-weight:600;letter-spacing:-.6px;line-height:1.25;margin:0 0 12px}h3{font-size:16px;font-weight:600;margin:0 0 8px}#message{color:var(--muted);margin:0 0 24px}#message.error{color:#fca5a5}#login p{color:var(--muted);max-width:60ch;margin:0 0 24px}.notice{border:1px solid #66532b;border-radius:6px;padding:12px 16px;color:#f4ce77;background:#211c12;font-size:13px;margin-bottom:28px}.facts{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--muted);margin-bottom:20px}
.dropzone{display:flex;position:relative;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1px dashed var(--input);border-radius:8px;padding:36px 20px;background:transparent;cursor:pointer}.dropzone:hover,.dropzone.drag{background:hsl(215 25% 27% / .2);border-color:var(--primary)}.dropzone input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.dropzone span:last-of-type{font-size:13px;color:var(--muted)}.dropzone strong{font-size:14px;font-weight:500}.upload-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:hsl(214 84% 56% / .12);color:var(--primary);font-size:26px;margin-bottom:8px}.file-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.quiet,.text-button{border:0;background:transparent;color:var(--muted);padding:8px 0;font-size:13px}.quiet:hover,.text-button:hover{color:var(--foreground)}.text-button{text-decoration:underline;text-underline-offset:4px}
.primary,.secondary,.results button{border-radius:6px;min-height:40px;padding:8px 16px;font-size:14px;font-weight:500;border:1px solid var(--input)}.primary{background:var(--primary);border-color:var(--primary);color:var(--background)}.primary:hover:enabled{background:hsl(214 84% 65%)}.secondary,.results button,#signin{background:transparent;color:var(--foreground);border-color:var(--border)}.secondary{margin-left:8px}.secondary:hover:enabled,.results button:hover:enabled,#signin:hover{background:hsl(215 25% 27% / .2)}
.file-list{padding:0;list-style:none;max-height:280px;overflow:auto;margin:16px 0}.file-list li{padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;display:grid;grid-template-columns:1fr auto;gap:5px 15px}.file-name{overflow-wrap:anywhere}.file-status{color:var(--muted)}.file-list progress{width:100%;height:5px;grid-column:1/-1;accent-color:var(--primary)}.confirmation{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:13px;color:var(--muted)}.confirmation input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--primary)}.receipt{border:1px solid hsl(142 69% 58% / .3);border-radius:8px;background:hsl(142 69% 58% / .04);padding:24px}.receipt-icon{font-size:24px;color:var(--success)}.receipt p{color:var(--muted)}.reference{font-size:12px;overflow-wrap:anywhere}.results{border-top:1px solid var(--border);padding-top:24px;margin-top:32px}.results p{font-size:13px;color:var(--muted)}.results ul{padding:0;list-style:none}.results li{margin:8px 0}.results button{max-width:100%;white-space:normal;overflow-wrap:anywhere}footer{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:20px;margin-top:32px;max-width:80ch}:focus-visible,.dropzone:focus-within{outline:2px solid var(--primary);outline-offset:4px}
@media(max-width:600px){header{padding:0 20px}.brand{gap:16px}.brand img{height:24px}.brand span{padding-left:16px}main{padding:28px 20px}h1{font-size:22px}.notice{font-size:12px}.dropzone{padding:28px 16px}button,input{font-size:16px}.file-actions{align-items:flex-start}.file-actions button{text-align:left}.file-actions #clear{text-align:right}.secondary{margin:12px 0 0}.primary,.secondary{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
