/* Aurora: AI-inspired visual theme. Business data and printed reports stay legible. */
@keyframes aurora-drift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(5%,-4%,0) scale(1.08)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 #8b5cf633}50%{box-shadow:0 0 26px 5px #8b5cf622}}
@keyframes signal{0%,100%{opacity:.5}50%{opacity:1}}
@media screen{
:root{--green:#7152e8;--ink:#242345;--line:#dedff0;--muted:#72758d;background:#f3f3fc;color:#292942;font-family:'Leelawadee UI',Tahoma,sans-serif}
body:not(.report-open){background:radial-gradient(ellipse at 85% 0%,#dad8ff80,transparent 45%),radial-gradient(ellipse at 20% 80%,#c4f5f280,transparent 50%),#f4f5fc}
button,.button{border-radius:12px;transition:transform .2s,box-shadow .2s,background .2s; background:linear-gradient(115deg,#7855eb,#5868e9);box-shadow:0 4px 12px #6654ce16}
button:hover,.button:hover{filter:none;transform:translateY(-2px);box-shadow:0 7px 20px #6654ce26}button:active{transform:scale(.97)}button:disabled{transform:none}
button.secondary{background:#eeebff;color:#6650b8}button.ghost{background:#ffffff70;color:#626281}button.danger{background:#fff0f4;color:#b23a64}
input,select,textarea{border-radius:12px;border-color:#dbddee;transition:border-color .2s,box-shadow .2s;background:#fcfcff}input:focus,select:focus,textarea:focus{outline:2px solid #9b8aef;outline-offset:2px;box-shadow:0 0 0 5px #8b5cf611}input[readonly]{background:#f0eef9}
button:focus-visible,a:focus-visible{outline:3px solid #a18af5;outline-offset:3px}
h1{letter-spacing:-.7px;font-weight:700}.eyebrow{color:#8261ce;letter-spacing:2.5px}.heading{animation:arrive .45s ease both}.heading h1{color:#2d2853}.heading .eyebrow:before{content:'✦';margin-right:8px}
.sidebar{background:linear-gradient(160deg,#18162e,#202040 60%,#252040);border-right:1px solid #ffffff15;padding-top:32px;isolation:isolate}
.sidebar:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 25%,#7251ed25,transparent 60%)}
.brandmark{background:linear-gradient(135deg,#a985ff,#5cc5f5);color:white;border-radius:14px;box-shadow:0 0 28px #8a68f53d;animation:glow 5s ease-in-out infinite}.brand strong{letter-spacing:-.4px}.brand small{color:#a9a4c4;font-size:8px}
.nav{background:transparent;color:#b7b4cf;box-shadow:none;border:1px solid transparent}.nav:hover{background:#ffffff09;color:white;box-shadow:none;transform:translateX(3px)}.nav.active{background:linear-gradient(100deg,#7753de,#6055c9);border-color:#b29afb55;box-shadow:0 6px 22px #07061a44;color:white}.nav span{color:#bda5ff}.nav.active span{color:#fff}
.sidebar-bottom{border-color:#ffffff16}.sidebar-bottom small{color:#aaa6c5}.sidebar-contact{background:#ffffff06;border:1px solid #ffffff0a;border-radius:12px;padding:10px}
.topbar{background:#ffffffa6;backdrop-filter:blur(18px);border-color:#e5e3f2}.topbar>strong{color:#514772}.online{background:#e7f8f2;color:#287d6a;border:1px solid #caeee1;font-size:11px}.content{padding-top:32px}
.card,.stat,.repair-profile,.work-summary>div{border-color:#e4e3f2;background:linear-gradient(145deg,#fffffffa,#ffffffc9);border-radius:18px;box-shadow:0 8px 28px #38327106;animation:arrive .45s ease both;transition:transform .22s,border-color .22s,box-shadow .22s}
.card:hover,.repair-profile:hover{border-color:#c5baf0;box-shadow:0 12px 32px #53428e0c}.stat:hover,.repair-profile:hover{transform:translateY(-3px)}
.stats>:nth-child(2),.repair-cards>:nth-child(3n+2){animation-delay:.06s}.stats>:nth-child(3),.repair-cards>:nth-child(3n){animation-delay:.12s}.stats>:nth-child(4){animation-delay:.18s}
.stat{position:relative;overflow:hidden}.stat strong{font-size:38px;font-weight:700;letter-spacing:-1px;color:#575080}.stat:first-child,.work-summary>div:first-child{background:linear-gradient(120deg,#7153d5,#6861d5 60%,#538ecc);border-color:#8870de;color:white;box-shadow:0 12px 25px #7354d72a}.stat:first-child strong{color:white}.stat:first-child small,.work-summary>div:first-child small{color:#eee8ff}
.stat:first-child:after{content:'';position:absolute;width:120px;height:120px;border:24px solid #ffffff0d;border-radius:50%;right:-35px;bottom:-45px;pointer-events:none}
.status-row{border-color:#efedf6}.status-row progress{accent-color:#8e72e5;border-radius:8px}.notice{background:linear-gradient(100deg,#f0ecff,#edf5ff);border:1px solid #e7e0fa;border-radius:14px}.notice p{color:#686083}
.repair-profile.repair-compact{border-radius:15px;padding:15px}.rc-identifiers>strong{color:#6051a2}.rc-asset{color:#74708c}.rc-asset small{color:#9089a4}.rc-equipment>span{color:#79748c}.repair-compact .rp-sn{background:linear-gradient(100deg,#f0edfc,#edf6fd);border-color:#9375e6;border-radius:8px}.rp-sn strong{color:#554480}.rp-sn span{color:#8b7d9e}.rp-bottom{border-color:#e8e3f4}.rp-number strong{color:#645295}.rp-symbol{background:#eee9ff;color:#8967d7}
.badge{background:#edf0fd;color:#5e64a0;border:1px solid #dee3f7}.badge.waiting_quotation{background:#fff4dd;color:#977021;border-color:#f3dfad}.badge.quotation_received,.badge.closed{background:#e6f8ef;color:#26745a;border-color:#c7eddb}.badge.cancelled{background:#ffebf1;color:#aa4866;border-color:#f5d3df}.badge.following_company{background:#f2eaff;color:#8555b9;border-color:#e5d6f8}.badge.sent_procurement,.badge.procurement_received{background:#e7f3ff;color:#39739d;border-color:#cde5f9}
.table-wrap{border-radius:14px;border:1px solid #e6e2f0}.history-table th{background:#f0edf8;color:#72658e}.history-table td{border-color:#ece8f4}.history-table tbody tr:hover{background:#f6f3ff}.history-sn{color:#735aa6}
.company-photo-preview{background:linear-gradient(130deg,#efebff,#e3f6fa);border-color:#ded5fa;border-radius:24px}.company-photo-preview>span{color:#9473d6}.photo-upload{background:linear-gradient(120deg,#8163db,#657be4);border-radius:12px}.company-profile-fields input[readonly]{color:#685a87;background:#f3f0fb}.secondary-map{background:#eeebfb;color:#71619e}.map-placeholder{background:#f7f5fd;border-color:#d8cdef}.map-saved-link{color:#765bb1}
#detail{border:1px solid #ded7ee;border-radius:22px;background:#fdfcff;color:#302c46;box-shadow:0 28px 100px #17102955}#detail[open]{animation:arrive .25s ease both}#detail::backdrop{background:#14102d88;backdrop-filter:blur(6px)}#detail .detail-head{background:#fdfcff;border-color:#e8e1f2}#detail .detail-head h2{color:#6d52a5}.facts>div{border-bottom:1px solid #eee9f6;padding-bottom:10px}.timeline{border-color:#d8c9f3}.event:before{background:#9475d6}.credential{border-color:#e8e1f4}.credential h3{color:#71599e}
#toast{background:linear-gradient(120deg,#6040a2,#5367ad);border:1px solid #aa94e566;box-shadow:0 12px 35px #49358033;border-radius:16px}#toast.show{animation:arrive .2s ease}#toast.error{background:#a13b62}
.loading:before{content:'';display:block;width:25px;height:25px;border:3px solid #ded4f4;border-top-color:#8d68d7;border-radius:50%;margin:0 auto 18px;animation:orbit .8s linear infinite}
/* Immersive entry portal */
.vr-entry{--navy:#ece8ff;--brass:#ad8bff;background:#100f22;color:#f3eeff;position:relative;isolation:isolate;overflow:hidden}.vr-entry:before{content:'';position:absolute;z-index:-1;inset:-15%;pointer-events:none;background:radial-gradient(ellipse at 18% 25%,#6d32d93b,transparent 40%),radial-gradient(ellipse at 80% 65%,#1587ae28,transparent 35%);animation:aurora-drift 18s ease-in-out infinite}.vr-entry:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#c8b7ff40 .7px,transparent .7px);background-size:36px 36px;mask-image:linear-gradient(#0006,transparent)}
.vr-identity strong{font-family:inherit;font-size:21px;font-weight:700;letter-spacing:1px}.vr-identity small{color:#9b92b9}.vr-emblem{border-radius:15px;border-color:#9e7ee75c;background:linear-gradient(135deg,#9c6cff2b,#59c7e52b);color:#c7a7ff;animation:glow 5s ease-in-out infinite}.vr-masthead-note{color:#a69ac1;border-color:#ffffff20}
.vr-document{background:#ffffff03;border:1px solid #b89af223;border-radius:28px;overflow:hidden;box-shadow:0 28px 90px #0003;animation:arrive .7s ease both;backdrop-filter:blur(8px)}.vr-document:before{width:50%;height:1px;left:25%;background:linear-gradient(90deg,transparent,#b393ff,transparent)}
.vr-editorial{background:radial-gradient(ellipse at 40% 65%,#6844a91f,transparent 65%)}.vr-kicker{color:#b69adc;letter-spacing:2px}.vr-kicker span{width:7px;height:7px;border-radius:50%;background:#8ee4eb;box-shadow:0 0 14px #8ee4eb;animation:signal 3s ease-in-out infinite}.vr-editorial h1{font-weight:700;letter-spacing:-1px;color:#f2ecff}.vr-editorial h1 em{background:linear-gradient(90deg,#b791ff,#88def0);background-clip:text;-webkit-background-clip:text;color:transparent}.vr-description{color:#aca0bf}.vr-editorial-bottom{border-color:#ffffff13}.vr-folio,.vr-editorial-bottom p{color:#9b8fae}.vr-editorial-bottom strong{color:#c8b8e7}
.vr-diagram{height:150px;position:relative;display:grid;place-items:center;color:#bc98ee;margin:12px 0}.vr-diagram svg{width:85%;filter:drop-shadow(0 0 9px #a56ee788)}.vr-diagram:before,.vr-diagram:after{content:'';position:absolute;width:112px;height:112px;border:1px solid #ad86ee35;border-top-color:#caabff;border-radius:35%;animation:orbit 22s linear infinite;pointer-events:none}.vr-diagram:after{width:140px;height:140px;border-color:#68d0f222;border-bottom-color:#79d5ed;animation-direction:reverse;animation-duration:30s}
.vr-access{background:linear-gradient(145deg,#25213bde,#171e33e6);border-top:0;border-left:1px solid #ffffff0c;margin:0}.vr-access-label{color:#b99cdc}.vr-access-index{color:#9487b1}.vr-access h2{font-weight:600;color:#f4efff}.vr-access-note,.vr-device-note{color:#a69bbd}.vr-form label{color:#d2c7e2}.vr-form input{border-radius:12px;background:#15172c;border-color:#4b405f;color:#faf6ff;box-shadow:inset 0 2px 6px #0001}.vr-form input::placeholder{color:#998caa}.vr-form input:focus{outline-color:#b590f4;border-color:#b590f4}.vr-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 60px #15172c inset;-webkit-text-fill-color:#fff}
.vr-submit{background:linear-gradient(105deg,#9462ee,#646be4);color:#fff;border-radius:12px;box-shadow:0 7px 25px #8c57ee30}.vr-submit:hover{background:linear-gradient(105deg,#a271f7,#7580f0)}.vr-submit:hover svg{transform:translateX(4px)}.vr-submit svg{transition:transform .2s}.vr-passkey{border-radius:12px;border-color:#6d5b87;background:#ffffff03;color:#e8dcf9}.vr-passkey svg{color:#bba1ee}.vr-passkey:hover{background:#9e75ed18}.vr-or{color:#ac9bbd}.vr-or:before,.vr-or:after{background:#ffffff15}.vr-account-help{border-color:#ffffff15;color:#d0bfe3}.vr-account-help span{color:#a89ab9}
.vr-service-strip{background:#ffffff03;border-color:#ffffff0e}.vr-service-strip>div{border-color:#ffffff10;transition:transform .25s}.vr-service-strip>div:hover{transform:translateY(-3px)}.vr-service-strip>div>span{font-family:inherit;font-size:20px;color:#bb9cea;background:#ac78ed13;padding:8px;border-radius:10px}.vr-service-strip p{color:#cdbfe0}.vr-service-strip small{color:#8f819f}.vr-footer p{color:#9b8aa9}.vr-footer button{color:#bda3dc;box-shadow:none}.vr-entry button:focus-visible,.vr-identity:focus-visible{outline-color:#be98ff}
.report-open{background:#f4f7f7;color:#233b40}.report-open .report-sheet{color:#233b40}.report-open #report-preview{animation:none}
}
@media screen and (max-width:700px){.sidebar{padding:6px 8px;height:auto;min-height:72px;padding-bottom:calc(6px + env(safe-area-inset-bottom));background:#1c1934ed;backdrop-filter:blur(16px);border-top:1px solid #a580e633}.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.nav{padding:8px 1px;border-radius:10px;font-size:9px}.nav:hover{transform:none}.content{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.topbar{padding:16px 15px}.online{padding:6px;font-size:9px}.card{border-radius:16px}.vr-document{border-radius:22px}.vr-editorial{padding:28px 25px}.vr-editorial h1{font-size:29px}.vr-diagram{display:none}.vr-access{border-left:0;border-top:1px solid #ffffff10}.vr-service-strip>div{border-bottom-color:#ffffff10}.vr-service-strip>div>span{font-size:15px}#detail{max-height:90dvh}.stat strong{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media screen{.status-row progress{appearance:none;-webkit-appearance:none;border:0;overflow:hidden;background:#eee9f8}.status-row progress::-webkit-progress-bar{background:#eee9f8;border-radius:8px}.status-row progress::-webkit-progress-value{background:linear-gradient(90deg,#9f78e9,#6c9fe3);border-radius:8px}.status-row progress::-moz-progress-bar{background:linear-gradient(90deg,#9f78e9,#6c9fe3);border-radius:8px}}
