
:root{color-scheme:dark;--amber:#ff5700;--muted:#8e805f;--line:#302d24;--mono:"Courier New",Courier,monospace}
*{box-sizing:border-box}body{margin:0;background:#101110;color:var(--amber);font-family:var(--mono)}
.board-shell{max-width:2400px;margin:auto;padding:32px 48px 20px;background:radial-gradient(ellipse at 50% 0%,#20211d 0%,#111210 60%);min-height:100dvh}
.masthead{border-bottom:1px solid var(--line);padding-bottom:24px}.brand-mark{font-family:Arial,sans-serif;font-size:42px;font-weight:900;letter-spacing:-3px;color:#e9e7df}.brand-dot{color:var(--amber)}.brand-description{font-size:11px;letter-spacing:2px;line-height:1.6;color:#b7b5a9;border-left:1px solid #47463c;padding-left:20px}.station-label{font-size:11px;letter-spacing:2px;color:#a29b83}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px #ff570030;flex-shrink:0}.fullscreen-button{display:flex;align-items:center;gap:10px;border:1px solid #494437;border-radius:3px;padding:9px 12px;font:10px var(--mono);letter-spacing:1px;color:#bdb49c;cursor:pointer;background:transparent}.fullscreen-button>span:first-child{font-size:20px}.fullscreen-button:hover,.fullscreen-button:focus-visible{border-color:var(--amber);color:var(--amber);outline-offset:4px}
.departure-heading{padding:35px 0 30px}.eyebrow{font-size:12px;letter-spacing:3px;margin-bottom:9px}h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(48px,4vw,78px);line-height:1;letter-spacing:-2px;font-weight:800;margin:0;color:#ff5700}.heading-arrow{display:inline-block;font-size:.8em;color:var(--amber);padding-left:24px}.subtitle{font-size:10px;letter-spacing:2px;color:#888673;margin:15px 0 0}.clock{font-size:clamp(36px,3.3vw,64px);font-weight:bold;letter-spacing:2px;line-height:1}.date{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#b6ac90;margin:10px 0 1px}
.board-frame{position:relative;border:1px solid #454235;border-radius:6px;background:#151612;padding:18px 22px 0;box-shadow:0 14px 35px #0005,inset 0 1px #ffffff08}.board-screw{position:absolute;top:8px;width:5px;height:5px;border-radius:50%;background:linear-gradient(140deg,#676357,#171813);box-shadow:0 0 0 1px #000}.screw-left{left:8px}.screw-right{right:8px}.departure-table{border-collapse:collapse;table-layout:fixed;text-align:left}.col-time{width:13%}.col-client{width:28%}.col-product{width:38%}.col-status{width:21%}th{font-size:12px;letter-spacing:2px;font-weight:normal;padding:8px 12px 18px;color:#c6b784;border-bottom:2px solid #645335}th span{display:block;font-size:8px;letter-spacing:1.5px;color:#787563;margin-top:5px}td{height:clamp(64px,7.6vh,84px);padding:10px 12px;border-bottom:1px solid #2d2c23;vertical-align:middle}.flap-text{display:inline-flex;white-space:nowrap;font-weight:bold;font-size:clamp(16px,1.55vw,30px);gap:2px;color:#ff5700}.flap{display:inline-flex;align-items:center;justify-content:center;width:.66em;height:1.5em;position:relative;background:linear-gradient(#24251f 49%,#090a08 49%,#090a08 52%,#1c1d18 52%);border-radius:2px;border-top:1px solid #ffffff09;box-shadow:0 2px 2px #0009;text-shadow:0 0 6px #ff570010;animation:flip-in .45s ease-out both}.flap:after{content:"";position:absolute;top:50%;height:1px;left:0;right:0;background:#08090690}.time-flaps{color:#ff5700}.quantity{color:#a69a75;font-size:15px;white-space:nowrap;margin-left:8px}.status{display:inline-flex;align-items:center;gap:10px;font-size:clamp(12px,1.15vw,22px);font-weight:bold;white-space:nowrap;letter-spacing:1px}.status-dot{width:6px;height:6px;background:currentColor;border-radius:50%;flex-shrink:0}.status-confermato{color:#9a9177}.status-pronto{color:#ff5700}.status-in-consegna{color:#ff5700}.status-partito{color:#706e60}.status-label{animation:flip-in .5s ease-out}.active-row{background:linear-gradient(90deg,#ff570008,#ff570003)}.active-row td:first-child{box-shadow:inset 3px 0 var(--amber)}.departed-row .flap-text{opacity:.48}.departed-row .quantity{opacity:.6}.board-bottom{padding:16px 12px;color:#88816b;font-size:10px;letter-spacing:1.6px}.board-bottom .live-dot{margin-right:8px;width:5px;height:5px}
.footer{padding:25px 0 0;color:#a7a18c;font-size:11px;line-height:1.6;letter-spacing:1px}.footer-message{display:flex;align-items:center;gap:12px}.info-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid #79735e;width:18px;height:18px;border-radius:50%;font-size:12px;flex-shrink:0}.update-info{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:10px;color:#88826e}.demo-badge{color:#ff5700;border:1px solid #665532;border-radius:2px;padding:1px 6px;letter-spacing:1px}.demo-note{text-align:right;color:#696758;font-size:9px;letter-spacing:1px;margin:12px 0 0}.fullscreen-error{font-size:12px;color:#ff5700}
@keyframes flip-in{0%{transform:perspective(160px) rotateX(-85deg);filter:brightness(.4)}100%{transform:perspective(160px) rotateX(0);filter:brightness(1)}}
@media(min-width:1700px) and (min-height:950px){.board-shell{padding:36px 60px 24px}.masthead{padding-bottom:28px}.departure-heading{padding:40px 0 36px}.brand-mark{font-size:48px}.eyebrow{font-size:14px}.subtitle{font-size:12px}.date{font-size:15px}th{font-size:15px}th span{font-size:10px}td{height:85px}.footer{font-size:13px}.update-info{font-size:12px}.board-bottom{font-size:12px;padding:19px 12px}.demo-note{font-size:10px}}
@media(max-width:1000px){.board-shell{padding:22px}.brand-mark{font-size:34px}.brand-description{font-size:9px}.departure-heading{padding:28px 0}.subtitle{font-size:9px;letter-spacing:1px}.date{font-size:10px;letter-spacing:0}.board-frame{padding:14px 10px 0}.table-scroll{overflow-x:auto}.departure-table{min-width:850px}.flap-text{font-size:18px}.status{font-size:13px}th{font-size:10px;letter-spacing:1px}td{height:65px}.footer{align-items:flex-start;flex-direction:column;gap:15px}.demo-note{text-align:left}.fullscreen-button>span:last-child{display:none}}
@media(max-width:600px){.departure-heading{align-items:flex-start;flex-direction:column;gap:24px}.time-block{text-align:left}.clock{font-size:38px}.date{margin-top:5px}h1{font-size:48px}.brand-description{letter-spacing:1px}.board-bottom{font-size:8px;letter-spacing:.5px}.eyebrow{font-size:10px}.board-shell{padding:18px 14px}.subtitle{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Fit all eight bookings inside a Full HD television viewport. */
@media(min-width:1100px) and (min-height:800px){
  .board-shell{padding:24px 48px 16px}
  .masthead{height:70px;padding-bottom:16px}
  .brand-mark{line-height:1}
  .departure-heading{height:176px;padding:24px 0}
  .board-frame{padding-top:12px}
  td{height:68px}
  th{padding-top:6px;padding-bottom:12px}
  .board-bottom{padding:13px 12px}
  .footer{padding-top:20px}
}
.heading-arrow{font-family:Arial,Helvetica,sans-serif}
.flap{flex-shrink:0}.flap-text{max-width:100%;overflow:hidden}.product-cell{min-width:0}.quantity{flex-shrink:0}.empty-board{color:#a69a75;font-size:18px;letter-spacing:2px;text-align:center}

/* Small layout utilities, shipped as plain CSS: no Tailwind build step. */
.flex{display:flex}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.w-full{width:100%}.text-right{text-align:right}.hidden{display:none}.min-h-screen{min-height:100dvh}
@media(min-width:768px){.md\:flex{display:flex}}
:root{--orange:#ff5700;--amber:var(--orange);--muted:#a9552c;--line:#35291f}
body{line-height:1.5}button{font-family:inherit}svg{display:inline-block;vertical-align:middle}.brand-logo{display:block;width:252px;height:60px;object-fit:contain;max-height:56px}.brand-description{color:#c56335;border-left-color:#553422}.clock,.flap-text,.time-flaps,.status,.date,h1,.eyebrow,.heading-arrow,.quantity,.empty-board{color:var(--orange)}th{color:#ee783f}th span,.subtitle,.station-label,.board-bottom,.footer,.update-info,.demo-note,.fullscreen-button{color:#b96a43}.status-confermato,.status-confermata,.status-provvisoria{color:#d7622c}.status-partito{color:#8a4d30}.demo-badge{color:var(--orange);border-color:#7a3c21}.fullscreen-button:hover,.fullscreen-button:focus-visible{color:var(--orange);border-color:var(--orange)}.info-icon{border-color:#8c4b2b}.flap{background:linear-gradient(#24211e 49%,#090a08 49%,#090a08 52%,#1d1b18 52%)}.bike-icon{font-size:28px;line-height:1}.brand-mark{display:none}
@media(max-width:1000px){.brand-logo{width:200px;height:48px}.brand-description{font-size:9px;padding-left:12px}.brand{gap:12px}}
@media(max-width:600px){.brand-logo{width:168px;height:42px}.brand-description{font-size:7px;letter-spacing:.5px;padding-left:10px}.masthead{gap:10px}.brand{gap:8px}.time-block{text-align:left}}