{"version":3,"file":"static/css/main.38c0b339.css","mappings":"AAQA,uBAQI,kBAAmB,CAInB,6BAA+B,CAN/B,oBAA8B,CAD9B,QAAS,CAET,YAAa,CAEb,sBAAuB,CANvB,MAAO,CAQP,YAAa,CAVb,cAAe,CAGf,OAAQ,CAFR,KAAM,CAQN,YAGJ,CAEA,eAMI,8BAAgC,CALhC,eAAiB,CACjB,kBAAmB,CACnB,+BAA0C,CAC1C,eAAgB,CAGhB,eAAgB,CAFhB,UAGJ,CAEA,sBAGI,kDAA6D,CAC7D,UAAY,CAFZ,sBAA4B,CAD5B,iBAIJ,CAEA,oBAMI,kBAAmB,CAHnB,gBAAoC,CACpC,iBAAkB,CAKlB,+BAAyC,CAJzC,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CACvB,kBAAwB,CAPxB,UASJ,CAEA,sBAEI,UAAY,CADZ,cAEJ,CAEA,qBACI,cAAe,CACf,eAAgB,CAChB,QAAS,CACT,+BACJ,CAEA,uBACI,iBAAkB,CAClB,iBACJ,CAEA,yBAGI,UAAc,CADd,cAAe,CAEf,eAAgB,CAHhB,cAIJ,CAEA,wBAEI,oBAAyB,CADzB,wBAA0B,CAE1B,yBAA2B,CAC3B,eACJ,CAEA,uBACI,YAAa,CACb,QAAS,CACT,mBACJ,CAEA,mBAUI,kBAAmB,CAPnB,WAAY,CACZ,iBAAkB,CAGlB,cAAe,CAEf,YAAa,CARb,QAAO,CAIP,cAAe,CACf,eAAgB,CAMhB,OAAQ,CADR,sBAAuB,CATvB,iBAAkB,CAMlB,uBAKJ,CAEA,0BACI,kBAAmB,CAEnB,wBAAyB,CADzB,UAEJ,CAEA,gCACI,kBAAmB,CACnB,0BACJ,CAEA,iCACI,uBACJ,CAEA,2BACI,kDAA6D,CAE7D,+BAA+C,CAD/C,UAEJ,CAEA,iCAEI,+BAA+C,CAD/C,0BAEJ,CAEA,kCACI,uBACJ,CAwBA,yBACI,uBACI,YACJ,CAEA,eAEI,kBAAmB,CADnB,cAEJ,CAEA,sBACI,sBACJ,CAEA,oBAEI,WAAY,CADZ,UAEJ,CAEA,sBACI,cACJ,CAEA,qBACI,cACJ,CAEA,uBACI,iBACJ,CAEA,yBACI,cACJ,CAEA,wBACI,wBACJ,CAEA,uBAEI,QAAS,CADT,mBAEJ,CAEA,mBAEI,cAAe,CADf,iBAEJ,CACJ,CAGA,yBACI,uBACI,WACJ,CAEA,sBACI,sBACJ,CAEA,oBAEI,WAAY,CADZ,UAEJ,CAEA,sBACI,cACJ,CAEA,qBACI,cACJ,CAEA,uBACI,iBACJ,CAEA,yBACI,cACJ,CAEA,wBACI,wBACJ,CAEA,uBAEI,OAAQ,CADR,mBAEJ,CAEA,mBAEI,cAAe,CADf,gBAEJ,CACJ,CCnPC,YAGG,mBACJ,CAEA,6BAJI,kDAA6D,CAD7D,gBAYJ,CAPA,iBAGI,YAAa,CACb,qBAAsB,CACtB,sBAAuB,CACvB,YACJ,CAEA,cAGI,UAAY,CADZ,kBAAmB,CADnB,iBAGJ,CAEA,YAMI,kBAAmB,CAHnB,gBAAoC,CACpC,iBAAkB,CAKlB,+BAAyC,CAJzC,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CACvB,kBAAwB,CAPxB,UASJ,CAEA,wBAEI,UAAY,CADZ,cAEJ,CAEA,aACI,cAAe,CACf,eAAgB,CAChB,iBAAkB,CAClB,+BACJ,CAEA,gBACI,cAAe,CAEf,eAAgB,CADhB,UAEJ,CAEA,YAKI,kCAA2B,CAA3B,0BAA2B,CAJ3B,eAAiB,CACjB,kBAAmB,CAEnB,+BAAyC,CADzC,YAGJ,CAEA,wBACI,kBACJ,CAEA,8BAGI,UAAc,CAFd,aAAc,CACd,cAAe,CAGf,eAAgB,CADhB,iBAEJ,CAEA,eAGI,kBAAmB,CACnB,kBAAmB,CACnB,wBAAyB,CACzB,iBAAkB,CAJlB,YAAa,CAKb,aAAc,CANd,iBAAkB,CAOlB,uBACJ,CAEA,4BACI,oBAAqB,CACrB,8BACJ,CAEA,iBACI,aAAc,CACd,cAAe,CACf,gBACJ,CAEA,wBAGI,eAAgB,CADhB,WAAY,CAIZ,UAAc,CALd,QAAO,CAIP,cAAe,CAEf,YAAa,CAHb,gBAIJ,CAEA,qCACI,UACJ,CAEA,eAEI,kBAAmB,CAEnB,kBAAmB,CACnB,wBAAyB,CACzB,iBAAkB,CAClB,aAAc,CANd,YAAa,CAOb,cAAe,CACf,kBAAmB,CANnB,iBAOJ,CAEA,iBAEI,cAAe,CADf,gBAEJ,CAEA,iBAEI,kBAAmB,CAEnB,kBAAmB,CACnB,wBAAyB,CACzB,iBAAkB,CAClB,aAAc,CANd,YAAa,CAOb,cAAe,CACf,kBAAmB,CANnB,iBAOJ,CAEA,mBAEI,cAAe,CADf,gBAEJ,CAEA,eACI,eACJ,CAEA,WAWI,kBAAmB,CATnB,kDAA6D,CAE7D,WAAY,CACZ,kBAAmB,CAUnB,+BAA+C,CAZ/C,UAAY,CAMZ,cAAe,CACf,YAAa,CAHb,cAAe,CACf,eAAgB,CAKhB,OAAQ,CADR,sBAAuB,CANvB,iBAAkB,CAQlB,uBAAyB,CAbzB,UAeJ,CAEA,iBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,kBACI,uBACJ,CAEA,oBAEI,kBAAmB,CADnB,UAAY,CAEZ,cACJ,CAEA,iBAII,0BAA2B,CAA3B,qBAA2B,CAF3B,WAAY,CAKZ,gBAAiB,CANjB,UAOJ,CAOA,cAGI,4BAA6B,CAF7B,eAAgB,CAChB,gBAEJ,CAEA,aAMI,UAAc,CADd,cAAe,CADf,iBAGJ,CAEA,eAEI,cACJ,CAEA,aAEI,eAAgB,CADhB,iBAEJ,CAEA,YACI,eAAgB,CAChB,WAAY,CAKZ,iBAAkB,CAJlB,aAAc,CAEd,cAAe,CADf,cAAe,CAEf,gBAAiB,CAEjB,uBACJ,CAEA,kBACI,oBACJ,CAGA,yBACI,iBACI,iBACJ,CAEA,YAEI,kBAAmB,CADnB,iBAEJ,CAEA,aACI,cACJ,CAEA,YAEI,WAAY,CADZ,UAEJ,CAEA,wBACI,cACJ,CAMA,mCAHI,cAMJ,CAHA,WAEI,iBACJ,CACJ,CAGA,yBACI,YACI,iBACJ,CAEA,aACI,cACJ,CAEA,YAEI,WAAY,CADZ,UAEJ,CAEA,wBACI,cACJ,CAMA,mCAHI,cAMJ,CAHA,WAEI,iBACJ,CACJ,CC5SA,EAGI,qBAAsB,CAFtB,QAAS,CACT,SAEJ,CAEA,KAEI,wBAAyB,CACzB,UAAc,CAFd,6GAA4H,CAI5H,cAAe,CADf,eAAgB,CAEhB,iBACJ,CAGA,MACI,uBAAwB,CACxB,yBAA0B,CAC1B,uBAAwB,CACxB,uBAAwB,CACxB,iBAAqB,CACrB,iBAAqB,CACrB,0BAA2B,CAC3B,YAAgB,CAChB,sBAAuB,CACvB,4BAAsC,CACtC,mBAAoB,CACpB,gBAAiB,CACjB,gBAAiB,CACjB,iBAAkB,CAClB,iBACJ,CAGA,KAGI,eAAiB,CADjB,aAAc,CADd,eAAgB,CAGhB,gBAAiB,CAEjB,iBAAkB,CADlB,iBAEJ,CAGA,MACI,aAAc,CACd,mBACJ,CASA,yBACI,mBACJ,CAGA,aAEI,kBAAmB,CAEnB,kDAA6D,CAE7D,+BAA4C,CAA5C,2CAA4C,CAI5C,2BAA4B,CAC5B,+BAA6C,CAN7C,UAAW,CAJX,YAAa,CAEb,YAA0B,CAA1B,yBAA0B,CAI1B,uBAAgB,CAAhB,eAAgB,CAChB,KAAM,CACN,WAGJ,CAEA,UACI,eAAgB,CAChB,WAAY,CAMZ,iBAAkB,CAJlB,UAAW,CAGX,cAAe,CAJf,cAAe,CAGf,gBAA+B,CAA/B,8BAA+B,CAD/B,WAA0B,CAA1B,yBAA0B,CAI1B,+BACJ,CAEA,gBACI,sBACJ,CAEA,gBAGI,UAAW,CAFX,cAAe,CACf,eAEJ,CAGA,oBAKI,kDAA6D,CAD7D,yBAA4D,CAA5D,2DAA4D,CAE5D,UAAW,CAJX,YAAa,CACb,eAAgB,CAFhB,iBAMJ,CAEA,kBACI,YAAa,CAEb,WAAY,CADZ,oCAEJ,CAEA,gBAEI,WAAY,CADZ,cAAe,CAEf,iBACJ,CAEA,oBAEI,WAAY,CACZ,gBAAiB,CAFjB,UAGJ,CAEA,eAEI,WAAY,CAGZ,YAAa,CACb,OAAQ,CAHR,QAAS,CAFT,iBAAkB,CAGlB,0BAGJ,CAEA,KAII,oBAAoC,CADpC,iBAAkB,CAElB,cAAe,CAHf,UAAW,CAIX,+BAAiC,CALjC,SAMJ,CAEA,YACI,eACJ,CAGA,YAOI,kBAAmB,CANnB,kDAA6D,CAI7D,iBAAmC,CAAnC,kCAAmC,CAKnC,8BAA2C,CAR3C,UAAY,CAIZ,YAAa,CAGb,cAAe,CADf,OAAQ,CAJR,WAAY,CADZ,iBAQJ,CAEA,cACI,cACJ,CAGA,kBACI,YAAa,CACb,QAAsB,CAAtB,qBAAsB,CAEtB,4BAA6B,CAD7B,YAEJ,CAEA,cACI,QASJ,CAMA,gBAII,kDAQJ,CAEA,6BACI,kDACJ,CAEA,6BACI,kDAA6D,CAC7D,aACJ,CAEA,6BACI,kDACJ,CASA,eACI,YACJ,CAEA,eAMI,wBAAqC,CAArC,oCAAqC,CAJrC,iBAAmC,CAAnC,kCAAmC,CAGnC,8BAAyB,CAAzB,wBAAyB,CADzB,kBAAmB,CADnB,YAIJ,CAEA,iBAGI,QAAS,CACT,kBACJ,CAEA,iBAGI,iBAAkB,CADlB,WAAY,CAEZ,gBAAiB,CAHjB,UAIJ,CAEA,kBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,iBACJ,CAEA,eAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAEJ,CAEA,kBACI,UAAwB,CAAxB,uBAAwB,CACxB,cAAe,CACf,eAAgB,CAChB,kBACJ,CAEA,iBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAEJ,CAEA,iBACI,aAA2B,CAA3B,0BAIJ,CAEA,kCALI,kBAAmB,CACnB,cAAe,CACf,eAQJ,CALA,iBACI,gBAIJ,CAEA,yBACI,kBAAgC,CAAhC,+BAAgC,CAChC,aACJ,CAEA,0BACI,kBAAkC,CAAlC,iCAAkC,CAClC,UACJ,CAEA,2BACI,kBAAgC,CAAhC,+BAAgC,CAChC,aACJ,CAGA,YAMI,kBAAmB,CALnB,kBAAmB,CACnB,WAAY,CACZ,kBAAmB,CAEnB,YAAa,CAEb,OAAsB,CAAtB,qBAAsB,CACtB,QAAS,CAJT,gBAA4C,CAA5C,2CAKJ,CAEA,kBAKI,eAAgB,CAHhB,WAAY,CAIZ,UAAwB,CAAxB,uBAAwB,CALxB,QAAO,CAGP,cAAe,CADf,YAIJ,CAMA,6CAHI,UAAwB,CAAxB,uBAMJ,CAHA,cAEI,gBAA+B,CAA/B,8BACJ,CASA,iBAEI,iBASJ,CAQA,uBACI,aAA2B,CAA3B,0BACJ,CAQA,oCAHI,eAAgB,CADhB,YAA0B,CAA1B,yBAaJ,CATA,kBAMI,0BAAwC,CAJxC,kBAAmB,CAGnB,8BAAsC,CAEtC,cAAe,CAHf,kBAAgC,CAAhC,+BAAgC,CAIhC,uBACJ,CAEA,wBAGI,sBAAmC,CADnC,+BAAuC,CADvC,0BAGJ,CAeA,oBAQI,sBAA6B,CAN7B,kBAAmB,CAKnB,oBAAqB,CAHrB,eAAgB,CAEhB,cAAe,CALf,gBAAiB,CAIjB,iBAAkB,CAIlB,uBACJ,CAEA,6BACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,4BACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,6BACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAGA,gCACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,gCACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,gCACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,kBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,iBACJ,CA4BA,0BAUI,kBAAmB,CANnB,kDAA6D,CAE7D,WAAY,CACZ,kBAAmB,CALnB,WAAY,CAYZ,+BAA+C,CAT/C,UAAY,CAUZ,cAAe,CANf,YAAa,CAGb,cAAe,CACf,eAAgB,CAFhB,OAAQ,CAHR,iBAAkB,CAPlB,cAAe,CAEf,UAAW,CAaX,uBAAyB,CACzB,YACJ,CAEA,gCAEI,+BAA+C,CAD/C,0BAEJ,CAEA,4BACI,cACJ,CAGA,gBAEI,YAAa,CACb,qBAAsB,CACtB,QAAsB,CAAtB,qBACJ,CAGA,+BAPI,YAA0B,CAA1B,yBAYJ,CALA,eACI,eAAiB,CACjB,kBAAmB,CAEnB,+BACJ,CAEA,iBAEI,kBAAmB,CAGnB,UAAwB,CAAxB,uBAAwB,CAJxB,YAAa,CAKb,eAAgB,CAHhB,OAAQ,CACR,kBAGJ,CAEA,mBACI,aAAc,CACd,cACJ,CAEA,kBACI,kBACJ,CAEA,kBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAGf,eAAgB,CADhB,iBAEJ,CAEA,sBAEI,UAAwB,CAAxB,uBAAwB,CACxB,qBAAsB,CAFtB,cAGJ,CAEA,sBASI,kBAAmB,CARnB,kDAA6D,CAE7D,WAAY,CACZ,iBAAkB,CAFlB,UAAY,CAKZ,cAAe,CACf,YAAa,CAFb,cAAe,CAIf,OAAQ,CALR,gBAAiB,CAMjB,uBAAyB,CACzB,yBAAkB,CAAlB,iBACJ,CAEA,4BAEI,+BAA8C,CAD9C,0BAEJ,CAEA,wBACI,cACJ,CAGA,WAGI,kBAAmB,CAInB,kBAAmB,CACnB,+BAA0C,CAP1C,YAAa,CACb,qBAAsB,CAEtB,QAAsB,CAAtB,qBAAsB,CACtB,yBAIJ,CAEA,YASI,oBAAqC,CALrC,0BAA0C,CAC1C,kBAAmB,CAFnB,YAAa,CADb,WAQJ,CASA,sBAKI,uBAAwB,CAHxB,SAAU,CADV,QAKJ,CAEA,uBAKI,uBAAwB,CAHxB,UAAW,CADX,QAKJ,CAEA,yBAKI,uBAAwB,CAJxB,WAAY,CACZ,SAIJ,CAEA,0BAKI,uBAAwB,CAJxB,WAAY,CACZ,UAIJ,CAEA,WAOI,qCAAsC,CAJtC,MAAO,CACP,UAIJ,CAEA,oBACI,GAAK,KAAQ,CACb,GAAO,oBAAuB,CAClC,CAEA,UAEI,UAAwB,CAAxB,uBAAwB,CADxB,iBAEJ,CAEA,YAGI,iBACJ,CAQA,WACI,eAAiB,CACjB,kBAAmB,CAEnB,+BAA0C,CAD1C,YAA0B,CAA1B,yBAEJ,CAEA,UAEI,kBAAmB,CAInB,UAAwB,CAAxB,uBAAwB,CALxB,YAAa,CAIb,cAAe,CAFf,OAAQ,CACR,aAGJ,CAEA,YACI,aAA2B,CAA3B,0BAA2B,CAC3B,cAAe,CACf,UACJ,CAGA,cACI,YAAa,CACb,sBACJ,CAEA,YAEI,kBAAmB,CAEnB,kDAA6D,CAE7D,WAAY,CACZ,kBAAmB,CAMnB,+BAA+C,CAR/C,UAAY,CAMZ,cAAe,CAVf,YAAa,CAQb,cAAe,CACf,eAAgB,CAPhB,OAAQ,CAKR,iBAAkB,CAIlB,uBAEJ,CAEA,kBAEI,+BAA+C,CAD/C,0BAEJ,CAGA,mBACI,YACJ,CAEA,cACI,eAAiB,CACjB,iBAAmC,CAAnC,kCAAmC,CAGnC,8BAAyB,CAAzB,wBAAyB,CADzB,kBAAmB,CADnB,YAGJ,CAaA,uCAII,wBAAqC,CAArC,oCAAqC,CACrC,iBAAmC,CAAnC,kCAAmC,CACnC,cAAe,CAHf,YAAa,CADb,UAKJ,CAEA,qBAEI,eAAgB,CADhB,eAEJ,CAEA,YAMI,YAAa,CAIb,+BAAiC,CATjC,UAUJ,CAEA,kBACI,kBACJ,CAOA,kCAHI,YAA0B,CAA1B,yBASJ,CANA,cACI,kDAA6D,CAC7D,kBAAmB,CAGnB,+BAA+C,CAD/C,UAEJ,CAEA,gBAEI,kBAAmB,CADnB,YAAa,CAKb,cAAe,CACf,eAAgB,CAHhB,OAAQ,CADR,6BAA8B,CAE9B,kBAAgC,CAAhC,+BAGJ,CAEA,kBACI,cACJ,CAEA,iBAGI,aAAsB,CAAtB,0BAAsB,CAFtB,YAAa,CAEb,QAAsB,CAAtB,qBAAsB,CADtB,mCAEJ,CAEA,cACI,iBACJ,CAEA,eACI,cAAe,CAEf,iBAAkB,CADlB,UAEJ,CAEA,eACI,cAAe,CACf,eAAgB,CAChB,aACJ,CAEA,oBACI,cAA4B,CAA5B,2BACJ,CAEA,iBAKI,0BAA0C,CAH1C,kBAAmB,CAEnB,+BAEJ,CAEA,cAGI,aAA2B,CAA3B,0BACJ,CAEA,SACI,kBAAmB,CACnB,yBAA0B,CAC1B,kBAAmB,CAInB,gBAAiB,CADjB,eAAgB,CAFhB,YAA0B,CAA1B,yBAA0B,CAC1B,iBAAkB,CAGlB,uBACJ,CAEA,eAEI,oBAAqC,CADrC,oBAAkC,CAAlC,iCAEJ,CAEA,SACI,iBAAgC,CAAhC,+BACJ,CAEA,WAEI,aAA2B,CAA3B,0BAA2B,CAD3B,eAEJ,CAEA,YAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,cACJ,CAEA,WAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,QACJ,CAEA,iBAGI,4BAA6B,CAF7B,eAA6B,CAA7B,4BAA6B,CAC7B,gBAA8B,CAA9B,6BAEJ,CAEA,2BAEI,kBAAmB,CAInB,UAAwB,CAAxB,uBAAwB,CALxB,YAAa,CAIb,cAAe,CAFf,OAAQ,CACR,iBAGJ,CAEA,sCACI,eACJ,CAEA,6BACI,aAA2B,CAA3B,0BAA2B,CAE3B,iBAAkB,CADlB,UAEJ,CAEA,oBAEI,QAAsB,CAAtB,qBAAsB,CAEtB,eAA6B,CAA7B,4BAA6B,CAD7B,YAA0B,CAA1B,yBAEJ,CAEA,gCAII,kBAAmB,CAEnB,eAAiB,CACjB,wBAAyB,CACzB,kBAAmB,CAEnB,UAAwB,CAAxB,uBAAwB,CAGxB,cAAe,CAXf,YAAa,CADb,QAAO,CAEP,qBAAsB,CAQtB,cAAe,CACf,eAAgB,CAPhB,OAAQ,CAIR,YAA0B,CAA1B,yBAA0B,CAK1B,uBACJ,CAEA,sCAEI,oBAAqC,CADrC,oBAAkC,CAAlC,iCAAkC,CAGlC,+BAAgD,CADhD,0BAEJ,CAEA,kCAEI,aAA2B,CAA3B,0BAA2B,CAD3B,cAEJ,CAEA,sBACI,YACJ,CAEA,iBACI,eAAiB,CAIjB,8BAAyB,CAAzB,wBAAyB,CADzB,kBAAmB,CADnB,YAGJ,CAEA,oCANI,iBAAmC,CAAnC,kCAYJ,CANA,mBAGI,kBAAmB,CADnB,iBAAkB,CADlB,iBAKJ,CAEA,qBAOI,kBAAmB,CAJnB,kBAAmB,CACnB,yBAA0B,CAC1B,iBAAmC,CAAnC,kCAAmC,CAKnC,UAAwB,CAAxB,uBAAwB,CAJxB,YAAa,CAKb,cAAe,CATf,YAAa,CAMb,sBAAuB,CACvB,aAAc,CARd,WAWJ,CAGA,mBAII,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAEtB,QAAsB,CAAtB,qBAAsB,CAJtB,YAA0B,CAA1B,yBAKJ,CAEA,cACI,eAA6B,CAA7B,4BACJ,CAEA,gBAGI,kCAAmC,CADnC,aAAc,CADd,cAGJ,CAEA,wBACI,GAA4B,SAAU,CAAjC,mBAAmC,CACxC,IAAM,oBAAuB,CAC7B,GAA4B,SAAU,CAA/B,kBAAiC,CAC5C,CAEA,cACI,iBACJ,CAEA,iBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,cACJ,CAEA,gBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,QACJ,CAEA,oBACI,eAAiB,CACjB,kBAAmB,CAEnB,+BAA0C,CAE1C,eAAgB,CAHhB,YAA0B,CAA1B,yBAA0B,CAE1B,UAEJ,CAEA,WAII,cAEJ,CAMA,iBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAEJ,CAEA,gBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAEJ,CAEA,mCACI,aAAc,CACd,eACJ,CAEA,iBAEI,qBAAsB,CAEtB,eAAgB,CADhB,UAEJ,CAEA,YAOI,kBAAmB,CAJnB,qBAAsB,CAKtB,cAAe,CAHf,OAAQ,CAMR,uBAEJ,CAEA,oBACI,kDAA6D,CAE7D,+BACJ,CAEA,0BAEI,+BAA+C,CAD/C,0BAEJ,CAEA,sBACI,eAGJ,CAEA,4BAEI,oBAAqC,CADrC,oBAAkC,CAAlC,iCAAkC,CAGlC,+BAAgD,CADhD,0BAEJ,CAEA,cACI,cACJ,CAGA,mBAEI,iBAAkB,CADlB,iBAEJ,CAEA,cAEI,aAA2B,CAA3B,0BAA2B,CAD3B,cAAe,CAEf,kBACJ,CAEA,eAGI,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,kBACJ,CAEA,iBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAGf,eAAgB,CADhB,kBAEJ,CAEA,iBACI,YAAa,CACb,QAAS,CACT,sBACJ,CAEA,aAEI,WAAY,CACZ,iBAAmC,CAAnC,kCAAmC,CAGnC,cAAe,CAFf,cAAe,CACf,eAAgB,CAJhB,iBAAkB,CAMlB,kBACJ,CAEA,qBACI,kBAAgC,CAAhC,+BAAgC,CAChC,UACJ,CAEA,uBACI,kBAAmC,CAAnC,kCAAmC,CAEnC,wBAAqC,CAArC,oCAAqC,CADrC,UAAwB,CAAxB,uBAEJ,CAEA,mBAEI,8BAAyB,CAAzB,wBAAyB,CADzB,0BAEJ,CAGA,yBACI,kBACI,yBACJ,CAEA,oBACI,YACJ,CAEA,aACI,iBACJ,CACJ,CA6CA,MACI,6BACJ,CAGA,SAGI,kBAAmB,CAEnB,UAAwB,CAAxB,uBAAwB,CAJxB,YAAa,CACb,sBAAuB,CAEvB,YAEJ,CAEA,eAOI,iCAAkC,CAHlC,wBAAqC,CACrC,4BAA0C,CAA1C,oCAA0C,CAC1C,iBAAkB,CADlB,qCAA0C,CAJ1C,UAAW,CAEX,WAAY,CAKZ,eAAgB,CANhB,UAOJ,CAQA,YAYI,kBAAmB,CALnB,eAAgB,CAChB,2BAA4B,CAO5B,4BAA6B,CAX7B,QAAS,CAKT,gCAA8C,CAC9C,YAAa,CACb,4BAA6B,CAT7B,MAAO,CAIP,eAAgB,CAOhB,iBAAoB,CAZpB,cAAe,CAEf,OAAQ,CAER,UAAW,CASX,WAEJ,CAEA,UAKI,kBAAmB,CAFnB,UAAW,CAMX,cAAe,CARf,QAAO,CAGP,cAAe,CAGf,cAAe,CADf,oBAA0B,CAJ1B,iBAAkB,CAMlB,mCAEJ,CAEA,iBAEI,kBAAmB,CACnB,8BAA+C,CAF/C,aAGJ,CAEA,YAEI,aAAc,CADd,cAAe,CAEf,iBACJ,CAEA,eACI,cAAe,CACf,eACJ,CAGA,qBAGI,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAEtB,sBAAuB,CACvB,mBAAsB,CACtB,iBACJ,CAEA,cAGI,sBAAuB,CAFvB,YAAa,CACb,6BAA8B,CAI9B,kBAAmB,CADnB,cAAe,CADf,UAGJ,CAEA,iBACI,QACJ,CAEA,aAGI,iBAAkB,CAClB,8BAA4C,CAF5C,WAAY,CADZ,UAIJ,CAEA,cAII,oBAAqB,CAHrB,YAAa,CACb,qBAAsB,CACtB,OAEJ,CAEA,wBAUI,kBAAmB,CATnB,gBAAoC,CACpC,0BAA0C,CAG1C,kBAAmB,CAFnB,UAAW,CAIX,cAAe,CAEf,YAAa,CAHb,cAAe,CAKf,OAAQ,CAPR,gBAAiB,CAIjB,uBAIJ,CAEA,8BACI,oBAAoC,CACpC,sBACJ,CAEA,gBAOI,kBAAmB,CANnB,oBAAkC,CAGlC,kBAAmB,CAFnB,UAAW,CAIX,YAAa,CADb,cAAe,CAGf,OAAQ,CALR,gBAMJ,CAEA,uBACI,YACJ,CAEA,gBACI,YAAa,CACb,qBAAsB,CACtB,OAAQ,CACR,iBACJ,CAEA,WAGI,UAAW,CAFX,cAAe,CACf,eAEJ,CAEA,gBAEI,UAAW,CADX,cAAe,CAEf,WACJ,CAGA,oBACI,eAAgB,CAKhB,0BAAwC,CAJxC,kBAAmB,CACnB,+BAA6C,CAC7C,gBAAiB,CACjB,YAA0B,CAA1B,yBAEJ,CAEA,cAMI,iCAA8C,CAH9C,OAAsB,CAAtB,qBAAsB,CACtB,kBAAgC,CAAhC,+BAAgC,CAChC,kBAAiC,CAAjC,gCAEJ,CAEA,8BAPI,kBAAmB,CADnB,YAiBJ,CATA,gBAGI,iBAAkB,CAIlB,UAAY,CACZ,cAAe,CANf,WAAY,CAIZ,sBAAuB,CALvB,UAQJ,CAEA,mBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAEJ,CAEA,eACI,YAAa,CAEb,QAAsB,CAAtB,qBAAsB,CADtB,6BAEJ,CAEA,YAII,kBAAmB,CAEnB,0BAAwC,CADxC,kBAAmB,CAJnB,QAAO,CAEP,WAA0B,CAA1B,yBAA0B,CAD1B,iBAAkB,CAKlB,uBACJ,CAEA,kBAGI,sBAAmC,CADnC,+BAA6C,CAD7C,0BAGJ,CAEA,aAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAGf,eAAgB,CADhB,iBAAgC,CAAhC,+BAEJ,CAEA,aAGI,aAA2B,CAA3B,0BAA2B,CAF3B,cAAe,CACf,eAAgB,CAGhB,aAAc,CADd,iBAEJ,CAEA,YAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eACJ,CAGA,cAGI,kBAAmB,CAFnB,YAAa,CAGb,QAAS,CAFT,6BAA8B,CAG9B,cACJ,CAEA,mBACI,YAAa,CAEb,QAAS,CADT,0BAA2B,CAE3B,cACJ,CAEA,mBACI,QACJ,CAEA,oBACI,WACJ,CAEA,cAGI,kBAAmB,CACnB,eAAgB,CAChB,WAAY,CACZ,eAAgB,CAChB,cAAe,CANf,YAAa,CACb,qBAAsB,CAOtB,gBAAiB,CADjB,uCAEJ,CAEA,yCACI,sCACJ,CAEA,gBAOI,kBAAmB,CAJnB,iBAAkB,CAOlB,8BAA4C,CAN5C,UAAW,CAEX,YAAa,CADb,cAAe,CAHf,WAAY,CAMZ,sBAAuB,CACvB,iBAAkB,CARlB,UAUJ,CAEA,mBAEI,UAAW,CADX,cAAe,CAEf,cAAe,CACf,iBACJ,CAGA,YACI,kDACJ,CAEA,YACI,kDACJ,CAEA,gBACI,kDACJ,CAEA,YACI,kDAA6D,CAC7D,aACJ,CAEA,cACI,kDACJ,CAEA,aACI,kDACJ,CAEA,cACI,kDACJ,CAGA,eAEI,eAAgB,CAChB,kBAAmB,CACnB,+BAA6C,CAE7C,eACJ,CAGA,gBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAG9B,kBAAmB,CADnB,mBAEJ,CAEA,+BAKI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAHhB,eAAgB,CAChB,SAIJ,CAGA,UAEI,kBAAmB,CAEnB,eAAgB,CAChB,WAAY,CAMZ,iBAAmC,CAAnC,kCAAmC,CALnC,aAA2B,CAA3B,0BAA2B,CAG3B,cAAe,CARf,YAAa,CAMb,cAAe,CACf,eAAgB,CALhB,OAAQ,CAOR,sBAAuB,CAEvB,uBACJ,CAEA,gBACI,oBAAoC,CACpC,yBACJ,CAEA,YACI,cAAe,CACf,6BACJ,CAEA,kBACI,yBACJ,CAGA,cAEI,YAAa,CACb,qBAAsB,CACtB,QAAsB,CAAtB,qBACJ,CAEA,4BANI,YAA0B,CAA1B,yBAcJ,CARA,cACI,eAAgB,CAMhB,2BAAkC,CALlC,iBAAmC,CAAnC,kCAAmC,CAEnC,8BAAyC,CACzC,cAAe,CACf,uBAEJ,CAEA,oBAEI,+BAA0C,CAD1C,0BAEJ,CAEA,qBAEI,sDAAyF,CADzF,yBAAuC,CAAvC,sCAEJ,CAEA,mBACI,UACJ,CAEA,gBAGI,sBAAuB,CAFvB,YAAa,CACb,6BAA8B,CAE9B,iBAAgC,CAAhC,+BACJ,CAEA,eAGI,UAAwB,CAAxB,uBAAwB,CACxB,QAAO,CAHP,cAAe,CACf,eAAgB,CAIhB,eAAgB,CADhB,gBAA+B,CAA/B,8BAEJ,CAEA,gBAEI,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAHhB,eAAgB,CAIhB,kBACJ,CAEA,qBACI,oBAAoC,CACpC,UACJ,CAEA,uBACI,oBAAoC,CACpC,aAA2B,CAA3B,0BACJ,CAEA,iBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eAAgB,CAChB,iBAAgC,CAAhC,+BACJ,CAUA,4BAJI,cAOJ,CAHA,cAEI,UAAwB,CAAxB,uBACJ,CAEA,cAEI,oBAAmC,CAEnC,iBAAkB,CADlB,aAA6B,CAA7B,4BAA6B,CAE7B,cAAe,CAJf,eAKJ,CAEA,aAGI,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAEtB,sBAAuB,CACvB,gBAA8B,CAA9B,6BAEJ,CAEA,eACI,cAAe,CACf,kBAAgC,CAAhC,+BAAgC,CAChC,UACJ,CAEA,eACI,cACJ,CAGA,wBAEI,eAAgB,CAChB,6BAA8B,CAF9B,YAA0B,CAA1B,yBAGJ,CAEA,gBAGI,+BAAgC,CAFhC,kBAAgC,CAAhC,+BAAgC,CAChC,mBAAiC,CAAjC,gCAEJ,CAEA,sBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAGhB,eAAgB,CADhB,iBAAgC,CAAhC,+BAEJ,CAEA,cAGI,kBAAmB,CAFnB,YAAa,CACb,6BAIJ,CAEA,mCAHI,UAAwB,CAAxB,uBAAwB,CADxB,cAOJ,CAEA,qBAEI,oBAAmC,CAEnC,kBAAmB,CADnB,aAA6B,CAA7B,4BAA6B,CAE7B,cAAe,CAJf,eAKJ,CAEA,cACI,kBAAgC,CAAhC,+BACJ,CAEA,6BAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,oBAAqB,CACrB,qBACJ,CAEA,iBAII,4BAA6B,CAH7B,YAAa,CACb,QAAsB,CAAtB,qBAAsB,CACtB,gBAA8B,CAA9B,6BAEJ,CAEA,YAUI,kBAAmB,CAPnB,WAAY,CACZ,iBAAmC,CAAnC,kCAAmC,CAGnC,cAAe,CAEf,YAAa,CARb,QAAO,CAIP,cAAe,CACf,eAAgB,CAKhB,sBAAuB,CATvB,YAA0B,CAA1B,yBAA0B,CAM1B,uBAIJ,CAEA,oBACI,kBAAgC,CAAhC,+BAAgC,CAChC,UACJ,CAEA,0BACI,kBAAmB,CACnB,0BACJ,CAEA,sBACI,kBAAmB,CAEnB,wBAAyB,CADzB,UAAwB,CAAxB,uBAEJ,CAEA,4BACI,kBAAmB,CACnB,0BACJ,CAEA,aAGI,kBAAmB,CAGnB,UAAwB,CAAxB,uBAAwB,CALxB,YAAa,CACb,qBAAsB,CAEtB,sBAAuB,CACvB,gBAA8B,CAA9B,6BAEJ,CAEA,eAGI,aAAc,CAFd,cAAe,CACf,kBAAgC,CAAhC,+BAAgC,CAEhC,UACJ,CAEA,eACI,cAAe,CACf,kBAAgC,CAAhC,+BACJ,CAEA,mBAGI,kBAAmB,CAGnB,uBAAwB,CALxB,YAAa,CACb,qBAAsB,CAEtB,sBAAuB,CACvB,gBAA8B,CAA9B,6BAEJ,CAEA,iBAMI,iCAAkC,CAFlC,wBAA0C,CAC1C,iBAAkB,CADlB,wBAA0C,CAA1C,yCAA0C,CAF1C,WAAY,CAKZ,kBAAgC,CAAhC,+BAAgC,CANhC,UAOJ,CAEA,gBACI,GAAK,sBAAyB,CAC9B,GAAO,uBAA2B,CACtC,CAGA,iBACI,YAA0B,CAA1B,yBACJ,CAEA,eACI,kDAA6D,CAC7D,kBAAmB,CAEnB,+BAA+C,CAC/C,UAAY,CAFZ,YAA0B,CAA1B,yBAGJ,CAEA,iBAKI,cAAe,CACf,eAAgB,CAHhB,OAAQ,CACR,kBAAgC,CAAhC,+BAGJ,CAEA,mBACI,cACJ,CAEA,sBAGI,UAAY,CAFZ,cAAe,CACf,eAEJ,CAEA,kBACI,YAAa,CACb,QAAsB,CAAtB,qBACJ,CAEA,eAII,kBAAmB,CAFnB,YAAa,CADb,QAAO,CAEP,qBAAsB,CAGtB,iBAAkB,CADlB,iBAEJ,CAEA,gBAII,UAAY,CAHZ,cAAe,CAEf,iBAAkB,CADlB,UAGJ,CAEA,gBAII,UAAY,CAHZ,cAAe,CACf,eAAgB,CAChB,iBAEJ,CAEA,eAMI,kBAAmB,CAHnB,gBAAoC,CACpC,iBAAkB,CAClB,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CANvB,UAOJ,CAEA,iBAEI,UAAY,CADZ,cAEJ,CAGA,gBACI,YAAa,CACb,QAAsB,CAAtB,qBAAsB,CACtB,mBAA8C,CAA9C,6CACJ,CAEA,aAII,kBAAmB,CACnB,eAAgB,CAChB,0BAAwC,CACxC,kBAAmB,CAInB,8BAA4C,CAF5C,cAAe,CAPf,YAAa,CADb,QAAO,CAEP,qBAAsB,CAKtB,YAA0B,CAA1B,yBAA0B,CAE1B,uBAEJ,CAEA,mBAGI,sBAAmC,CADnC,+BAA6C,CAD7C,0BAGJ,CAEA,eAOI,kBAAmB,CAHnB,kDAA6D,CAD7D,iBAAkB,CAElB,UAAW,CACX,YAAa,CAIb,cAAe,CARf,WAAY,CAMZ,sBAAuB,CACvB,iBAAgC,CAAhC,+BAAgC,CARhC,UAUJ,CAEA,kBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eACJ,CAGA,gBACI,eAAiB,CACjB,2BAA4B,CAG5B,gCAA2C,CAF3C,eAA6B,CAA7B,4BAA6B,CAC7B,YAA0B,CAA1B,yBAEJ,CAEA,gBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,kBAAgC,CAAhC,+BACJ,CAEA,mBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,aACI,YAAa,CACb,OAAsB,CAAtB,qBAAsB,CACtB,kBAAgC,CAAhC,+BACJ,CAEA,SAGI,kBAAmB,CACnB,0BAAwC,CACxC,kBAAmB,CACnB,UAAwB,CAAxB,uBAAwB,CAExB,cAAe,CAPf,QAAO,CAMP,cAAe,CALf,gBAA4C,CAA5C,2CAA4C,CAO5C,uBACJ,CAEA,gBACI,kBAAgC,CAAhC,+BAAgC,CAEhC,oBAAkC,CAAlC,iCAAkC,CADlC,UAEJ,CAEA,cACI,gBACJ,CAEA,UACI,YACJ,CAEA,iBACI,aACJ,CAEA,WACI,kBAAmB,CAInB,0BAAwC,CAHxC,kBAAmB,CACnB,YAA0B,CAA1B,yBAGJ,CAEA,wBAJI,iBAAgC,CAAhC,+BASJ,CALA,aAGI,kBAAmB,CAFnB,YAAa,CACb,6BAGJ,CAEA,gBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,QAGI,kBAAmB,CAFnB,cAAe,CAGf,eAAgB,CAFhB,eAGJ,CAEA,iBACI,oBAAkC,CAClC,aACJ,CAEA,gBACI,oBAAkC,CAClC,aACJ,CAEA,iBACI,oBAAkC,CAClC,aACJ,CAEA,kBACI,oBAAkC,CAClC,aACJ,CAEA,gBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAGf,eAAgB,CADhB,cAA+B,CAA/B,8BAEJ,CAEA,WAGI,kBAAmB,CAFnB,YAAa,CAGb,cAAe,CAFf,6BAGJ,CAEA,MACI,UAAwB,CAAxB,uBACJ,CAEA,QAEI,aAA2B,CAA3B,0BAA2B,CAD3B,eAEJ,CAGA,wBAEI,eAAgB,CAChB,+BAA4C,CAA5C,2CAA4C,CAF5C,iBAGJ,CAEA,mBAGI,kBAAmB,CAFnB,YAAa,CACb,QAEJ,CAEA,oBAGI,kBAAmB,CACnB,+CAA0D,CAC1D,wBAAqC,CAArC,oCAAqC,CACrC,kBAAmB,CAInB,8BAAyC,CARzC,YAAa,CADb,QAAO,CAYP,WAAY,CAJZ,eAAgB,CAGhB,gBAAiB,CALjB,yBAA0B,CAI1B,iBAAkB,CAHlB,kBAMJ,CAEA,iCACI,oBAAkC,CAAlC,iCAAkC,CAClC,mDAAoF,CACpF,0BACJ,CAEA,2BAOI,mDAAsF,CANtF,UAAW,CAKX,WAAY,CAFZ,UAAW,CAFX,iBAAkB,CAClB,KAAM,CAKN,mBAAqB,CAHrB,UAIJ,CAEA,iCACI,SACJ,CAEA,sBACI,aAA2B,CAA3B,0BAA2B,CAE3B,cAAe,CADf,iBAAkB,CAElB,UAAY,CACZ,kBACJ,CAEA,mCACI,SAAU,CACV,oBACJ,CAEA,0BAGI,eAAgB,CADhB,WAAY,CAIZ,UAAwB,CAAxB,uBAAwB,CALxB,QAAO,CAIP,cAAe,CAGf,eAAgB,CAGhB,eAAgB,CAPhB,YAAa,CAQb,kBAAmB,CAHnB,iBAAkB,CAClB,SAGJ,CAEA,uCACI,UAAwB,CAAxB,uBAAwB,CACxB,eAAgB,CAChB,UACJ,CAEA,wBAmBI,kBAAmB,CAlBnB,kDAAkE,CAAlE,+DAAkE,CAElE,WAAY,CACZ,kBAAmB,CAMnB,8BAA+C,CAR/C,UAAW,CAKX,cAAe,CAWf,YAAa,CAGb,aAAc,CAfd,cAAe,CAGf,eAAgB,CAQhB,WAAY,CAGZ,sBAAuB,CAJvB,mBAAqB,CAXrB,gBAAiB,CAMjB,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,0BAA2B,CAN3B,kBAAoB,CAcpB,kBAAmB,CAPnB,SAQJ,CAEA,8BAEI,+BAAgD,CADhD,uDAEJ,CAEA,+BAEI,8BAA8C,CAD9C,mDAEJ,CAGA,iBAEI,kBAAmB,CAMnB,kDAAkE,CAAlE,+DAAkE,CAFlE,sBAA6B,CAC7B,kBAAmB,CAUnB,8BAA+C,CAP/C,UAAW,CACX,cAAe,CAVf,YAAa,CAeb,aAAc,CAPd,cAAe,CAMf,eAAgB,CAXhB,OAAQ,CAiBR,WAAY,CAlBZ,sBAAuB,CAiBvB,mBAAqB,CAPrB,cAAe,CAMf,eAAgB,CAdhB,gBAAiB,CAajB,iBAAkB,CANlB,kBAAoB,CAEpB,kBAQJ,CAEA,wBAOI,uDAAsF,CANtF,UAAW,CAKX,WAAY,CAFZ,UAAW,CAFX,iBAAkB,CAClB,KAAM,CAKN,mBAAqB,CAHrB,UAIJ,CAEA,8BACI,SACJ,CAEA,uBAEI,+BAAgD,CADhD,sCAEJ,CAEA,wBAEI,8BAA8C,CAD9C,kCAEJ,CAEA,mBACI,cAAe,CACf,iBAAkB,CAElB,kBAAoB,CADpB,SAEJ,CAEA,yBACI,wBACJ,CAEA,0BAEI,oBAAkC,CAAlC,iCAAkC,CAClC,8BAA8C,CAF9C,YAGJ,CAGA,sBAUI,sBAAuB,CAJvB,oBAA8B,CAD9B,QAAS,CAGT,YAAa,CACb,sBAAuB,CANvB,MAAO,CAQP,gBAAiB,CAVjB,cAAe,CAGf,OAAQ,CAFR,KAAM,CAKN,YAKJ,CAEA,cAQI,gCAAkC,CAPlC,eAAgB,CAChB,kBAAmB,CACnB,+BAA0C,CAG1C,eAAgB,CADhB,eAAgB,CAEhB,eAAgB,CAHhB,SAKJ,CAEA,qBACI,GACI,SAAU,CACV,2BACJ,CACA,GACI,SAAU,CACV,uBACJ,CACJ,CAEA,qBAGI,kBAAmB,CAGnB,+CAA0D,CAD1D,+BAA4C,CAA5C,2CAA4C,CAJ5C,YAAa,CACb,6BAA8B,CAE9B,YAGJ,CAEA,wBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,kBASI,kBAAmB,CAJnB,kBAAmB,CAFnB,WAAY,CACZ,iBAAkB,CAElB,UAAwB,CAAxB,uBAAwB,CACxB,cAAe,CACf,YAAa,CANb,WAAY,CAQZ,sBAAuB,CACvB,kBAAoB,CAVpB,UAWJ,CAEA,wBACI,kBAAgC,CAAhC,+BAAgC,CAChC,UACJ,CAEA,sBAEI,eAAgB,CAChB,eAAgB,CAFhB,YAGJ,CAEA,cACI,kBACJ,CAEA,yBACI,eACJ,CAEA,oBACI,aAAc,CAEd,eAAgB,CAEhB,iBACJ,CAEA,mCAJI,UAAwB,CAAxB,uBAAwB,CAFxB,cAsBJ,CAhBA,eAUI,uBAAgB,CAAhB,eAAgB,CALhB,kBAAmB,CAMnB,iQAA2R,CAE3R,qCAAsC,CADtC,2BAA4B,CAE5B,oBAAqB,CAXrB,wBAAqC,CAArC,oCAAqC,CACrC,kBAAmB,CAInB,cAAe,CAOf,2BAAmB,CANnB,kBAAoB,CARpB,UAeJ,CAEA,qBAEI,oBAAkC,CAAlC,iCAAkC,CAClC,8BAA8C,CAF9C,YAGJ,CAEA,sBAKI,kBAAmB,CADnB,4BAAyC,CAAzC,wCAAyC,CAHzC,YAAa,CACb,QAAS,CACT,YAGJ,CAEA,sCAII,WAAY,CACZ,kBAAmB,CAGnB,cAAe,CANf,QAAO,CAIP,cAAe,CACf,eAAgB,CAJhB,iBAAkB,CAMlB,kBACJ,CAEA,kBACI,kBAAmB,CACnB,UAAwB,CAAxB,uBACJ,CAEA,wBACI,kBACJ,CAEA,oBACI,kDAAkE,CAAlE,+DAAkE,CAElE,8BAA8C,CAD9C,UAEJ,CAEA,0BAEI,+BAA+C,CAD/C,0BAEJ,CAGA,yBACI,wBACI,gBACJ,CAEA,mBACI,OACJ,CAEA,oBAEI,yBACJ,CAEA,iBAGI,cAAe,CACf,OAAQ,CAHR,cAAe,CACf,gBAGJ,CAEA,cAEI,aAAc,CADd,SAEJ,CAEA,sBACI,gBACJ,CACJ,CASA,iBASI,6BAAoC,CAPpC,yBAA0B,CAM1B,uBAEJ,CAEA,wBAEI,2BAAyC,CAAzC,wCACJ,CAEA,kBAII,eAAgB,CAChB,+BAA4C,CAA5C,2CAA4C,CAJ5C,YAAa,CACb,OAAsB,CAAtB,qBAAsB,CACtB,YAA0B,CAA1B,yBAGJ,CAEA,eAEI,kBAAmB,CACnB,wBAAqC,CAArC,oCAAqC,CACrC,kBAAmB,CACnB,UAAwB,CAAxB,uBAAwB,CAExB,cAAe,CADf,cAAe,CALf,gBAA4C,CAA5C,2CAA4C,CAO5C,uBACJ,CAEA,sBACI,kBAAgC,CAAhC,+BAAgC,CAEhC,oBAAkC,CAAlC,iCAAkC,CADlC,UAEJ,CAEA,eAGI,aAAsB,CAAtB,0BAAsB,CADtB,YAAa,CACb,QAAsB,CAAtB,qBAAsB,CAFtB,YAA0B,CAA1B,yBAGJ,CAEA,eAEI,kBAAmB,CACnB,eAIJ,CAOA,gBAEI,YAEJ,CAQA,iBAII,kBAAmB,CAGnB,UAAW,CAJX,eAAgB,CAFhB,iBAAkB,CAClB,SAAwB,CAAxB,uBAMJ,CAEA,yBACI,oBACJ,CAEA,0BACI,oBACJ,CAEA,2BACI,oBACJ,CAGA,gBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAGhB,eAAgB,CADhB,cAA+B,CAA/B,8BAEJ,CAEA,eACI,iBAAgC,CAAhC,+BACJ,CAEA,WAEI,kBAAmB,CAInB,UAAwB,CAAxB,uBAAwB,CALxB,YAAa,CAIb,cAAe,CAFf,OAAsB,CAAtB,qBAAsB,CACtB,iBAGJ,CAEA,aAEI,aAA2B,CAA3B,0BAA2B,CAD3B,UAEJ,CAEA,uBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,gBACJ,CAGA,eAEI,eAAgB,CAChB,kBAAmB,CACnB,+BAA6C,CAC7C,aAAgB,CAChB,kBACJ,CA+GA,eACI,eAAiB,CAKjB,0BAAwC,CAJxC,iBAAmC,CAAnC,kCAAmC,CAGnC,8BAAyB,CAAzB,wBAAyB,CAEzB,cAAe,CAHf,kBAAgC,CAAhC,+BAAgC,CADhC,YAA0B,CAA1B,yBAA0B,CAK1B,uBACJ,CAEA,qBAGI,sBAAmC,CADnC,+BAAuC,CADvC,0BAGJ,CAEA,iBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,kBAAgC,CAAhC,+BACJ,CAEA,oBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,cAEI,kBAAmB,CACnB,cAAe,CAFf,eAA4C,CAA5C,2CAIJ,CAEA,oBACI,wBAAyB,CACzB,UACJ,CAEA,sBACI,wBAAyB,CACzB,UACJ,CAEA,uBACI,wBAAyB,CACzB,aACJ,CAEA,sBACI,wBAAyB,CACzB,UACJ,CAEA,sBACI,wBAAyB,CACzB,UACJ,CAEA,oBAKI,kBAAmB,CAHnB,UAAwB,CAAxB,uBAAwB,CAExB,YAAa,CAHb,cAAe,CAEf,iBAAgC,CAAhC,+BAGJ,CAEA,oBAEI,aAA2B,CAA3B,0BAA2B,CAD3B,gBAA+B,CAA/B,8BAA+B,CAG/B,iBAAkB,CADlB,UAEJ,CAEA,UAGI,wBAAsC,CAAtC,qCAAsC,CAEtC,WAAY,CACZ,iBAAmC,CAAnC,kCAAmC,CAFnC,UAAY,CAKZ,cAAe,CAFf,cAAe,CACf,eAAgB,CAGhB,eAA6B,CAA7B,4BAA6B,CAT7B,WAA0B,CAA1B,yBAA0B,CAQ1B,+BAAiC,CATjC,UAWJ,CAEA,gBACI,wBACJ,CAqBA,eACI,YAAa,CACb,qBAAsB,CACtB,QACJ,CAEA,eAEI,kBAAmB,CACnB,eAAgB,CAEhB,0BAAwC,CADxC,kBAAmB,CAEnB,mDAAyE,CAMzE,cAAe,CAXf,YAAa,CAMb,kBAAmB,CAGnB,gBAAiB,CAFjB,2BAA4B,CAC5B,iBAAkB,CAElB,uBAEJ,CAEA,qBACI,oDAA0E,CAC1E,0BACJ,CAEA,sBAMI,kBAAmB,CAHnB,kBAAmB,CAInB,aAAc,CALd,WAAY,CAGZ,iBAAkB,CADlB,gBAAiB,CAHjB,UAOJ,CAEA,eAGI,YAAa,CAFb,QAAO,CAGP,qBAAsB,CACtB,OAAQ,CACR,sBAAuB,CAJvB,WAKJ,CAEA,mBAEI,kBAAmB,CADnB,YAAa,CAEb,6BACJ,CAEA,kBAEI,UAAW,CADX,cAAe,CAEf,eAAgB,CAEhB,eAAgB,CADhB,QAAS,CAGT,eAAgB,CAChB,sBAAuB,CAFvB,kBAGJ,CAEA,iBAEI,iBAAkB,CADlB,cAAe,CAKf,eAAgB,CAGhB,eAAgB,CAFhB,eAAgB,CAJhB,gBAAiB,CAKjB,kBAEJ,CAEA,0CARI,kBAAmB,CACnB,aAUJ,CAEA,0BACI,kBAAmB,CACnB,aACJ,CAEA,2BACI,kBAAmB,CACnB,UACJ,CAEA,sBAII,kBAAmB,CAFnB,UAAW,CACX,YAAa,CAFb,cAAe,CAIf,eACJ,CAEA,wBACI,gBAAiB,CAEjB,iBAAkB,CADlB,UAEJ,CAEA,cACI,oBAAoC,CAGpC,iBAAkB,CAFlB,aAA2B,CAA3B,0BAA2B,CAG3B,cAAe,CACf,eAAgB,CAChB,eAAgB,CAJhB,eAKJ,CAGA,kBAQI,0BAAwC,CAHxC,8BAAqC,CADrC,iBAAgC,CAAhC,+BAKJ,CAEA,wBAGI,sBAAmC,CADnC,+BAEJ,CAEA,oBAGI,kBAAmB,CACnB,iBAAgC,CAAhC,+BACJ,CAQA,oBAGI,cAEJ,CAEA,6BACI,oBAAkC,CAClC,aACJ,CAEA,4BACI,oBAAkC,CAClC,aACJ,CAEA,6BACI,oBAAkC,CAClC,aACJ,CAEA,kBACI,iBAAgC,CAAhC,+BACJ,CAEA,sBAKI,cAAe,CAFf,qBAAsB,CACtB,iBAGJ,CAEA,wBACI,UAEJ,CAEA,qBAGI,eAAgB,CAChB,iBAAgC,CAAhC,+BACJ,CAQA,aAGI,OAAsB,CAAtB,qBAIJ,CAEA,eACI,aAA2B,CAA3B,0BACJ,CAQA,iBAQI,0BAAwC,CAHxC,8BAAqC,CADrC,iBAAgC,CAAhC,+BAKJ,CAEA,uBAGI,sBAAmC,CADnC,+BAEJ,CAEA,mBAGI,kBAAmB,CACnB,iBAAgC,CAAhC,+BACJ,CAQA,mBAGI,cAEJ,CAEA,6BACI,oBAAkC,CAClC,aACJ,CAEA,iBACI,iBAAgC,CAAhC,+BACJ,CAEA,qBAKI,cAAe,CAFf,qBAAsB,CACtB,iBAGJ,CAEA,uBAEI,aAA2B,CAA3B,0BAA2B,CAD3B,UAEJ,CAEA,oBAEI,UAAwB,CAAxB,uBAAwB,CACxB,eAAgB,CAChB,iBAAgC,CAAhC,+BACJ,CAkBA,gCAHI,YAA0B,CAA1B,yBASJ,CANA,cAKI,8BACJ,CAEA,2CAJI,kBAAgC,CAAhC,+BAWJ,CAPA,6BAMI,+BAA4C,CAA5C,2CAA4C,CAH5C,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAGhB,kBAAiC,CAAjC,gCAEJ,CAEA,YACI,kBAAgC,CAAhC,+BACJ,CAEA,kBAGI,eAAgB,CAEhB,+BACJ,CAEA,YAMI,eAEJ,CAQA,yBAbI,wBAAqC,CAArC,oCAAqC,CACrC,kCAAmC,CAGnC,gCAkBJ,CAQA,sBACI,wBAAyB,CACzB,UAAwB,CAAxB,uBAAwB,CACxB,kBACJ,CAEA,gBAEI,kBAAmB,CAGnB,kBAAmB,CACnB,wBAAyB,CACzB,iBAAmC,CAAnC,kCAAmC,CACnC,aAAc,CAPd,YAAa,CAEb,OAAQ,CACR,iBAKJ,CAEA,cACI,cAAe,CACf,eAEJ,CAEA,aAEI,aAAc,CADd,cAAe,CAEf,UACJ,CAEA,sBAEI,qBAAsB,CACtB,QACJ,CAEA,kBACI,YAAa,CACb,qBAAsB,CACtB,OACJ,CAEA,YAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eACJ,CAEA,YACI,UACJ,CAEA,uBAEI,kBAAmB,CAGnB,kBAAmB,CACnB,wBAAwC,CAAxC,uCAAwC,CACxC,iBAAmC,CAAnC,kCAAmC,CANnC,YAAa,CAEb,OAAQ,CACR,iBAKJ,CAEA,oCAHI,aAA6B,CAA7B,4BAOJ,CAJA,aACI,cAAe,CACf,eAEJ,CAEA,YAEI,aAA6B,CAA7B,4BAA6B,CAD7B,cAAe,CAEf,UACJ,CAEA,aACI,cAA6B,CAA7B,4BACJ,CAMA,YAOI,kCAAmC,CAJnC,OAAQ,CACR,iBAAkB,CAMlB,uBAAyB,CACzB,UAEJ,CAQA,cACI,cAA4B,CAA5B,2BAA4B,CAC5B,iBACJ,CAEA,YAKI,kBAAgC,CAAhC,+BAAgC,CAGhC,iBAAmC,CAAnC,kCAAmC,CAKnC,8BAA8C,CAZ9C,mBAAoB,CAEpB,OAAQ,CACR,iBAAkB,CAQlB,uBAEJ,CAEA,kBACI,kBAAmB,CAEnB,+BAA+C,CAD/C,0BAEJ,CAGA,yBACI,oBACJ,CAEA,gBAEI,YAAa,CACb,eAAgB,CAChB,iBAAkB,CAHlB,UAIJ,CAEA,oBAEI,WAAY,CACZ,gBAAiB,CAFjB,UAGJ,CAEA,gBAKI,8BAAyC,CAHzC,WAAyB,CAAzB,wBAAyB,CAEzB,YAA0B,CAA1B,yBAEJ,CAEA,+BAMI,+BAA4C,CAA5C,2CAA4C,CAH5C,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,kBAAgC,CAAhC,+BAAgC,CAChC,kBAAiC,CAAjC,gCAEJ,CAEA,aAGI,qBACJ,CAEA,aAGI,OAAsB,CAAtB,qBACJ,CAEA,mBACI,cAGJ,CAEA,iCAEI,cAAe,CAEf,eACJ,CAEA,eAGI,kBAAmB,CAEnB,6BAA2C,CAA3C,0CAA2C,CAD3C,iBAAmC,CAAnC,kCAAmC,CAHnC,QAAS,CACT,WAA0B,CAA1B,yBAIJ,CAGA,oBAEI,YAAa,CACb,sBACJ,CAEA,gBASI,kBAAmB,CARnB,kDAA6D,CAE7D,WAAY,CACZ,kBAAmB,CAQnB,+BAA8C,CAV9C,UAAY,CAKZ,cAAe,CACf,YAAa,CAFb,cAAe,CAIf,OAAQ,CALR,iBAAkB,CAMlB,uBAEJ,CAEA,sBAEI,+BAA8C,CAD9C,0BAEJ,CAEA,kBACI,cACJ,CAGA,6BAKI,2BAA4B,CAF5B,YAAa,CACb,eAAgB,CAHhB,iBAAkB,CAClB,UAIJ,CAEA,2BACI,YAAa,CAEb,WAAY,CACZ,6BAA+B,CAF/B,UAGJ,CAEA,yBAEI,WAAY,CADZ,aAEJ,CAEA,6BAEI,WAAY,CACZ,gBAAiB,CAFjB,UAGJ,CAEA,wBAEI,WAAY,CAGZ,YAAa,CACb,OAAQ,CAHR,QAAS,CAFT,iBAAkB,CAGlB,0BAA2B,CAG3B,SACJ,CAEA,cAII,oBAAoC,CADpC,iBAAkB,CAElB,cAAe,CAHf,UAAW,CAIX,uBAAyB,CALzB,SAMJ,CAEA,qBACI,eAAgB,CAChB,oBACJ,CAEA,uBAYI,kBAAmB,CARnB,oBAA8B,CAE9B,WAAY,CAGZ,iBAAkB,CAJlB,UAAY,CAKZ,cAAe,CACf,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CAZvB,iBAAkB,CAClB,OAAQ,CACR,0BAA2B,CAW3B,uBAAyB,CAPzB,UAAW,CAQX,SACJ,CAEA,6BACI,oBAA8B,CAC9B,qCACJ,CAEA,gCACI,SACJ,CAEA,gCACI,UACJ,CAGA,uCAGI,kBAAmB,CAKnB,kBAAmB,CADnB,wBAAqC,CAArC,oCAAqC,CADrC,iBAAkB,CAJlB,YAAa,CAEb,QAAS,CACT,YAIJ,CAEA,8DAGI,kBAAmB,CADnB,oBAEJ,CAGA,+BAEI,sDAAoF,CADpF,oBAAqB,CAErB,8BAA6C,CAC7C,0BAA2B,CAC3B,uBACJ,CAEA,6CACI,kBAAmB,CAEnB,8BAA4C,CAD5C,UAEJ,CAEA,8DACI,aAAc,CACd,eACJ,CAEA,kEACI,aAAc,CACd,eACJ,CAGA,iCAEI,sDAAsF,CADtF,oBAAqB,CAErB,8BAA8C,CAC9C,0BAA2B,CAC3B,uBACJ,CAEA,gDACI,kBAAmB,CAEnB,8BAA6C,CAD7C,UAEJ,CAEA,kEACI,aAAc,CACd,eACJ,CAEA,sEACI,aAAc,CACd,eACJ,CAGA,2BAII,sDAAsF,CAGtF,0BAAyC,CADzC,kBAAmB,CAGnB,8BAA8C,CAR9C,aASJ,CAGA,qDALI,oBAAqB,CALrB,cAAe,CADf,eAAgB,CAGhB,gBAmBJ,CAXA,0BAII,sDAAqF,CAGrF,0BAAwC,CADxC,kBAAmB,CAGnB,8BAA4C,CAR5C,aAAc,CASd,iBACJ,CAEA,iCACI,WAAY,CAEZ,cAAe,CADf,gBAEJ,CAEA,6BAMI,kBAAmB,CAEnB,kBAA+B,CAA/B,8BAA+B,CAJ/B,iBAAkB,CAKlB,UAAwB,CAAxB,uBAAwB,CAJxB,YAAa,CAFb,WAAY,CAIZ,sBAAuB,CALvB,UAQJ,CAEA,mCAEI,QACJ,CAEA,6BAII,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,iBACJ,CAEA,qCAGI,UAAwB,CAAxB,uBAAwB,CADxB,cAEJ,CAGA,gBAOI,eAAgB,CALhB,QAAS,CAOT,+BAAyC,CANzC,QAAS,CAGT,eAAgB,CAEhB,YAAa,CAPb,cAAe,CAGf,0BAA2B,CAC3B,UAAW,CAKX,UACJ,CAEA,YAWI,kBAAmB,CATnB,kDAAkE,CAAlE,+DAAkE,CAElE,WAAY,CACZ,kBAAmB,CAUnB,+BAA+C,CAZ/C,UAAY,CAMZ,cAAe,CACf,YAAa,CAHb,cAAe,CACf,eAAgB,CAKhB,OAAQ,CADR,sBAAuB,CANvB,iBAAkB,CAQlB,uBAAyB,CAbzB,UAeJ,CAEA,kBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,mBAEI,8BAA8C,CAD9C,uBAEJ,CAEA,qBACI,kBAAmB,CAGnB,eAAgB,CAFhB,UAAwB,CAAxB,uBAAwB,CACxB,kBAEJ,CAEA,2BAEI,eAAgB,CADhB,cAEJ,CAEA,sBACI,kDAA6D,CAE7D,+BAA+C,CAD/C,UAEJ,CAEA,2CAEI,+BAA+C,CAD/C,0BAEJ,CAEA,cACI,cACJ,CAGA,mBACI,YAAa,CACb,qBAAsB,CACtB,QAAsB,CAAtB,qBACJ,CAEA,kBAOI,sBAAuB,CANvB,eAAiB,CACjB,kBAAmB,CAEnB,+BAA0C,CAC1C,YAAa,CACb,6BAA8B,CAH9B,YAA0B,CAA1B,yBAA0B,CAM1B,iBAAkB,CADlB,uBAEJ,CAEA,wBAEI,+BAA0C,CAD1C,0BAEJ,CAEA,kBACI,QAAO,CACP,WACJ,CAEA,oBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,iBACJ,CAEA,kBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAEJ,CAEA,oBAGI,kBAAmB,CAEnB,oBAAqB,CAJrB,cAAe,CAGf,eAAgB,CAFhB,eAIJ,CAEA,4BACI,kBAAmB,CACnB,aACJ,CAEA,gCACI,kBAAmB,CACnB,aACJ,CAGA,sCACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,sCACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,uCACI,sDAAuF,CAEvF,0BAAyC,CADzC,aAEJ,CAEA,mCACI,sDAAyF,CAEzF,0BAA0C,CAD1C,aAEJ,CAGA,aAMI,gBAAiB,CAHjB,kBAAmB,CAEnB,oBAAqB,CAJrB,cAAe,CAGf,eAAgB,CAFhB,gBAKJ,CAEA,mCACI,sDAAyF,CAEzF,sBAAsC,CADtC,aAEJ,CAEA,+BACI,sDAAuF,CAEvF,sBAAqC,CADrC,aAEJ,CAEA,+BACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,gCACI,sDAAqF,CAErF,sBAAoC,CADpC,aAEJ,CAEA,qBACI,YAAa,CACb,qBAAsB,CACtB,OACJ,CAEA,sEAKI,kBAAmB,CAGnB,UAAwB,CAAxB,uBAAwB,CAJxB,YAAa,CAGb,cAAe,CADf,OAAQ,CAGR,gBACJ,CAEA,8EAKI,aAAc,CADd,UAEJ,CAEA,qBAEI,WAAyB,CAAzB,wBAAyB,CADzB,iBAAkB,CAElB,UAAwB,CAAxB,uBACJ,CAEA,YASI,kBAAmB,CARnB,kDAA6D,CAE7D,WAAY,CACZ,iBAAkB,CAFlB,UAAY,CAKZ,cAAe,CACf,YAAa,CAFb,cAAe,CAIf,OAAQ,CALR,gBAAiB,CAMjB,uBACJ,CAEA,kBAEI,+BAA+C,CAD/C,0BAEJ,CAGA,eAMI,oBAA8B,CAI9B,YACJ,CAEA,eACI,eAAiB,CACjB,kBAAmB,CAKnB,2BAAyC,CAHzC,eAAgB,CADhB,YAA0B,CAA1B,yBAA0B,CAG1B,iBAAkB,CADlB,SAGJ,CAEA,kBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,kBAAgC,CAAhC,+BACJ,CAEA,mBAII,iBAAkB,CAFlB,YAAa,CACb,aAA2B,CAA3B,0BAA2B,CAF3B,WAIJ,CAEA,iBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,kBAAgC,CAAhC,+BACJ,CAEA,iBACI,kDAA6D,CAE7D,WAAY,CACZ,iBAAkB,CAFlB,UAAY,CAKZ,cAAe,CADf,cAAe,CADf,iBAAkB,CAGlB,uBACJ,CAEA,uBAEI,+BAA+C,CAD/C,0BAEJ,CAGA,SAGI,UAAwB,CAAxB,uBAAwB,CADxB,YAA0B,CAA1B,yBAA0B,CAD1B,iBAGJ,CAEA,WACI,cAAe,CACf,kBAAgC,CAAhC,+BAAgC,CAChC,UACJ,CAEA,WACI,cAAe,CACf,QACJ,CAGA,wBAGI,aAAS,CAET,eAAgB,CAChB,kBAAmB,CACnB,+BAA6C,CAN7C,YAAa,CAEb,QAAS,CADT,mCAAqC,CAErC,qBAA2B,CAI3B,iBAAkB,CAClB,SACJ,CAEA,oBAGI,kBAAmB,CACnB,eAAgB,CAChB,WAAY,CACZ,eAAgB,CAChB,cAAe,CANf,YAAa,CACb,qBAAsB,CAMtB,uCACJ,CAEA,qDACI,sCACJ,CAEA,sBAOI,kBAAmB,CAJnB,iBAAkB,CAOlB,8BAA4C,CAN5C,UAAW,CAEX,YAAa,CADb,cAAe,CAHf,WAAY,CAMZ,sBAAuB,CACvB,iBAAkB,CARlB,UAUJ,CAEA,kCAAqC,kDAA+D,CACpG,mCAAqC,kDAA+D,CACpG,mCAAqC,kDAA6D,CAAE,aAAgB,CACpH,mCAAqC,kDAA+D,CACpG,mCAAqC,kDAA+D,CACpG,mCAAqC,kDAA+D,CAEpG,yBAEI,UAAW,CADX,cAAe,CAEf,cAAe,CACf,iBACJ,CAKA,0BACI,kBAAmC,CAAnC,kCAAmC,CACnC,gBACJ,CAGA,kBACI,YAAa,CAIb,QAAS,CACT,UACJ,CAGA,qCARI,eAAgB,CAChB,+BAA4C,CAA5C,2CAA4C,CAC5C,uBAAgB,CAAhB,eAaJ,CAPA,mBAEI,YAAa,CAGb,SAAU,CACV,UACJ,CAEA,iBAGI,eAAgB,CAChB,WAAY,CAGZ,UAAwB,CAAxB,uBAAwB,CACxB,cAAe,CAPf,QAAO,CAIP,cAAe,CACf,eAAgB,CAJhB,YAAa,CAQb,iBAAkB,CADlB,kBAEJ,CAEA,wBACI,aAA2B,CAA3B,0BAA2B,CAC3B,eACJ,CAEA,8BAQI,iDAAiE,CAAjE,8DAAiE,CACjE,iBAAkB,CANlB,QAAS,CAFT,UAAW,CAMX,UAAW,CAHX,QAAS,CAFT,iBAAkB,CAGlB,0BAA2B,CAC3B,UAIJ,CAGA,eACI,eAAgB,CAEhB,+BAA4C,CAA5C,2CAA4C,CAE5C,6BAA8B,CAH9B,YAKJ,CAOA,6CARI,kBAAmB,CAFnB,YAgBJ,CANA,gBAKI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,cAEJ,CAEA,qCACI,YACJ,CAEA,WAGI,wBAAqC,CAArC,oCAAqC,CACrC,iBAAkB,CAFlB,WAAY,CAGZ,gBAAiB,CACjB,iBAAkB,CAClB,kBAAoB,CANpB,UAOJ,CAEA,wDACI,kBAAgC,CAAhC,+BAAgC,CAChC,oBAAkC,CAAlC,iCACJ,CAEA,8DAQI,iBAAyB,CAAzB,wBAAyB,CAPzB,UAAW,CAKX,WAAY,CAHZ,QAAS,CADT,iBAAkB,CAElB,OAAQ,CAKR,uBAAwB,CAJxB,SAKJ,CAEA,eACI,YAAa,CACb,QACJ,CAEA,WAEI,kBAAmB,CAGnB,WAAY,CACZ,kBAAmB,CAGnB,cAAe,CARf,YAAa,CAMb,cAAe,CACf,eAAgB,CALhB,OAAQ,CACR,gBAAiB,CAMjB,kBACJ,CAEA,oBAEI,kBAAmB,CADnB,UAEJ,CAEA,mBACI,kDAAkE,CAAlE,+DAAkE,CAClE,UACJ,CAEA,wCAEI,+BAA8C,CAD9C,0BAEJ,CAEA,kBACI,+CAAkE,CAAlE,4DAAkE,CAClE,UACJ,CAEA,uCAEI,+BAA+C,CAD/C,0BAEJ,CAGA,wBAQI,kBAAmB,CAInB,6BAA+B,CAN/B,oBAA8B,CAD9B,QAAS,CAET,YAAa,CAEb,sBAAuB,CANvB,MAAO,CAQP,YAAa,CAVb,cAAe,CAGf,OAAQ,CAFR,KAAM,CAQN,YAGJ,CAEA,gBAMI,8BAAgC,CALhC,eAAiB,CACjB,kBAAmB,CACnB,+BAA0C,CAC1C,eAAgB,CAGhB,eAAgB,CAFhB,UAGJ,CAEA,uBAGI,kDAA6D,CAC7D,UAAY,CAFZ,sBAA4B,CAD5B,iBAIJ,CAEA,qBAMI,kBAAmB,CAHnB,gBAAoC,CACpC,iBAAkB,CAKlB,+BAAyC,CAJzC,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CACvB,kBAAwB,CAPxB,UASJ,CAEA,uBAEI,UAAY,CADZ,cAEJ,CAEA,sBACI,cAAe,CACf,eAAgB,CAChB,QAAS,CACT,+BACJ,CAEA,wBACI,iBAAkB,CAClB,iBACJ,CAEA,0BAGI,UAAc,CADd,cAAe,CAEf,eAAgB,CAChB,eAAgB,CAJhB,QAKJ,CAEA,wBACI,YAAa,CACb,QAAS,CACT,mBACJ,CAEA,oBAUI,kBAAmB,CAPnB,WAAY,CACZ,iBAAkB,CAGlB,cAAe,CAEf,YAAa,CARb,QAAO,CAIP,cAAe,CACf,eAAgB,CAMhB,OAAQ,CADR,sBAAuB,CATvB,iBAAkB,CAMlB,uBAKJ,CAEA,4BACI,kDAA6D,CAE7D,+BAA8C,CAD9C,UAEJ,CAEA,kCAEI,+BAA8C,CAD9C,0BAEJ,CAEA,mCACI,uBACJ,CAwBA,yBACI,wBACI,YACJ,CAEA,gBAEI,kBAAmB,CADnB,cAEJ,CAEA,uBACI,sBACJ,CAEA,qBAEI,WAAY,CADZ,UAEJ,CAEA,uBACI,cACJ,CAEA,sBACI,cACJ,CAEA,wBACI,iBACJ,CAEA,0BACI,cACJ,CAEA,wBAEI,QAAS,CADT,mBAEJ,CAEA,oBAEI,cAAe,CADf,iBAEJ,CACJ,CAGA,yBACI,wBACI,WACJ,CAEA,uBACI,sBACJ,CAEA,qBAEI,WAAY,CADZ,UAEJ,CAEA,uBACI,cACJ,CAEA,sBACI,cACJ,CAEA,wBACI,iBACJ,CAEA,0BACI,cACJ,CAEA,wBAEI,OAAQ,CADR,mBAEJ,CAEA,oBAEI,cAAe,CADf,gBAEJ,CACJ,CAGA,aAEI,uBACJ,CAEA,aACI,eAAgB,CAChB,iBAAmC,CAAnC,kCAAmC,CAEnC,8BAAyB,CAAzB,wBAAyB,CAEzB,YAAa,CAHb,kBAAmB,CAEnB,eAAgB,CAEhB,kBACJ,CAEA,mBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,iBAEI,kBAAmB,CAEnB,kBAAmB,CAHnB,YAAa,CAEb,iBAEJ,CAEA,gBAGI,cAAe,CAFf,QAAO,CACP,YAEJ,CAEA,eAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,kBACJ,CAEA,aAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAEJ,CAEA,eAEI,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAEhB,cAAe,CALf,gBAAiB,CAIjB,iBAEJ,CAEA,uBACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAEA,wBACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAEA,wBACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAEA,aAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,iBACJ,CAEA,cAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eACJ,CAEA,eAEI,aAA2B,CAA3B,0BAA2B,CAD3B,cAAe,CAEf,eACJ,CAEA,aAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAEJ,CAIA,0BACI,kBAAmC,CAAnC,kCAAmC,CACnC,gBACJ,CAEA,uBAEI,YAAa,CACb,qBAAsB,CACtB,QAAS,CAHT,YAIJ,CAEA,gBACI,eAAgB,CAChB,iBAAmC,CAAnC,kCAAmC,CAEnC,8BAAyB,CAAzB,wBAAyB,CADzB,YAEJ,CAEA,eAII,kBAAmB,CACnB,kBAGJ,CAYA,aAGI,QACJ,CAEA,0BALI,YAAa,CACb,qBAQJ,CAJA,aAGI,OACJ,CAEA,mBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eACJ,CAOA,gCAJI,cAaJ,CATA,cAKI,kBAAmB,CAEnB,6BAA2C,CAA3C,0CAA2C,CAD3C,iBAAkB,CAJlB,UAAwB,CAAxB,uBAAwB,CACxB,eAAgB,CAKhB,QAAS,CAJT,YAKJ,CAEA,cACI,aAA2B,CAA3B,0BAA2B,CAE3B,cACJ,CAGA,cAGI,kBAAmB,CAFnB,oBAAqB,CAGrB,cAAe,CACf,eAAgB,CAEhB,cAAe,CALf,gBAAiB,CAIjB,iBAEJ,CAEA,sBACI,kDAAqD,CAErD,wBAAyB,CADzB,aAEJ,CAEA,uBACI,kDAAqD,CAErD,wBAAyB,CADzB,aAEJ,CAEA,uBACI,kDAAqD,CAErD,wBAAyB,CADzB,aAEJ,CAGA,0BACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,0BACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,0BACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAGA,gBACI,YAAa,CACb,QACJ,CAEA,YAGI,kBAAmB,CAInB,WAAY,CACZ,kBAAmB,CAKnB,8BAAwC,CAFxC,cAAe,CATf,YAAa,CADb,QAAO,CAQP,cAAe,CACf,eAAgB,CALhB,OAAQ,CADR,sBAAuB,CAEvB,iBAAkB,CAMlB,kBAEJ,CAEA,cACI,cACJ,CAEA,oBACI,kDAAkE,CAAlE,+DAAkE,CAClE,UACJ,CAEA,0BAEI,+BAA8C,CAD9C,0BAEJ,CAEA,mBACI,+CAAkE,CAAlE,4DAAkE,CAClE,UACJ,CAEA,yBAEI,+BAA+C,CAD/C,0BAEJ,CAGA,4BAGI,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAEtB,sBAAuB,CACvB,iBAAkB,CAClB,iBACJ,CAEA,gCAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,kBAAmB,CACnB,UACJ,CAEA,4BACI,aAA2B,CAA3B,0BAA2B,CAC3B,SACJ,CAEA,gCAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,QACJ,CAGA,yBACI,eAGI,mBAAoB,CAFpB,qBAAsB,CACtB,QAEJ,CAEA,eACI,sBACJ,CAEA,gBACI,qBACJ,CAEA,YACI,iBACJ,CACJ,CAKA,6BACI,kBAAmC,CAAnC,kCAAmC,CACnC,gBACJ,CAGA,uBACI,YACJ,CAEA,uBACI,eAAgB,CAChB,iBAAmC,CAAnC,kCAAmC,CAEnC,8BAAyB,CAAzB,wBAAyB,CAEzB,YAAa,CAHb,kBAAmB,CAEnB,eAAgB,CAEhB,kBACJ,CAEA,6BAEI,+BAA+C,CAD/C,0BAEJ,CAEA,0BAGI,cAAe,CAFf,QAAO,CACP,YAEJ,CAEA,yBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,kBACJ,CAEA,gBAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAEJ,CAEA,kBAEI,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAEhB,cAAe,CALf,gBAAiB,CAIjB,iBAEJ,CAEA,0BACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAEA,2BACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAEA,2BACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAGA,8BACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,8BACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,8BACI,sDAAqF,CAErF,0BAAwC,CADxC,aAEJ,CAEA,gBACI,YAAa,CACb,qBAAsB,CACtB,OAAQ,CACR,iBACJ,CAEA,iBAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eACJ,CAEA,cACI,cAEJ,CAEA,8BAHI,UAAwB,CAAxB,uBAMJ,CAHA,gBACI,cAEJ,CAIA,oCACI,kBAAmC,CAAnC,kCAAmC,CACnC,gBACJ,CAGA,gEACI,+CAA0D,CAC1D,wBACJ,CAEA,+EACI,aAA2B,CAA3B,0BACJ,CAEA,qFACI,iDAAmE,CAAnE,gEACJ,CAGA,mBACI,kBAAmB,CAGnB,6BAA6C,CAA7C,4CAA6C,CAD7C,iBAAkB,CAElB,cAAe,CAHf,YAIJ,CAEA,wBACI,iCAAqC,CACrC,eAAgB,CAChB,kBACJ,CAGA,gBAEI,kBAAmB,CAEnB,kDAAoE,CAApE,iEAAoE,CAGpE,kBAAmB,CAFnB,UAAW,CAJX,mBAAoB,CAOpB,cAAe,CACf,eAAgB,CANhB,OAAQ,CAGR,gBAIJ,CAEA,kBACI,cACJ,CAGA,yBACI,yBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,kBACJ,CAEA,gBAEI,QAAO,CADP,cAAe,CAEf,gBACJ,CAEA,kBACI,aACJ,CACJ,CAKA,8BACI,kBAAmC,CAAnC,kCAAmC,CACnC,gBACJ,CAEA,4BAEI,YAAa,CACb,qBAAsB,CACtB,QAAS,CAHT,YAIJ,CAGA,WACI,eAAgB,CAChB,iBAAmC,CAAnC,kCAAmC,CAGnC,8BAAyB,CAAzB,wBAAyB,CAFzB,YAAa,CACb,iBAEJ,CAEA,YASI,kBAAmB,CAJnB,kBAAmB,CACnB,kBAAmB,CAEnB,YAAa,CALb,YAAa,CAOb,sBAAuB,CANvB,kBAAmB,CAGnB,eAAgB,CANhB,iBAAkB,CAClB,WASJ,CAEA,qBAEI,+BAAgC,CADhC,wBAAsC,CAAtC,qCAEJ,CAEA,oBACI,kDAAqD,CACrD,wBAAsC,CAAtC,qCACJ,CAEA,qBACI,MACI,oBAAkC,CAAlC,iCAAkC,CAClC,4BACJ,CACA,IACI,oBAAqB,CACrB,+BACJ,CACJ,CAGA,aAII,wBAAsC,CAAtC,qCAAsC,CADtC,WAAY,CAFZ,iBAAkB,CAClB,UAGJ,CAEA,sBAII,kBAAmB,CADnB,iBAAkB,CADlB,SAAU,CADV,QAIJ,CAEA,uBAII,kBAAmB,CADnB,gBAAiB,CADjB,UAAW,CADX,QAIJ,CAEA,yBAGI,iBAAkB,CAClB,eAAgB,CAHhB,WAAY,CACZ,SAGJ,CAEA,0BAGI,gBAAiB,CACjB,eAAgB,CAHhB,WAAY,CACZ,UAGJ,CAGA,WAMI,qDAAkF,CAAlF,kEAAkF,CADlF,UAAW,CAFX,SAAU,CAIV,SAAU,CANV,iBAAkB,CAGlB,UAAW,CAFX,KAMJ,CAEA,oBAEI,yCAA0C,CAD1C,SAEJ,CAEA,wBACI,GAAK,uBAA0B,CAC/B,GAAO,2BAA8B,CACzC,CAGA,cAGI,kBAAmB,CAEnB,aAA2B,CAA3B,0BAA2B,CAJ3B,YAAa,CACb,qBAAsB,CAEtB,OAEJ,CAEA,gBAEI,aAAc,CADd,cAEJ,CAEA,mBAGI,aAAc,CAFd,cAAe,CACf,eAEJ,CAGA,UAGI,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAEtB,OAAQ,CACR,kBACJ,CAEA,YAEI,aAA2B,CAA3B,0BAA2B,CAD3B,cAEJ,CAEA,YAEI,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,QACJ,CAGA,cACI,YAAa,CAEb,QAAS,CADT,sBAEJ,CAEA,UAEI,kBAAmB,CAGnB,WAAY,CACZ,kBAAmB,CAGnB,cAAe,CARf,YAAa,CAMb,cAAe,CACf,eAAgB,CALhB,OAAQ,CACR,iBAAkB,CAMlB,kBACJ,CAEA,gBACI,kDAAkE,CAAlE,+DAAkE,CAClE,UACJ,CAEA,sBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,gBACI,4CAA4D,CAA5D,yDAA4D,CAC5D,UACJ,CAEA,sBAEI,+BAA+C,CAD/C,0BAEJ,CAGA,qBACI,eAAgB,CAChB,iBAAmC,CAAnC,kCAAmC,CAEnC,8BAAyB,CAAzB,wBAAyB,CADzB,YAEJ,CAEA,cACI,kBACJ,CAEA,yBACI,eACJ,CAEA,oBAII,UAAwB,CAAxB,uBAAwB,CAHxB,aAAc,CACd,cAAe,CACf,eAAgB,CAEhB,iBACJ,CAEA,oBAGI,wBAAqC,CAArC,oCAAqC,CACrC,iBAAkB,CAGlB,qBAAsB,CAFtB,cAAe,CAHf,iBAAkB,CAIlB,kBAAoB,CALpB,UAOJ,CAEA,0BAEI,oBAAkC,CAAlC,iCAAkC,CAClC,8BAA8C,CAF9C,YAGJ,CAcA,oCAJI,YAAa,CACb,sBAmBJ,CAhBA,gBAEI,kBAAmB,CAWnB,kDAAkE,CAAlE,+DAAkE,CAPlE,WAAY,CACZ,kBAAmB,CAQnB,+BAA8C,CAD9C,UAAW,CAJX,cAAe,CAFf,cAAe,CACf,eAAgB,CALhB,QAAS,CAQT,eAAgB,CAPhB,iBAAkB,CAMlB,kBAKJ,CAEA,qCAEI,+BAA8C,CAD9C,0BAEJ,CAEA,yBAGI,eAAgB,CAChB,eAAgB,CAFhB,kBAAmB,CADnB,UAIJ,CAEA,kBACI,cACJ,CAKA,yBACI,4BAEI,QAAS,CADT,YAEJ,CAEA,YAEI,YAAa,CADb,WAEJ,CAEA,aAEI,WAAY,CADZ,UAEJ,CAEA,gBAEI,cAAe,CACf,eAAgB,CAFhB,iBAGJ,CACJ,CAKA,4BACI,kBAAmC,CAAnC,kCAAmC,CACnC,gBACJ,CAEA,sBAEI,YAAa,CACb,qBAAsB,CACtB,QAAS,CAHT,YAIJ,CAGA,cACI,eAAgB,CAChB,iBAAmC,CAAnC,kCAAmC,CAEnC,8BAAyB,CAAzB,wBAAyB,CADzB,YAEJ,CAEA,eAMI,+BAA4C,CAA5C,2CAA4C,CAH5C,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,kBAAmB,CACnB,mBAAoB,CAEpB,iBACJ,CAEA,qBAOI,iDAAiE,CAAjE,8DAAiE,CAJjE,WAAY,CAFZ,UAAW,CAKX,UAAW,CAFX,MAAO,CAFP,iBAAkB,CAGlB,UAGJ,CAGA,YACI,kBACJ,CAEA,uBACI,eACJ,CAEA,kBAII,UAAwB,CAAxB,uBAAwB,CAHxB,aAAc,CACd,cAAe,CACf,eAAgB,CAEhB,iBACJ,CAGA,YAGI,wBAAqC,CAArC,oCAAqC,CACrC,iBAAkB,CAGlB,qBAAsB,CACtB,mBAAoB,CAHpB,cAAe,CAHf,iBAAkB,CAIlB,kBAAoB,CALpB,UAQJ,CAEA,kBAEI,oBAAkC,CAAlC,iCAAkC,CAClC,8BAA8C,CAF9C,YAGJ,CAEA,yBACI,UACJ,CAGA,aAMI,eAAgB,CAHhB,wBAAqC,CAArC,oCAAqC,CACrC,iBAAkB,CAKlB,qBAAsB,CAFtB,cAAe,CAFf,cAAe,CAHf,iBAAkB,CAMlB,kBAAoB,CAPpB,UASJ,CAEA,mBAEI,oBAAkC,CAAlC,iCAAkC,CAClC,8BAA8C,CAF9C,YAGJ,CAGA,sBACI,YAAa,CACb,QACJ,CAEA,kBACI,QACJ,CAEA,YAII,UAAwB,CAAxB,uBAAwB,CAHxB,aAAc,CAEd,eAAgB,CAEhB,iBACJ,CAEA,wBANI,cAQJ,CAGA,aACI,YAAa,CACb,qBAAsB,CACtB,QACJ,CAEA,mBACI,YACJ,CAEA,YAEI,kBAAmB,CAMnB,kBAAmB,CAFnB,yBAAsC,CAAtC,qCAAsC,CACtC,iBAAkB,CAKlB,UAAwB,CAAxB,uBAAwB,CAHxB,cAAe,CARf,YAAa,CAUb,cAAe,CAPf,QAAS,CADT,sBAAuB,CAEvB,iBAAkB,CAKlB,kBAGJ,CAEA,kBAEI,oBAAqC,CADrC,oBAAkC,CAAlC,iCAAkC,CAElC,aAA2B,CAA3B,0BACJ,CAEA,cACI,cACJ,CAGA,eAGI,iBAAkB,CAElB,8BAAyB,CAAzB,wBAAyB,CAHzB,oBAAqB,CAErB,eAAgB,CAHhB,iBAKJ,CAEA,mBAII,aAAc,CAFd,WAAY,CACZ,gBAAiB,CAFjB,WAIJ,CAEA,cAYI,kBAAmB,CAJnB,gBAA8B,CAF9B,WAAY,CACZ,iBAAkB,CAElB,UAAW,CACX,cAAe,CACf,YAAa,CAGb,cAAe,CATf,WAAY,CAQZ,sBAAuB,CAZvB,iBAAkB,CAElB,SAAU,CADV,OAAQ,CAaR,kBAAoB,CAXpB,UAYJ,CAEA,oBACI,oBACJ,CAGA,cAGI,YACJ,CAEA,0BALI,YAAa,CACb,sBAoBJ,CAhBA,YAEI,kBAAmB,CAWnB,kDAAkE,CAAlE,+DAAkE,CAPlE,WAAY,CACZ,kBAAmB,CAQnB,+BAA+C,CAD/C,UAAW,CAJX,cAAe,CAFf,cAAe,CACf,eAAgB,CALhB,QAAS,CAQT,eAAgB,CAPhB,iBAAkB,CAMlB,kBAKJ,CAEA,kBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,cACI,cACJ,CAGA,yBAEI,eAAgB,CADhB,iBAEJ,CAGA,kBAGI,eAAgB,CADhB,gBAAiB,CADjB,eAGJ,CAGA,yBACI,sBAEI,QAAS,CADT,YAEJ,CAEA,cACI,YACJ,CAEA,sBACI,qBAAsB,CACtB,QACJ,CAEA,YAEI,cAAe,CACf,eAAgB,CAFhB,iBAGJ,CAEA,mBAEI,WAAY,CADZ,WAEJ,CACJ,CAGA,yBACI,YAA0B,CAA1B,yBACJ,CAEA,iBACI,YAAa,CACb,qBAAsB,CACtB,QAAS,CACT,aACJ,CAEA,aAEI,kBAAmB,CAGnB,kBAAmB,CAEnB,6BAA2C,CAA3C,0CAA2C,CAD3C,iBAAmC,CAAnC,kCAAmC,CALnC,YAAa,CAEb,OAAQ,CACR,YAIJ,CAEA,eACI,aAA2B,CAA3B,0BAA2B,CAC3B,cACJ,CAEA,kBACI,UAAwB,CAAxB,uBAAwB,CACxB,cAAe,CACf,eACJ,CAGA,uCAEI,eAAgB,CAChB,4BAAyC,CAAzC,wCAAyC,CAEzC,QAAS,CACT,eAAgB,CALhB,YAA0B,CAA1B,yBAA0B,CAG1B,uBAAgB,CAAhB,eAGJ,CAEA,qCAUI,kBAAmB,CAPnB,kDAA6D,CAE7D,WAAY,CACZ,iBAAmC,CAAnC,kCAAmC,CASnC,+BAA+C,CAX/C,UAAY,CASZ,cAAe,CAJf,YAAa,CAFb,cAAe,CACf,eAAgB,CAIhB,OAAQ,CADR,sBAAuB,CATvB,YAAa,CAYb,uBAAyB,CAbzB,UAeJ,CAEA,2CAEI,+BAA+C,CAD/C,0BAEJ,CAEA,uCACI,cACJ,CAGA,kBASI,kBAAmB,CAHnB,0BAAoC,CAEpC,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CAPvB,MAAO,CAFP,cAAe,CACf,KAAM,CAEN,UAAW,CAGX,YAIJ,CAEA,UASI,6BAA+B,CAR/B,eAAiB,CACjB,kBAAmB,CAMnB,2BAAyC,CAHzC,eAAgB,CADhB,eAAgB,CAGhB,iBAAkB,CADlB,eAAgB,CAIhB,iBAAkB,CAPlB,SAAU,CAQV,YACJ,CAEA,iBAGI,kBAAmB,CAEnB,+BAAgC,CAJhC,YAAa,CACb,6BAA8B,CAE9B,iBAEJ,CAEA,oBAGI,UAAW,CAFX,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,kBAKI,gBAAiB,CAJjB,YAAa,CAEb,iBAAkB,CADlB,iBAAkB,CAElB,SAEJ,CAMA,oCAHI,kBAUJ,CAPA,iBACI,kDAA6D,CAC7D,kBAAmB,CAInB,eAAgB,CAHhB,iBAAkB,CAElB,iBAEJ,CAEA,wBAQI,oCAAqC,CADrC,wDAA8E,CAN9E,UAAW,CAKX,WAAY,CAFZ,SAAU,CAFV,iBAAkB,CAClB,QAAS,CAET,UAIJ,CAEA,kBACI,GAAO,sBAAyB,CAChC,GAAK,uBAA2B,CACpC,CAEA,iBAKI,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAEtB,QAAS,CALT,iBAAkB,CAClB,SAKJ,CAEA,mBAII,uCAAwC,CAFxC,UAAY,CADZ,cAAe,CAEf,+BAEJ,CAOA,iBAGI,UAAY,CAFZ,cAAe,CACf,eAAgB,CAEhB,cAAiB,CACjB,+BACJ,CAEA,gBAEI,eAA4B,CAD5B,cAAe,CAEf,QAAS,CACT,+BACJ,CAEA,cACI,kBAAmB,CAGnB,wBAAyB,CAFzB,kBAAmB,CACnB,YAEJ,CAEA,cAEI,kBAAmB,CAInB,UAAW,CALX,YAAa,CAIb,cAAe,CAFf,QAAS,CACT,kBAGJ,CAEA,yBACI,eACJ,CAEA,gBACI,aAA2B,CAA3B,0BAA2B,CAG3B,cAAe,CADf,iBAAkB,CADlB,UAGJ,CAEA,kBAGI,kBAAmB,CAEnB,wBAAyB,CADzB,kBAAmB,CAHnB,eAAgB,CAChB,YAIJ,CAEA,kBACI,YAAa,CACb,QAAS,CACT,eAAgB,CAChB,iBAAkB,CAElB,UAAW,CADX,SAEJ,CAEA,iBAGI,kBAAmB,CAWnB,kDAA6D,CAP7D,WAAY,CACZ,kBAAmB,CAQnB,+BAA+C,CAD/C,UAAY,CAJZ,cAAe,CATf,YAAa,CADb,QAAO,CAQP,cAAe,CACf,eAAgB,CALhB,OAAQ,CADR,sBAAuB,CAEvB,iBAAkB,CAWlB,iBAAkB,CAJlB,oBAAqB,CADrB,uBAAyB,CAMzB,SACJ,CAEA,uBAEI,+BAA+C,CAD/C,0BAEJ,CAIA,mBACI,cACJ,CAcA,kBACI,eAAiB,CAOjB,6BAA2C,CAA3C,0CAA2C,CAN3C,kBAAmB,CAGnB,8BAAyC,CACzC,cAAe,CAFf,kBAAgC,CAAhC,+BAAgC,CADhC,YAA0B,CAA1B,yBAA0B,CAI1B,uBAEJ,CAEA,wBAEI,+BAAgD,CADhD,0BAEJ,CAEA,oBAGI,sBAAuB,CAFvB,YAAa,CACb,6BAA8B,CAE9B,kBACJ,CAEA,mBAGI,UAAwB,CAAxB,uBAAwB,CACxB,QAAO,CAHP,cAAe,CACf,eAAgB,CAGhB,iBACJ,CAEA,oBAGI,kBAAmB,CAFnB,cAAe,CAGf,eAAgB,CAFhB,eAGJ,CAEA,4DAEI,kBAAmB,CACnB,aACJ,CAEA,6DAEI,kBAAmB,CACnB,aACJ,CAEA,6DAEI,kBAAmB,CACnB,aACJ,CAEA,kBACI,kBACJ,CAEA,sBAEI,kBAAmB,CAInB,UAAwB,CAAxB,uBAAwB,CALxB,YAAa,CAIb,cAAe,CAFf,OAAQ,CACR,iBAGJ,CAEA,wBACI,aAA2B,CAA3B,0BAA2B,CAC3B,UACJ,CAEA,qBAMI,oBAAqB,CACrB,2BAA4B,CAL5B,UAAwB,CAAxB,uBAAwB,CAGxB,mBAAoB,CAJpB,cAAe,CAEf,eAAgB,CAChB,kBAAmB,CAInB,eACJ,CAEA,oBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAEJ,CAEA,aAEI,kBAAmB,CAInB,aAA2B,CAA3B,0BAA2B,CAL3B,YAAa,CAGb,cAAe,CACf,eAAgB,CAFhB,OAIJ,CAEA,eACI,cACJ,CAEA,mBAEI,cACJ,CAGA,gCALI,UAAwB,CAAxB,uBASJ,CAJA,aAEI,iBAAkB,CADlB,iBAGJ,CAEA,eACI,cAAe,CACf,QACJ,CAGA,iBACI,eAAiB,CAOjB,6BAA8B,CAN9B,kBAAmB,CAGnB,8BAAyC,CACzC,cAAe,CAFf,kBAAgC,CAAhC,+BAAgC,CADhC,YAA0B,CAA1B,yBAA0B,CAI1B,uBAEJ,CAEA,uBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,mBAGI,sBAAuB,CAFvB,YAAa,CACb,6BAA8B,CAE9B,kBACJ,CAEA,kBAGI,UAAwB,CAAxB,uBAAwB,CACxB,QAAO,CAHP,cAAe,CACf,eAAgB,CAGhB,iBAAkB,CAClB,eACJ,CAEA,mBAGI,kBAAmB,CAFnB,cAAe,CAGf,eAAgB,CAFhB,eAGJ,CAEA,6BACI,kBAAmB,CACnB,aACJ,CAEA,mCACI,kBAAmB,CACnB,aACJ,CAEA,iBACI,kBACJ,CAEA,qBAEI,kBAAmB,CAInB,UAAwB,CAAxB,uBAAwB,CALxB,YAAa,CAIb,cAAe,CAFf,OAAQ,CACR,iBAGJ,CAEA,uBACI,aAAc,CACd,UACJ,CAEA,oBAMI,4BAA6B,CAJ7B,UAAwB,CAAxB,uBAAwB,CADxB,cAAe,CAEf,eAAgB,CAChB,kBAAmB,CACnB,aAEJ,CAEA,mBAGI,kBAAmB,CAFnB,YAAa,CACb,6BAEJ,CAEA,gCACI,aACJ,CAEA,kBACI,UAAwB,CAAxB,uBAAwB,CACxB,cACJ,CAGA,wBAKI,kBAAmB,CAJnB,kDAA6D,CAC7D,kBAAmB,CAMnB,+BAA8C,CAD9C,UAAY,CAHZ,YAAa,CAEb,QAAsB,CAAtB,qBAAsB,CAItB,WAAY,CAPZ,YAA0B,CAA1B,yBAQJ,CAEA,aAMI,kBAAmB,CAFnB,gBAAoC,CADpC,iBAAkB,CAElB,YAAa,CAGb,cAAe,CANf,WAAY,CAKZ,sBAAuB,CANvB,UAQJ,CAEA,gBACI,cAAe,CACf,eAAgB,CAChB,cACJ,CAEA,eACI,cAAe,CACf,QAAS,CACT,UACJ,CAEA,yBACI,eAAiB,CACjB,kBAAmB,CAEnB,8BAAyC,CAEzC,WAAY,CAHZ,YAA0B,CAA1B,yBAIJ,CAEA,wCAGI,UAAwB,CAAxB,uBAAwB,CAFxB,cAAe,CACf,eAAgB,CAEhB,eAA+B,CAA/B,8BACJ,CAEA,WACI,YAAa,CACb,qBAAsB,CACtB,QACJ,CAEA,WAKI,+BAAgC,CAHhC,6BAA8B,CAE9B,aAEJ,CAEA,sBACI,kBACJ,CAEA,YAEI,kBAAmB,CAGnB,uBAAwB,CAJxB,YAAa,CAEb,OAGJ,CAEA,cACI,aAAc,CACd,UACJ,CAEA,YAEI,uBAAwB,CACxB,eACJ,CAEA,cACI,aAAc,CACd,eACJ,CAEA,gBACI,YAAa,CACb,QAAsB,CAAtB,qBAAsB,CACtB,eAA6B,CAA7B,4BACJ,CAEA,eAGI,kBAAmB,CAMnB,eAAiB,CAFjB,wBAAyB,CACzB,kBAAmB,CAEnB,aAAc,CAGd,cAAe,CAXf,YAAa,CADb,QAAO,CAUP,cAAe,CACf,eAAgB,CAPhB,OAAQ,CADR,sBAAuB,CAWvB,WAAY,CATZ,iBAAkB,CAQlB,uBAEJ,CAEA,qBACI,kBAAmB,CACnB,UACJ,CAKA,6BACI,sDAAqF,CAErF,0BAAwC,CAExC,kBAAmB,CAHnB,aAAc,CAId,cAAe,CACf,eAAgB,CAHhB,gBAIJ,CAGA,6BACI,sDAAqF,CAErF,0BAAwC,CAExC,kBAAmB,CAHnB,aAAc,CAId,cAAe,CACf,eAAgB,CAHhB,gBAIJ,CAGA,6BACI,sDAAyF,CAEzF,0BAA0C,CAE1C,kBAAmB,CAHnB,aAAc,CAId,cAAe,CACf,eAAgB,CAHhB,gBAIJ,CAGA,oBACI,gBAAiB,CACjB,iBACJ,CAEA,kBAWI,eAAgB,CAChB,uBAAwB,CACxB,oBAAqB,CAZrB,+CAA0D,CAa1D,2PAAqR,CAErR,qCAAsC,CADtC,2BAA4B,CAE5B,oBAAqB,CAfrB,wBAAyB,CACzB,kBAAmB,CAgBnB,8BAAsC,CAZtC,UAAW,CAEX,cAAe,CAJf,cAAe,CACf,eAAgB,CAEhB,eAAgB,CAUhB,2BAAmB,CARnB,uBAUJ,CAEA,wBAII,+CAA0D,CAD1D,mDAAoF,CAFpF,YAIJ,CAEA,gDALI,oBAAkC,CAAlC,iCASJ,CAJA,wBAEI,+BAA+C,CAC/C,0BACJ,CAEA,yBAEI,8BAA+C,CAD/C,uBAEJ,CAEA,iBAEI,kBAAmB,CADnB,YAAa,CAEb,6BAA8B,CAC9B,kBACJ,CAEA,mBAEI,aAAc,CACd,cAAe,CAFf,gBAGJ,CAGA,cACI,YAAa,CACb,sBAAuB,CACvB,kBACJ,CAEA,iBACI,eAAgB,CAIhB,wBAAyB,CAHzB,kBAAmB,CAEnB,+BAAyC,CADzC,YAGJ,CAEA,YAEI,kBAAmB,CADnB,YAAa,CAEb,QACJ,CAEA,gBACI,kDAA6D,CAE7D,kBAAmB,CACnB,+BAA+C,CAF/C,YAGJ,CAEA,WACI,eAAgB,CAKhB,wBAAyB,CAJzB,iBAAkB,CAKlB,8BAAwC,CAJxC,aAAc,CAEd,YAAa,CADb,WAIJ,CAEA,YAEI,UAAW,CACX,cAAe,CACf,eAAgB,CAHhB,cAIJ,CAEA,WAEI,UAAW,CACX,cAAe,CAFf,eAGJ,CAEA,YACI,YAAa,CACb,QACJ,CAEA,SACI,kBAAmB,CAInB,UACJ,CAEA,oBALI,iBAAkB,CAClB,cAAe,CAFf,eAaJ,CAPA,WACI,kDAA6D,CAC7D,UAAY,CAIZ,eACJ,CAEA,YAEI,kBAAmB,CADnB,YAAa,CAEb,QAAS,CACT,YACJ,CAEA,qBAMI,kBAAmB,CAHnB,kDAA6D,CAC7D,kBAAmB,CAInB,UAAY,CAHZ,YAAa,CAIb,cAAe,CAPf,WAAY,CAKZ,sBAAuB,CANvB,UASJ,CAEA,wBAEI,UAAW,CACX,cAAe,CAFf,cAGJ,CAEA,uBAEI,UAAW,CACX,cAAe,CAFf,QAGJ,CAGA,yBACI,YACI,qBAAsB,CACtB,iBACJ,CAEA,YACI,sBACJ,CACJ,CAGA,gBACI,aAAc,CACd,cACJ,CAEA,gBACI,+CAA6D,CAG7D,0BAA0C,CAF1C,kBAAmB,CACnB,+BAA+C,CAE/C,eAAgB,CAChB,uBACJ,CAEA,sBAEI,gCAAiD,CADjD,0BAEJ,CAEA,kBAII,kBAAmB,CAHnB,kDAA6D,CAK7D,UAAY,CAHZ,YAAa,CAEb,6BAA8B,CAH9B,YAAa,CAKb,iBACJ,CAEA,yBAOI,mmBAAsjB,CADtjB,QAAS,CALT,UAAW,CAGX,MAAO,CAIP,UAAY,CANZ,iBAAkB,CAGlB,OAAQ,CAFR,KAMJ,CAEA,aACI,cAAe,CACf,iBAAkB,CAClB,SACJ,CAEA,gBACI,QAAO,CACP,SACJ,CAEA,mBACI,cAAe,CACf,eAAgB,CAChB,cAAiB,CACjB,+BACJ,CAEA,kBACI,cAAe,CAEf,QAAS,CADT,UAEJ,CAEA,eAEI,kBAAmB,CAEnB,gBAAoC,CAEpC,kBAAmB,CALnB,YAAa,CAMb,cAAe,CACf,eAAgB,CALhB,OAAQ,CAER,gBAAiB,CAIjB,SACJ,CAEA,iBACI,cACJ,CAEA,mBACI,YACJ,CAEA,cACI,YAAa,CACb,qBAAsB,CACtB,QACJ,CAEA,WAEI,kBAAmB,CAEnB,eAAmB,CAEnB,wBAAyB,CADzB,kBAAmB,CAJnB,YAAa,CAQb,eAAgB,CANhB,YAAa,CAKb,iBAAkB,CADlB,uBAGJ,CAEA,kBAOI,kDAAqD,CAFrD,QAAS,CAJT,UAAW,CAEX,MAAO,CADP,iBAAkB,CAElB,KAAM,CAIN,mBAAoB,CACpB,6BAA+B,CAH/B,SAIJ,CAEA,iBACI,oBAAqB,CACrB,+BAA+C,CAC/C,yBACJ,CAEA,wBACI,mBACJ,CAEA,WAMI,kBAAmB,CAFnB,kDAAqD,CADrD,kBAAmB,CAQnB,8BAA8C,CAF9C,UAAY,CAJZ,YAAa,CAKb,cAAe,CARf,WAAY,CAKZ,sBAAuB,CACvB,iBAAkB,CAPlB,UAWJ,CAEA,cAEI,YAAa,CADb,QAAO,CAEP,qBAAsB,CACtB,OACJ,CAEA,YACI,cAAe,CAIf,mBAAqB,CADrB,wBAEJ,CAEA,YACI,cAGJ,CAEA,mBACI,aAAc,CACd,cAAe,CACf,eACJ,CAEA,aACI,+CAA6D,CAC7D,oBACJ,CAEA,cACI,kDAAqD,CAGrD,kBAAmB,CAKnB,8BAA8C,CAP9C,UAAY,CAGZ,cAAe,CACf,eAAgB,CAEhB,mBAAqB,CALrB,gBAAiB,CAIjB,wBAGJ,CAEA,aAGI,4BAA6B,CAF7B,eAAgB,CAChB,gBAEJ,CAEA,aAEI,kBAAmB,CAGnB,UAAW,CAJX,YAAa,CAGb,cAAe,CADf,OAGJ,CAEA,eACI,aAAc,CACd,cACJ,CAGA,yBACI,gBACI,aAAc,CACd,cACJ,CAEA,kBACI,YACJ,CAEA,aACI,cAAe,CACf,iBACJ,CAEA,mBACI,cACJ,CAEA,kBACI,cACJ,CAEA,mBACI,YACJ,CAEA,WACI,YACJ,CAEA,WAGI,cAAe,CADf,WAAY,CAEZ,iBAAkB,CAHlB,UAIJ,CAEA,YACI,cACJ,CAEA,mBACI,cACJ,CACJ,CAGA,UACI,aAAc,CACd,eAAiB,CACjB,eACJ,CAGA,iBAGI,+CAA6D,CAI7D,wBAAyB,CAHzB,kBAAmB,CACnB,+BAAyC,CAJzC,gBAAiB,CACjB,iBAAkB,CAIlB,iBAEJ,CAEA,UAEI,aAAc,CADd,cAAe,CAEf,kBAAmB,CACnB,+BACJ,CAEA,gBAEI,UAAW,CADX,cAAe,CAGf,eAAgB,CADhB,eAEJ,CAEA,eAEI,UAAW,CADX,cAAe,CAGf,eAAgB,CADhB,eAEJ,CAEA,WACI,YAAa,CAGb,cAAe,CADf,QAAS,CADT,sBAGJ,CAGA,WAEI,qBAAsB,CAEtB,OAAQ,CACR,cAAe,CACf,mBACJ,CAEA,wBANI,kBAAmB,CAFnB,YAoBJ,CAZA,aAII,kDAAqD,CADrD,iBAAkB,CAQlB,+BAA+C,CAN/C,UAAY,CAIZ,cAAe,CACf,eAAgB,CARhB,WAAY,CAMZ,sBAAuB,CAPvB,UAWJ,CAEA,WAEI,UAAW,CADX,cAAe,CAGf,eAAgB,CADhB,iBAEJ,CAGA,yBACI,iBACI,gBAAiB,CACjB,iBACJ,CAEA,UACI,cAAe,CACf,kBACJ,CAEA,gBACI,cAAe,CACf,kBACJ,CAEA,eACI,cAAe,CACf,kBACJ,CAEA,WACI,QACJ,CAEA,WACI,cACJ,CAEA,aAGI,cAAe,CADf,WAAY,CADZ,UAGJ,CAEA,WACI,cACJ,CACJ,CAGA,yBAEI,eAAgB,CAIhB,0BAA0C,CAH1C,kBAAmB,CACnB,+BAAgD,CAHhD,aAAc,CAId,eAAgB,CAEhB,iBACJ,CAEA,gCAOI,yDAA6D,CAC7D,2BAA4B,CAP5B,UAAW,CAKX,UAAW,CAFX,MAAO,CAFP,iBAAkB,CAGlB,OAAQ,CAFR,KAMJ,CAEA,mBAII,kDAAqD,CADrD,UAAW,CAFX,iBAAkB,CAClB,iBAGJ,CAEA,qBAII,yCAA0C,CAF1C,aAAc,CACd,cAAe,CAFf,iBAIJ,CAEA,wBACI,cAAe,CACf,eACJ,CAaA,iBAII,kDAAqD,CACrD,0BAA0C,CAC1C,kBAAmB,CAHnB,aAAc,CAId,WAAY,CANZ,iBAAkB,CAClB,iBAMJ,CAEA,mBAGI,aAAc,CADd,cAAe,CADf,iBAGJ,CAEA,sBACI,cAAe,CACf,eACJ,CAEA,gCAEI,kBAAmB,CAEnB,0DAA8D,CAC9D,UAAY,CAJZ,YAAa,CAMb,cAAe,CADf,eAAgB,CAHhB,iBAAkB,CAKlB,iBACJ,CAEA,sCAOI,gBAAoC,CAJpC,QAAS,CAFT,UAAW,CAKX,UAAW,CAFX,MAAO,CAFP,iBAAkB,CAGlB,OAGJ,CAEA,kCAGI,eAA+B,CAD/B,cAAe,CADf,iBAGJ,CAEA,qCACI,+BACJ,CAEA,iCAEI,+CAAqD,CADrD,YAEJ,CAEA,iDAOI,+CAAqD,CAErD,6BAA8B,CAD9B,kBAAmB,CAEnB,8BAAyC,CAPzC,aAAc,CAFd,cAAe,CACf,eAAgB,CAGhB,eAAgB,CADhB,kBAAmB,CAEnB,YAKJ,CAEA,gEAGI,kBAAmB,CAGnB,eAAmB,CAGnB,0BAA0C,CAF1C,kBAAmB,CACnB,8BAAyC,CAPzC,YAAa,CACb,kBAAmB,CAEnB,kBAAmB,CACnB,iBAAkB,CAKlB,uBACJ,CAEA,sEAEI,+BAAgD,CADhD,0BAEJ,CAEA,kEAMI,oBAAoC,CAEpC,iBAAkB,CANlB,aAAc,CAGd,cAAe,CAJf,iBAAkB,CAMlB,WAAY,CAHZ,iBAAkB,CADlB,UAMJ,CAEA,qEAEI,UAAW,CACX,QAAO,CAFP,cAAe,CAGf,eACJ,CAEA,0EAGI,+CAAqD,CAErD,0BAA0C,CAD1C,kBAAmB,CAEnB,8BAAyC,CALzC,eAAgB,CAChB,YAKJ,CAEA,+EAOI,+BAAgC,CALhC,aAAc,CAEd,aAAc,CADd,cAAe,CAFf,eAAgB,CAIhB,kBAAmB,CACnB,kBAEJ,CAEA,4EAEI,UAAW,CACX,cAAe,CACf,eAAgB,CAHhB,QAAS,CAKT,kBAAmB,CADnB,oBAEJ,CAEA,cACI,8BAA8C,CAC9C,cACJ,CAEA,8BAEI,kBAAmB,CAEnB,kDAAqD,CAHrD,YAAa,CAEb,iBAAkB,CAElB,iBACJ,CAEA,oCAOI,oBAAkC,CAJlC,QAAS,CAFT,UAAW,CAKX,UAAW,CAFX,MAAO,CAFP,iBAAkB,CAGlB,OAGJ,CAEA,2CACI,iBACJ,CAEA,6CAOI,kBAAmB,CAJnB,oBAAkC,CAElC,kBAAmB,CAJnB,aAAc,CAKd,YAAa,CAJb,cAAe,CAQf,WAAY,CAFZ,sBAAuB,CAJvB,YAAa,CAKb,UAEJ,CAEA,8CACI,YAAa,CACb,qBACJ,CAEA,4DAGI,aAAc,CADd,cAAe,CADf,eAAgB,CAIhB,iBAAkB,CADlB,+BAEJ,CAEA,+DAEI,aAAc,CADd,cAAe,CAEf,eACJ,CAEA,+BAEI,+CAAqD,CADrD,YAEJ,CAEA,oDACI,YAAa,CACb,QAAS,CACT,kBACJ,CAEA,sEACI,QACJ,CAEA,sFAEI,kBAAmB,CAGnB,kDAAqD,CACrD,wBAAyB,CACzB,kBAAmB,CAInB,+BAA6C,CAH7C,aAAc,CAPd,YAAa,CASb,cAAe,CADf,eAAgB,CANhB,sBAAuB,CACvB,YAQJ,CAEA,wFAEI,cAAe,CADf,gBAEJ,CAEA,sFAEI,kBAAmB,CAGnB,kDAAqD,CACrD,wBAAyB,CACzB,kBAAmB,CAInB,+BAA6C,CAH7C,aAAc,CAPd,YAAa,CASb,cAAe,CADf,eAAgB,CANhB,sBAAuB,CACvB,YAQJ,CAEA,wFAEI,cAAe,CADf,gBAEJ,CAEA,wFAEI,kBAAmB,CAGnB,kDAAqD,CACrD,wBAAyB,CACzB,kBAAmB,CAInB,+BAA6C,CAH7C,aAAc,CAPd,YAAa,CASb,cAAe,CADf,eAAgB,CANhB,sBAAuB,CACvB,YAQJ,CAEA,0FAEI,cAAe,CADf,gBAEJ,CAEA,gDACI,kBACJ,CAEA,gEAEI,kBAAmB,CAGnB,+CAAqD,CAErD,6BAA8B,CAD9B,kBAAmB,CALnB,YAAa,CAEb,kBAAmB,CACnB,iBAIJ,CAEA,kEAII,oBAAkC,CAElC,iBAAkB,CAJlB,aAAc,CACd,cAAe,CAFf,iBAAkB,CAIlB,WAEJ,CAEA,qEAEI,aAAc,CACd,cAAe,CAFf,eAGJ,CAEA,8DAGI,aAAS,CAFT,YAAa,CAEb,QAAS,CADT,6BAEJ,CAEA,2EAEI,kBAAmB,CAEnB,eAAmB,CAGnB,0BAAwC,CAFxC,kBAAmB,CACnB,8BAAyC,CALzC,YAAa,CAEb,YAAa,CAKb,uBACJ,CAEA,iFAEI,+BAA8C,CAD9C,0BAEJ,CAEA,wFACI,iBACJ,CAEA,0FASI,kBAAmB,CANnB,oBAAkC,CAElC,kBAAmB,CAJnB,aAAc,CAOd,YAAa,CANb,cAAe,CAKf,WAAY,CAGZ,sBAAuB,CANvB,YAAa,CAEb,UAKJ,CAEA,2FACI,YAAa,CACb,qBACJ,CAEA,yGAEI,aAAc,CADd,cAAe,CAEf,eAAgB,CAGhB,mBAAqB,CAFrB,iBAAkB,CAClB,wBAEJ,CAEA,yGAEI,aAAc,CADd,cAAe,CAEf,eAAgB,CAChB,eACJ,CAEA,gDAEI,kBAAmB,CAEnB,kDAAqD,CAErD,0BAAwC,CADxC,kBAAmB,CAEnB,+BAA8C,CAN9C,YAAa,CAEb,YAKJ,CAEA,iEACI,iBACJ,CAEA,mEASI,kBAAmB,CANnB,oBAAkC,CAElC,kBAAmB,CAJnB,aAAc,CAOd,YAAa,CANb,cAAe,CAKf,WAAY,CAGZ,sBAAuB,CANvB,YAAa,CAEb,UAKJ,CAEA,oEACI,YAAa,CACb,qBACJ,CAEA,sFAGI,aAAc,CAFd,cAAe,CACf,eAAgB,CAEhB,iBACJ,CAEA,qFAEI,aAAc,CADd,cAAe,CAEf,eACJ,CAGA,yBACI,yBAEI,kBAAmB,CADnB,aAEJ,CAEA,gCAEI,cAAe,CADf,iBAEJ,CAEA,kCACI,cAAe,CACf,iBAAkB,CAClB,WACJ,CAEA,iCACI,YACJ,CAEA,iDACI,cAAe,CACf,kBAAmB,CACnB,YACJ,CAEA,gEACI,kBAAmB,CACnB,iBACJ,CAEA,kEAGI,cAAe,CAFf,iBAAkB,CAGlB,WAAY,CAFZ,UAGJ,CAEA,qEACI,cACJ,CAEA,0EACI,eAAgB,CAChB,YACJ,CAEA,+EACI,cAAe,CACf,kBACJ,CAEA,4EACI,cAAe,CAEf,eAAgB,CADhB,QAEJ,CAEA,8BACI,iBACJ,CAEA,2CACI,iBACJ,CAEA,6CACI,cAAe,CAGf,WAAY,CAFZ,WAAY,CACZ,UAEJ,CAEA,4DACI,cAAe,CACf,iBACJ,CAEA,+DACI,cACJ,CAEA,+BACI,YACJ,CAEA,oDACI,QAAS,CACT,kBACJ,CAEA,oQAII,cAAe,CADf,YAEJ,CAEA,0QAGI,cAAe,CACf,gBACJ,CAEA,gDACI,kBACJ,CAEA,gEAEI,kBAAmB,CADnB,iBAEJ,CAEA,kEACI,cAAe,CAEf,gBAAiB,CADjB,WAEJ,CAEA,qEACI,cACJ,CAEA,8DACI,QAAS,CACT,yBACJ,CAEA,2EACI,YACJ,CAEA,wFACI,iBACJ,CAEA,0FACI,cAAe,CAGf,WAAY,CAFZ,WAAY,CACZ,UAEJ,CAEA,yGACI,cAAe,CACf,iBACJ,CAEA,yGACI,cACJ,CAEA,gDACI,YACJ,CAEA,iEACI,iBACJ,CAEA,mEACI,cAAe,CAGf,WAAY,CAFZ,YAAa,CACb,UAEJ,CAEA,sFACI,cAAe,CACf,iBACJ,CAEA,qFACI,cACJ,CAEA,oCAEI,iBACJ,CAEA,wCAGI,cAAe,CADf,iBAEJ,CAEA,8CAEI,cACJ,CACJ,CAGA,0BAEI,+CAAqD,CACrD,8BAA8C,CAF9C,iBAGJ,CAEA,gBAQI,kBAAmB,CALnB,WAAY,CACZ,kBAAmB,CASnB,+BAAyC,CAFzC,cAAe,CAJf,YAAa,CAFb,cAAe,CACf,eAAgB,CAIhB,QAAS,CADT,sBAAuB,CAMvB,eAAgB,CAbhB,iBAAkB,CAYlB,iBAAkB,CAFlB,uBAAyB,CAXzB,UAeJ,CAEA,uBAOI,uDAAsF,CANtF,UAAW,CAKX,WAAY,CAFZ,UAAW,CAFX,iBAAkB,CAClB,KAAM,CAKN,wBAA0B,CAH1B,UAIJ,CAEA,6BACI,SACJ,CAEA,wBACI,kDAAqD,CAErD,wBAAyB,CADzB,UAEJ,CAEA,6CAGI,kDAAqD,CADrD,+BAA6C,CAD7C,0BAGJ,CAEA,yBACI,kDAAqD,CAErD,wBAAyB,CADzB,UAEJ,CAEA,8CAGI,kDAAqD,CADrD,+BAA6C,CAD7C,0BAGJ,CAEA,0BACI,kDAAqD,CAErD,wBAAyB,CADzB,UAAY,CAEZ,kBACJ,CAEA,yBAII,wCAAmD,CAFnD,kBAAmB,CADnB,UAAY,CAEZ,wBAEJ,CAEA,kBACI,cACJ,CAEA,qBACI,eAAgB,CAChB,mBACJ,CAGA,yBACI,0BACI,iBACJ,CAEA,gBAII,kBAAmB,CAFnB,cAAe,CACf,QAAS,CAFT,iBAIJ,CAEA,kBACI,cACJ,CACJ,CAGA,uBAQI,kBAAmB,CAGnB,6BAA+B,CAL/B,gBAA8B,CAD9B,QAAS,CAET,YAAa,CAEb,sBAAuB,CANvB,MAAO,CAFP,cAAe,CAGf,OAAQ,CAFR,KAAM,CAQN,YAEJ,CAEA,kBACI,GACI,SACJ,CACA,GACI,SACJ,CACJ,CAEA,eAQI,8BAAgC,CADhC,gCAA2C,CAF3C,eAAgB,CAFhB,iBAQJ,CAEA,mBACI,GAEI,SAAU,CADV,0BAEJ,CACA,GAEI,SAAU,CADV,uBAEJ,CACJ,CAEA,sBAOI,iDAAoD,CACpD,2BACJ,CAEA,cACI,kBACJ,CAEA,gBAEI,aAEJ,CAiBA,iBACI,kBACJ,CAEA,eAGI,aAAc,CAFd,cAAe,CAIf,eAAgB,CADhB,cAEJ,CAEA,kBAEI,aAAc,CADd,cAIJ,CAEA,mBACI,YAAa,CACb,sBACJ,CAEA,cACI,YAAa,CACb,OACJ,CAEA,mBAKI,iDAAkD,CAFlD,kBAAmB,CACnB,iBAAkB,CAFlB,UAAW,CADX,SAKJ,CAEA,+BACI,qBACJ,CAEA,gCACI,qBACJ,CAEA,gCACI,kBACJ,CAEA,oBACI,UAEI,UAAY,CADZ,mBAEJ,CACA,IAEI,SAAU,CADV,oBAEJ,CACJ,CAGA,yBACI,eAGI,kBAAmB,CADnB,eAAgB,CADhB,iBAGJ,CAEA,sBACI,2BACJ,CAEA,gBACI,cACJ,CAEA,eACI,cACJ,CAEA,kBACI,cACJ,CAEA,mBAEI,UAAW,CADX,SAEJ,CACJ,CAGA,eAQI,kBAAmB,CAGnB,6BAA+B,CAL/B,gBAA8B,CAD9B,QAAS,CAET,YAAa,CAEb,sBAAuB,CANvB,MAAO,CAFP,cAAe,CAGf,OAAQ,CAFR,KAAM,CAQN,YAEJ,CAEA,eAQI,gCAAkC,CAPlC,eAAmB,CACnB,kBAAmB,CACnB,gCAA2C,CAG3C,eAAgB,CADhB,eAAgB,CAEhB,eAAgB,CAHhB,SAKJ,CAEA,cAGI,+BAAgC,CAFhC,sBAAuB,CACvB,iBAEJ,CAEA,YAMI,kBAAmB,CAGnB,2BAA4B,CAN5B,kDAAqD,CACrD,iBAAkB,CAClB,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CACvB,kBAAmB,CAPnB,UASJ,CAEA,cAEI,UAAc,CADd,cAEJ,CAEA,aAGI,UAAc,CAFd,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,eACI,iBACJ,CAEA,cACI,kBAAmB,CACnB,kBAAmB,CAEnB,kBAAmB,CADnB,YAEJ,CAEA,UAGI,kBAAmB,CAGnB,+BAAgC,CALhC,YAAa,CACb,6BAA8B,CAE9B,kBAAmB,CACnB,aAEJ,CAEA,qBAEI,kBAAmB,CADnB,eAEJ,CAEA,YAEI,UAAc,CADd,cAAe,CAEf,eACJ,CAEA,YAEI,UAAc,CADd,cAAe,CAEf,eACJ,CAEA,sBACI,aAAc,CACd,cACJ,CAEA,iBAEI,kBAAmB,CACnB,kBAAmB,CACnB,wBAAyB,CACzB,iBAAkB,CAJlB,YAAa,CAMb,eAAgB,CADhB,YAEJ,CAEA,mBACI,aAAc,CAEd,cAAe,CADf,gBAEJ,CAEA,sBACI,aAAc,CACd,cAAe,CACf,eACJ,CAEA,eAEI,YAAa,CACb,QAAS,CAFT,sBAGJ,CAEA,WAUI,kBAAmB,CAPnB,WAAY,CACZ,iBAAkB,CAGlB,cAAe,CAEf,YAAa,CARb,QAAO,CAIP,cAAe,CACf,eAAgB,CAMhB,OAAQ,CADR,sBAAuB,CATvB,iBAAkB,CAMlB,uBAKJ,CAEA,kBACI,kBAAmB,CAEnB,wBAAyB,CADzB,aAEJ,CAEA,wBACI,kBAAmB,CACnB,aACJ,CAEA,mBACI,kDAAqD,CAErD,+BAA+C,CAD/C,UAEJ,CAEA,yBAEI,+BAA+C,CAD/C,0BAEJ,CAEA,0BACI,uBACJ,CAGA,iBACI,oBACJ,CAEA,eAOI,8BAAgC,CANhC,eAAmB,CACnB,kBAAmB,CACnB,4BAA0C,CAE1C,eAAgB,CAIhB,eAAgB,CADhB,iBAAkB,CAFlB,iBAAkB,CAFlB,SAMJ,CAEA,sBAQI,6BAA8B,CAD9B,yDAA6D,CAN7D,UAAW,CAKX,UAAW,CAFX,MAAO,CAFP,iBAAkB,CAGlB,OAAQ,CAFR,KAMJ,CAEA,cACI,sBACJ,CAEA,gBAGI,+BAAiC,CADjC,aAAc,CADd,cAGJ,CAEA,iBACI,mBACJ,CAEA,eAKI,kCAAoC,CAFpC,UAAc,CAFd,cAAe,CACf,eAAgB,CAEhB,eAEJ,CAEA,cACI,kBAAmB,CACnB,kBAAmB,CAEnB,kBAAmB,CADnB,YAAa,CAEb,eACJ,CAEA,cAGI,kBAAmB,CAFnB,YAAa,CACb,6BAA8B,CAE9B,iBACJ,CAEA,yBACI,eACJ,CAEA,eAEI,UAAc,CADd,cAAe,CAEf,eACJ,CAEA,eAEI,UAAc,CADd,cAAe,CAEf,eACJ,CAEA,yBACI,aAAc,CACd,cACJ,CAEA,kBAEI,UAAc,CADd,cAAe,CAGf,eAAgB,CADhB,QAEJ,CAEA,mBACI,sBACJ,CAGA,qBACI,GACI,SAAU,CACV,0BACJ,CACA,GACI,SAAU,CACV,uBACJ,CACJ,CAEA,mBACI,GACI,SAAU,CACV,mBACJ,CACA,GACI,SAAU,CACV,kBACJ,CACJ,CAEA,uBACI,GACI,SAAU,CACV,2BACJ,CACA,GACI,SAAU,CACV,uBACJ,CACJ,CAEA,oBACI,GACI,SAAU,CACV,mBACJ,CACA,IACI,SAAU,CACV,oBACJ,CACA,GACI,SAAU,CACV,kBACJ,CACJ,CAEA,iBACI,GACI,4BACJ,CACA,IACI,+BACJ,CACA,GACI,4BACJ,CACJ,CAEA,mBACI,GACI,4BACJ,CACA,GACI,wCACJ,CACJ,CAGA,yBACI,8BAGI,WAAY,CADZ,SAEJ,CAEA,cACI,sBACJ,CAEA,eACI,iBACJ,CAEA,eAEI,qBAAsB,CADtB,sBAEJ,CAEA,WACI,UACJ,CAEA,gBACI,cACJ,CAEA,eACI,cACJ,CAEA,iBACI,mBACJ,CACJ,CAGA,qBASI,kBAAmB,CAHnB,0BAAoC,CAEpC,YAAa,CAHb,WAAY,CAKZ,sBAAuB,CAPvB,MAAO,CAFP,cAAe,CACf,KAAM,CAEN,UAAW,CAGX,YAIJ,CAEA,aASI,6BAA+B,CAR/B,eAAiB,CACjB,kBAAmB,CAMnB,2BAAyC,CAHzC,eAAgB,CADhB,eAAgB,CAGhB,iBAAkB,CADlB,eAAgB,CAIhB,iBAAkB,CAPlB,SAAU,CAQV,YACJ,CAEA,oBAGI,kBAAmB,CAEnB,+BAAgC,CAJhC,YAAa,CACb,6BAA8B,CAE9B,iBAEJ,CAEA,uBAGI,UAAW,CAFX,cAAe,CACf,eAAgB,CAEhB,QACJ,CAEA,uBACI,eAAgB,CAChB,WAAY,CAKZ,iBAAkB,CAHlB,UAAW,CACX,cAAe,CAFf,cAAe,CAGf,eAAgB,CAEhB,uBACJ,CAEA,6BACI,kBAAmB,CACnB,UACJ,CAEA,qBACI,YACJ,CAEA,oBACI,kBAAmB,CAGnB,wBAAyB,CAFzB,iBAAkB,CAGlB,gBAAiB,CACjB,eAAgB,CAHhB,YAIJ,CAEA,wBAQI,oBAAqB,CAFrB,UAAW,CAHX,6GAA4H,CAC5H,cAAe,CACf,eAAgB,CAJhB,QAAS,CACT,SAAU,CAKV,oBAEJ,CAEA,qBAEI,4BAA6B,CAC7B,YAAa,CACb,QAAS,CAHT,iBAIJ,CAEA,gBAGI,kBAAmB,CAUnB,kDAA6D,CAN7D,WAAY,CACZ,kBAAmB,CAOnB,+BAA8C,CAD9C,UAAY,CAHZ,cAAe,CATf,YAAa,CADb,QAAO,CAQP,cAAe,CACf,eAAgB,CALhB,OAAQ,CADR,sBAAuB,CAEvB,iBAAkB,CAMlB,uBAIJ,CAEA,sBAEI,+BAA8C,CAD9C,0BAEJ,CAEA,uBACI,uBACJ,CAEA,kBACI,cACJ,CAGA,wBAEI,YAAa,CAGb,cAAe,CAFf,QAAsB,CAAtB,qBAAsB,CACtB,sBAAuB,CAHvB,YAA0B,CAA1B,yBAKJ,CAGA,4CAGI,YAAa,CAFb,QAAO,CAGP,sBAAuB,CAFvB,eAGJ,CAEA,wCAEI,sBAAuB,CADvB,UAGJ,CAEA,uCAGI,YAAa,CAFb,QAAO,CAGP,sBAAuB,CAFvB,eAGJ,CAEA,mCASI,kBAAmB,CARnB,kDAA6D,CAE7D,WAAY,CACZ,kBAAmB,CAQnB,+BAA+C,CAV/C,UAAY,CAKZ,cAAe,CACf,YAAa,CAFb,cAAe,CAIf,OAAQ,CAIR,sBAAuB,CATvB,iBAAkB,CAMlB,uBAAyB,CAEzB,UAEJ,CAEA,yCAEI,+BAA+C,CAD/C,0BAEJ,CAEA,0CACI,uBACJ,CAEA,qCACI,cACJ","sources":["views/ProfilePage.css","views/LoginPage.css","index.css"],"sourcesContent":["/**\r\n * @author 韩天尊\r\n * @time 2024-01-15\r\n * @version 1.0.0\r\n * @description 个人中心页面样式\r\n */\r\n\r\n/* 退出登录确认对话框样式 */\r\n.logout-dialog-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background: rgba(0, 0, 0, 0.5);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n z-index: 9999;\r\n padding: 16px;\r\n animation: fadeIn 0.3s ease-out;\r\n}\r\n\r\n.logout-dialog {\r\n background: white;\r\n border-radius: 16px;\r\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);\r\n max-width: 320px;\r\n width: 100%;\r\n animation: slideUp 0.3s ease-out;\r\n overflow: hidden;\r\n}\r\n\r\n.logout-dialog-header {\r\n text-align: center;\r\n padding: 24px 24px 16px 24px;\r\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\r\n color: white;\r\n}\r\n\r\n.logout-dialog-icon {\r\n width: 48px;\r\n height: 48px;\r\n background: rgba(255, 255, 255, 0.2);\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin: 0 auto 12px auto;\r\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.logout-dialog-icon i {\r\n font-size: 20px;\r\n color: white;\r\n}\r\n\r\n.logout-dialog-title {\r\n font-size: 18px;\r\n font-weight: 600;\r\n margin: 0;\r\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.logout-dialog-content {\r\n padding: 20px 24px;\r\n text-align: center;\r\n}\r\n\r\n.logout-dialog-content p {\r\n margin: 0 0 8px 0;\r\n font-size: 16px;\r\n color: #333333;\r\n font-weight: 500;\r\n}\r\n\r\n.logout-dialog-subtitle {\r\n font-size: 14px !important;\r\n color: #666666 !important;\r\n font-weight: 400 !important;\r\n line-height: 1.4;\r\n}\r\n\r\n.logout-dialog-actions {\r\n display: flex;\r\n gap: 12px;\r\n padding: 0 24px 24px 24px;\r\n}\r\n\r\n.logout-dialog-btn {\r\n flex: 1;\r\n padding: 12px 16px;\r\n border: none;\r\n border-radius: 8px;\r\n font-size: 14px;\r\n font-weight: 600;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 6px;\r\n}\r\n\r\n.logout-dialog-btn-cancel {\r\n background: #f8f9fa;\r\n color: #666666;\r\n border: 1px solid #e9ecef;\r\n}\r\n\r\n.logout-dialog-btn-cancel:hover {\r\n background: #e9ecef;\r\n transform: translateY(-1px);\r\n}\r\n\r\n.logout-dialog-btn-cancel:active {\r\n transform: translateY(0);\r\n}\r\n\r\n.logout-dialog-btn-confirm {\r\n background: linear-gradient(135deg, #ff6b6b 0%, #ff8a8a 100%);\r\n color: white;\r\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\r\n}\r\n\r\n.logout-dialog-btn-confirm:hover {\r\n transform: translateY(-1px);\r\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\r\n}\r\n\r\n.logout-dialog-btn-confirm:active {\r\n transform: translateY(0);\r\n}\r\n\r\n/* 动画效果 */\r\n@keyframes fadeIn {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes slideUp {\r\n from {\r\n opacity: 0;\r\n transform: translateY(30px) scale(0.95);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0) scale(1);\r\n }\r\n}\r\n\r\n/* 移动端适配 */\r\n@media (max-width: 480px) {\r\n .logout-dialog-overlay {\r\n padding: 12px;\r\n }\r\n \r\n .logout-dialog {\r\n max-width: 100%;\r\n border-radius: 12px;\r\n }\r\n \r\n .logout-dialog-header {\r\n padding: 20px 20px 12px 20px;\r\n }\r\n \r\n .logout-dialog-icon {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n \r\n .logout-dialog-icon i {\r\n font-size: 18px;\r\n }\r\n \r\n .logout-dialog-title {\r\n font-size: 16px;\r\n }\r\n \r\n .logout-dialog-content {\r\n padding: 16px 20px;\r\n }\r\n \r\n .logout-dialog-content p {\r\n font-size: 15px;\r\n }\r\n \r\n .logout-dialog-subtitle {\r\n font-size: 13px !important;\r\n }\r\n \r\n .logout-dialog-actions {\r\n padding: 0 20px 20px 20px;\r\n gap: 10px;\r\n }\r\n \r\n .logout-dialog-btn {\r\n padding: 10px 14px;\r\n font-size: 13px;\r\n }\r\n}\r\n\r\n/* 超小屏幕适配 */\r\n@media (max-width: 360px) {\r\n .logout-dialog-overlay {\r\n padding: 8px;\r\n }\r\n \r\n .logout-dialog-header {\r\n padding: 16px 16px 10px 16px;\r\n }\r\n \r\n .logout-dialog-icon {\r\n width: 36px;\r\n height: 36px;\r\n }\r\n \r\n .logout-dialog-icon i {\r\n font-size: 16px;\r\n }\r\n \r\n .logout-dialog-title {\r\n font-size: 15px;\r\n }\r\n \r\n .logout-dialog-content {\r\n padding: 14px 16px;\r\n }\r\n \r\n .logout-dialog-content p {\r\n font-size: 14px;\r\n }\r\n \r\n .logout-dialog-subtitle {\r\n font-size: 12px !important;\r\n }\r\n \r\n .logout-dialog-actions {\r\n padding: 0 16px 16px 16px;\r\n gap: 8px;\r\n }\r\n \r\n .logout-dialog-btn {\r\n padding: 8px 12px;\r\n font-size: 12px;\r\n }\r\n}\r\n","/**\r\n * @author 韩天尊\r\n * @time 2024-01-15\r\n * @version 1.0.0\r\n * @description 登录页面样式\r\n */\r\n\r\n .login-page {\r\n min-height: 100vh;\r\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\r\n padding-bottom: 80px;\r\n}\r\n\r\n.login-container {\r\n min-height: 100vh;\r\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n padding: 16px;\r\n}\r\n\r\n.login-header {\r\n text-align: center;\r\n margin-bottom: 24px;\r\n color: white;\r\n}\r\n\r\n.login-logo {\r\n width: 80px;\r\n height: 80px;\r\n background: rgba(255, 255, 255, 0.2);\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin: 0 auto 16px auto;\r\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.login-logo .icon-heart {\r\n font-size: 32px;\r\n color: white;\r\n}\r\n\r\n.login-title {\r\n font-size: 24px;\r\n font-weight: 600;\r\n margin-bottom: 8px;\r\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n}\r\n\r\n.login-subtitle {\r\n font-size: 14px;\r\n opacity: 0.9;\r\n line-height: 1.5;\r\n}\r\n\r\n.login-form {\r\n background: white;\r\n border-radius: 24px;\r\n padding: 24px;\r\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n backdrop-filter: blur(10px);\r\n}\r\n\r\n.login-form .form-group {\r\n margin-bottom: 16px;\r\n}\r\n\r\n.login-form .form-group label {\r\n display: block;\r\n font-size: 13px;\r\n color: #333333;\r\n margin-bottom: 8px;\r\n font-weight: 500;\r\n}\r\n\r\n.input-wrapper {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n background: #f8f9fa;\r\n border: 1px solid #e9ecef;\r\n border-radius: 8px;\r\n padding: 0 8px;\r\n transition: all 0.3s ease;\r\n}\r\n\r\n.input-wrapper:focus-within {\r\n border-color: #ff6b6b;\r\n box-shadow: 0 0 0 2px rgba(255, 107, 107, 0.1);\r\n}\r\n\r\n.input-wrapper i {\r\n color: #ff6b6b;\r\n font-size: 16px;\r\n margin-right: 8px;\r\n}\r\n\r\n.login-form .form-input {\r\n flex: 1;\r\n border: none;\r\n background: none;\r\n padding: 12px 8px;\r\n font-size: 14px;\r\n color: #333333;\r\n outline: none;\r\n}\r\n\r\n.login-form .form-input::placeholder {\r\n color: #666666;\r\n}\r\n\r\n.error-message {\r\n display: flex;\r\n align-items: center;\r\n padding: 12px 15px;\r\n background: #ffe6e6;\r\n border: 1px solid #ffb3b3;\r\n border-radius: 8px;\r\n color: #d63031;\r\n font-size: 14px;\r\n margin-bottom: 15px;\r\n}\r\n\r\n.error-message i {\r\n margin-right: 8px;\r\n font-size: 16px;\r\n}\r\n\r\n.success-message {\r\n display: flex;\r\n align-items: center;\r\n padding: 12px 15px;\r\n background: #e8f5e8;\r\n border: 1px solid #a8e6a8;\r\n border-radius: 8px;\r\n color: #00b894;\r\n font-size: 14px;\r\n margin-bottom: 15px;\r\n}\r\n\r\n.success-message i {\r\n margin-right: 8px;\r\n font-size: 16px;\r\n}\r\n\r\n.login-actions {\r\n margin-top: 24px;\r\n}\r\n\r\n.login-btn {\r\n width: 100%;\r\n background: linear-gradient(135deg, #ff6b6b 0%, #ff8a8a 100%);\r\n color: white;\r\n border: none;\r\n border-radius: 12px;\r\n padding: 14px 16px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 8px;\r\n transition: all 0.3s ease;\r\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\r\n}\r\n\r\n.login-btn:hover {\r\n transform: translateY(-2px);\r\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\r\n}\r\n\r\n.login-btn:active {\r\n transform: translateY(0);\r\n}\r\n\r\n.login-btn:disabled {\r\n opacity: 0.7;\r\n cursor: not-allowed;\r\n transform: none;\r\n}\r\n\r\n.loading-spinner {\r\n width: 16px;\r\n height: 16px;\r\n border: 2px solid rgba(255, 255, 255, 0.3);\r\n border-top: 2px solid white;\r\n border-radius: 50%;\r\n animation: spin 1s linear infinite;\r\n margin-right: 8px;\r\n}\r\n\r\n@keyframes spin {\r\n 0% { transform: rotate(0deg); }\r\n 100% { transform: rotate(360deg); }\r\n}\r\n\r\n.login-notice {\r\n margin-top: 24px;\r\n padding-top: 16px;\r\n border-top: 1px solid #e9ecef;\r\n}\r\n\r\n.notice-item {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n margin-bottom: 8px;\r\n font-size: 12px;\r\n color: #666666;\r\n}\r\n\r\n.notice-item i {\r\n color: #ff6b6b;\r\n font-size: 14px;\r\n}\r\n\r\n.form-footer {\r\n text-align: center;\r\n margin-top: 16px;\r\n}\r\n\r\n.toggle-btn {\r\n background: none;\r\n border: none;\r\n color: #ff6b6b;\r\n font-size: 14px;\r\n cursor: pointer;\r\n padding: 8px 12px;\r\n border-radius: 6px;\r\n transition: all 0.3s ease;\r\n}\r\n\r\n.toggle-btn:hover {\r\n background: rgba(255, 107, 107, 0.1);\r\n}\r\n\r\n/* 移动端适配 */\r\n@media (max-width: 480px) {\r\n .login-container {\r\n padding: 15px 10px;\r\n }\r\n \r\n .login-form {\r\n padding: 20px 15px;\r\n border-radius: 16px;\r\n }\r\n \r\n .login-title {\r\n font-size: 22px;\r\n }\r\n \r\n .login-logo {\r\n width: 70px;\r\n height: 70px;\r\n }\r\n \r\n .login-logo .icon-heart {\r\n font-size: 28px;\r\n }\r\n \r\n .login-form .form-input {\r\n font-size: 15px;\r\n }\r\n \r\n .login-btn {\r\n font-size: 15px;\r\n padding: 12px 16px;\r\n }\r\n}\r\n\r\n/* 超小屏幕适配 */\r\n@media (max-width: 360px) {\r\n .login-form {\r\n padding: 18px 12px;\r\n }\r\n \r\n .login-title {\r\n font-size: 20px;\r\n }\r\n \r\n .login-logo {\r\n width: 60px;\r\n height: 60px;\r\n }\r\n \r\n .login-logo .icon-heart {\r\n font-size: 24px;\r\n }\r\n \r\n .login-form .form-input {\r\n font-size: 14px;\r\n }\r\n \r\n .login-btn {\r\n font-size: 14px;\r\n padding: 10px 16px;\r\n }\r\n}","/* 全局样式重置 */\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;\n background-color: #F8F9FA;\n color: #333333;\n line-height: 1.6;\n font-size: 14px;\n overflow-x: hidden;\n}\n\n/* 主色调定义 */\n:root {\n --primary-color: #FF6B6B;\n --secondary-color: #4ECDC4;\n --warning-color: #FFE66D;\n --success-color: #95E1D3;\n --text-color: #333333;\n --text-light: #666666;\n --background-color: #F8F9FA;\n --white: #ffffff;\n --border-color: #E9ECEF;\n --shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n --border-radius: 8px;\n --spacing-xs: 4px;\n --spacing-sm: 8px;\n --spacing-md: 16px;\n --spacing-lg: 24px;\n}\n\n/* 页面容器 */\n.app {\n max-width: 414px;\n margin: 0 auto;\n background: white;\n min-height: 100vh;\n position: relative;\n overflow-x: hidden;\n}\n\n/* 页面切换 */\n.page {\n display: block;\n padding-bottom: 80px;\n}\n\n/* 旋转动画 */\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* 积分申报页面特殊样式(无底部导航栏) */\n.points-declaration-page {\n padding-bottom: 20px;\n}\n\n/* 页面头部 */\n.page-header {\n display: flex;\n align-items: center;\n padding: var(--spacing-md);\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: #fff;\n border-bottom: 1px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 100;\n border-radius: 0 0 24px 24px;\n box-shadow: 0 4px 16px rgba(255,107,107,0.08);\n}\n\n.back-btn {\n background: none;\n border: none;\n font-size: 18px;\n color: #fff;\n padding: var(--spacing-sm);\n margin-right: var(--spacing-sm);\n cursor: pointer;\n border-radius: 50%;\n transition: background-color 0.3s;\n}\n\n.back-btn:hover {\n background-color: rgba(255, 255, 255, 0.2);\n}\n\n.page-header h2 {\n font-size: 18px;\n font-weight: 600;\n color: #fff;\n}\n\n/* 轮播图样式 */\n.carousel-container {\n position: relative;\n height: 200px;\n overflow: hidden;\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: #fff;\n}\n\n.carousel-wrapper {\n display: flex;\n transition: transform 0.5s ease-in-out;\n height: 100%;\n}\n\n.carousel-slide {\n min-width: 100%;\n height: 100%;\n position: relative;\n}\n\n.carousel-slide img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.carousel-dots {\n position: absolute;\n bottom: 16px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n gap: 8px;\n}\n\n.dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.5);\n cursor: pointer;\n transition: background-color 0.3s;\n}\n\n.dot.active {\n background: #fff;\n}\n\n/* 消息通知条 */\n.notice-bar {\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: white;\n padding: 12px 16px;\n margin: 16px;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n box-shadow: 0 2px 8px rgba(255,107,107,0.2);\n}\n\n.notice-bar i {\n font-size: 16px;\n}\n\n/* 功能按钮区域 */\n.function-buttons {\n display: flex;\n gap: var(--spacing-md);\n padding: 16px;\n justify-content: space-around;\n}\n\n.function-btn {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: none;\n border: none;\n box-shadow: none;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s;\n}\n\n.function-btn:active, .function-btn:hover {\n transform: translateY(-2px) scale(1.05);\n}\n\n.function-btn i {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: linear-gradient(135deg, #ffb199 0%, #ff6b6b 100%);\n color: #fff;\n font-size: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 8px;\n box-shadow: 0 2px 8px rgba(255,107,107,0.15);\n}\n\n.function-btn:nth-child(2) i { \n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%); \n}\n\n.function-btn:nth-child(3) i { \n background: linear-gradient(135deg, #ffe66d 0%, #f6d365 100%); \n color: #ff6b6b; \n}\n\n.function-btn:nth-child(4) i { \n background: linear-gradient(135deg, #95e1d3 0%, #4ecdc4 100%); \n}\n\n.function-btn span {\n font-size: 13px;\n color: #333;\n margin-top: 2px;\n}\n\n/* 活动列表样式 */\n.activity-list {\n padding: 16px;\n}\n\n.activity-item {\n background: white;\n border-radius: var(--border-radius);\n padding: 16px;\n margin-bottom: 16px;\n box-shadow: var(--shadow);\n border: 1px solid var(--border-color);\n}\n\n.activity-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.activity-avatar {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n object-fit: cover;\n}\n\n.activity-info h3 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 4px;\n}\n\n.activity-meta {\n font-size: 12px;\n color: var(--text-light);\n}\n\n.activity-content {\n color: var(--text-color);\n font-size: 14px;\n line-height: 1.5;\n margin-bottom: 12px;\n}\n\n.activity-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.activity-points {\n color: var(--primary-color);\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.activity-status {\n padding: 4px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.activity-status.ongoing {\n background: var(--warning-color);\n color: #856404;\n}\n\n.activity-status.upcoming {\n background: var(--secondary-color);\n color: white;\n}\n\n.activity-status.completed {\n background: var(--success-color);\n color: #155724;\n}\n\n/* 搜索框样式 */\n.search-box {\n background: #f8f9fa;\n border: none;\n border-radius: 20px;\n padding: var(--spacing-sm) var(--spacing-md);\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n margin: 0;\n}\n\n.search-box input {\n flex: 1;\n border: none;\n outline: none;\n font-size: 14px;\n background: none;\n color: var(--text-color);\n}\n\n.search-box input::placeholder {\n color: var(--text-light);\n}\n\n.search-box i {\n color: var(--text-light);\n margin-right: var(--spacing-sm);\n}\n\n/* Tab切换样式 */\n.declaration-tabs {\n display: flex;\n background: white;\n border-bottom: 1px solid var(--border-color);\n}\n\n.declaration-tab {\n flex: 1;\n padding: 20px 16px;\n background: none;\n border: none;\n font-size: 17px;\n color: var(--text-light);\n cursor: pointer;\n transition: all 0.3s ease;\n border-bottom: 2px solid transparent;\n font-weight: 500;\n}\n\n.declaration-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n font-weight: 600;\n}\n\n.declaration-tab:hover {\n color: var(--primary-color);\n}\n\n/* 申报列表样式 */\n.declaration-list {\n padding: var(--spacing-md);\n background: #fff;\n}\n\n.declaration-item {\n background: white;\n border-radius: 12px;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n border: 1px solid rgba(255,107,107,0.08);\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.declaration-item:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n border-color: rgba(255,107,107,0.2);\n}\n\n.declaration-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.declaration-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.declaration-status {\n padding: 6px 14px;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 600;\n text-align: center;\n min-width: 60px;\n display: inline-block;\n border: 1px solid transparent;\n transition: all 0.2s ease;\n}\n\n.declaration-status.approved {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border-color: rgba(76, 175, 80, 0.3);\n}\n\n.declaration-status.pending {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border-color: rgba(255, 152, 0, 0.3);\n}\n\n.declaration-status.rejected {\n background: linear-gradient(135deg, rgba(244, 67, 54, 0.15), rgba(244, 67, 54, 0.05));\n color: #c62828;\n border-color: rgba(244, 67, 54, 0.3);\n}\n\n/* 数字状态码样式 */\n.declaration-status[class*=\"0\"] {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border-color: rgba(255, 152, 0, 0.3);\n}\n\n.declaration-status[class*=\"1\"] {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border-color: rgba(76, 175, 80, 0.3);\n}\n\n.declaration-status[class*=\"2\"] {\n background: linear-gradient(135deg, rgba(244, 67, 54, 0.15), rgba(244, 67, 54, 0.05));\n color: #c62828;\n border-color: rgba(244, 67, 54, 0.3);\n}\n\n.declaration-meta {\n font-size: 12px;\n color: var(--text-light);\n margin-bottom: 8px;\n}\n\n.declaration-content {\n color: var(--text-color);\n font-size: 14px;\n line-height: 1.5;\n margin-bottom: 8px;\n}\n\n.declaration-info {\n margin-bottom: var(--spacing-sm);\n}\n\n.declaration-info-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n margin-bottom: 4px;\n font-size: 13px;\n color: var(--text-light);\n}\n\n.declaration-info-row i {\n width: 16px;\n color: var(--primary-color);\n}\n\n/* 悬浮申报按钮 */\n.floating-declaration-btn {\n position: fixed;\n bottom: 50px;\n right: 30px;\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: white;\n border: none;\n border-radius: 50px;\n padding: 12px 20px;\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\n cursor: pointer;\n transition: all 0.3s ease;\n z-index: 1000;\n}\n\n.floating-declaration-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\n}\n\n.floating-declaration-btn i {\n font-size: 16px;\n}\n\n/* 扫码签到页面样式 */\n.scan-container {\n padding: var(--spacing-md);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-md);\n}\n\n/* 位置信息样式 */\n.location-info {\n background: white;\n border-radius: 16px;\n padding: var(--spacing-md);\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n}\n\n.location-header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n color: var(--text-color);\n font-weight: 600;\n}\n\n.location-header i {\n color: #4ecdc4;\n font-size: 16px;\n}\n\n.location-content {\n margin-bottom: 12px;\n}\n\n.location-address {\n font-size: 14px;\n color: var(--text-color);\n margin-bottom: 4px;\n font-weight: 500;\n}\n\n.location-coordinates {\n font-size: 12px;\n color: var(--text-light);\n font-family: monospace;\n}\n\n.refresh-location-btn {\n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%);\n color: white;\n border: none;\n border-radius: 8px;\n padding: 8px 16px;\n font-size: 14px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: all 0.3s ease;\n width: fit-content;\n}\n\n.refresh-location-btn:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(78, 205, 196, 0.3);\n}\n\n.refresh-location-btn i {\n font-size: 12px;\n}\n\n/* 扫码区域样式 */\n.scan-area {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-md);\n padding: var(--spacing-lg);\n background: white;\n border-radius: 16px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n}\n\n.scan-frame {\n position: relative;\n width: 250px;\n height: 250px;\n border: 2px solid rgba(255, 107, 107, 0.3);\n border-radius: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 107, 107, 0.05);\n}\n\n.scan-corner {\n position: absolute;\n width: 20px;\n height: 20px;\n border: 3px solid var(--primary-color);\n}\n\n.scan-corner.top-left {\n top: -3px;\n left: -3px;\n border-right: none;\n border-bottom: none;\n border-radius: 8px 0 0 0;\n}\n\n.scan-corner.top-right {\n top: -3px;\n right: -3px;\n border-left: none;\n border-bottom: none;\n border-radius: 0 8px 0 0;\n}\n\n.scan-corner.bottom-left {\n bottom: -3px;\n left: -3px;\n border-right: none;\n border-top: none;\n border-radius: 0 0 0 8px;\n}\n\n.scan-corner.bottom-right {\n bottom: -3px;\n right: -3px;\n border-left: none;\n border-top: none;\n border-radius: 0 0 8px 0;\n}\n\n.scan-line {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 2px;\n background: linear-gradient(90deg, transparent, var(--primary-color), transparent);\n animation: scanMove 2s linear infinite;\n}\n\n@keyframes scanMove {\n 0% { top: 0; }\n 100% { top: calc(100% - 2px); }\n}\n\n.scan-tip {\n text-align: center;\n color: var(--text-light);\n}\n\n.scan-tip i {\n font-size: 24px;\n color: var(--primary-color);\n margin-bottom: 8px;\n}\n\n.scan-tip p {\n font-size: 14px;\n margin: 0;\n}\n\n/* 扫码说明样式 */\n.scan-tips {\n background: white;\n border-radius: 16px;\n padding: var(--spacing-md);\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n}\n\n.tip-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-light);\n}\n\n.tip-item i {\n color: var(--primary-color);\n font-size: 16px;\n width: 16px;\n}\n\n/* 手动输入样式 */\n.manual-input {\n display: flex;\n justify-content: center;\n}\n\n.manual-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: white;\n border: none;\n border-radius: 12px;\n padding: 12px 24px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\n}\n\n.manual-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\n}\n\n/* 签到页面样式 */\n.checkin-container {\n padding: 16px;\n}\n\n.checkin-form {\n background: white;\n border-radius: var(--border-radius);\n padding: 20px;\n margin-bottom: 16px;\n box-shadow: var(--shadow);\n}\n\n.form-group {\n margin-bottom: 16px;\n}\n\n.form-group label {\n display: block;\n margin-bottom: 8px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.form-group input,\n.form-group textarea {\n width: 100%;\n padding: 12px;\n border: 1px solid var(--border-color);\n border-radius: var(--border-radius);\n font-size: 14px;\n}\n\n.form-group textarea {\n resize: vertical;\n min-height: 80px;\n}\n\n.submit-btn {\n width: 100%;\n background: var(--primary-color);\n color: white;\n border: none;\n border-radius: var(--border-radius);\n padding: 14px;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.3s;\n}\n\n.submit-btn:hover {\n background: #e55a5a;\n}\n\n/* 积分核销页面样式 */\n.redemption-summary {\n padding: var(--spacing-md);\n}\n\n.summary-card {\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n border-radius: 16px;\n padding: var(--spacing-md);\n color: white;\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.2);\n}\n\n.summary-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n margin-bottom: var(--spacing-md);\n font-size: 16px;\n font-weight: 600;\n}\n\n.summary-header i {\n font-size: 20px;\n}\n\n.summary-content {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: var(--spacing-md);\n}\n\n.summary-item {\n text-align: center;\n}\n\n.summary-label {\n font-size: 12px;\n opacity: 0.9;\n margin-bottom: 4px;\n}\n\n.summary-value {\n font-size: 20px;\n font-weight: 700;\n line-height: 1;\n}\n\n.redemption-section {\n padding: 0 var(--spacing-md);\n}\n\n.redemption-card {\n background: white;\n border-radius: 16px;\n padding: var(--spacing-md);\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n border: 1px solid rgba(255, 107, 107, 0.1);\n}\n\n.qr-container {\n display: flex;\n justify-content: center;\n margin: var(--spacing-md) 0;\n}\n\n.qr-code {\n background: #f8f9fa;\n border: 2px dashed #e9ecef;\n border-radius: 16px;\n padding: var(--spacing-lg);\n text-align: center;\n min-width: 300px;\n min-height: 300px;\n transition: all 0.3s ease;\n}\n\n.qr-code:hover {\n border-color: var(--primary-color);\n background: rgba(255, 107, 107, 0.05);\n}\n\n.qr-icon {\n margin-bottom: var(--spacing-sm);\n}\n\n.qr-icon i {\n font-size: 158px;\n color: var(--primary-color);\n}\n\n.qr-text h4 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0 0 4px 0;\n}\n\n.qr-text p {\n font-size: 12px;\n color: var(--text-light);\n margin: 0;\n}\n\n.redemption-tips {\n margin-top: var(--spacing-md);\n padding-top: var(--spacing-md);\n border-top: 1px solid #f0f0f0;\n}\n\n.redemption-tips .tip-item {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n font-size: 13px;\n color: var(--text-light);\n}\n\n.redemption-tips .tip-item:last-child {\n margin-bottom: 0;\n}\n\n.redemption-tips .tip-item i {\n color: var(--primary-color);\n width: 16px;\n text-align: center;\n}\n\n.redemption-actions {\n display: flex;\n gap: var(--spacing-md);\n padding: var(--spacing-md);\n margin-top: var(--spacing-md);\n}\n\n.redemption-actions .action-btn {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n background: white;\n border: 1px solid #e9ecef;\n border-radius: 12px;\n padding: var(--spacing-md);\n color: var(--text-color);\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.redemption-actions .action-btn:hover {\n border-color: var(--primary-color);\n background: rgba(255, 107, 107, 0.05);\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.15);\n}\n\n.redemption-actions .action-btn i {\n font-size: 20px;\n color: var(--primary-color);\n}\n\n.redemption-container {\n padding: 16px;\n}\n\n.redemption-form {\n background: white;\n border-radius: var(--border-radius);\n padding: 20px;\n margin-bottom: 16px;\n box-shadow: var(--shadow);\n}\n\n.qr-code-container {\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border-radius: var(--border-radius);\n margin-bottom: 20px;\n}\n\n.qr-code-placeholder {\n width: 200px;\n height: 200px;\n background: #e9ecef;\n border: 2px dashed #ced4da;\n border-radius: var(--border-radius);\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto;\n color: var(--text-light);\n font-size: 14px;\n}\n\n/* 签到成功页面样式 */\n.success-container {\n padding: var(--spacing-md);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-lg);\n}\n\n.success-icon {\n margin-top: var(--spacing-lg);\n}\n\n.success-icon i {\n font-size: 80px;\n color: #4CAF50;\n animation: successPulse 1s ease-out;\n}\n\n@keyframes successPulse {\n 0% { transform: scale(0.5); opacity: 0; }\n 50% { transform: scale(1.2); }\n 100% { transform: scale(1); opacity: 1; }\n}\n\n.success-info {\n text-align: center;\n}\n\n.success-info h3 {\n font-size: 24px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0 0 8px 0;\n}\n\n.success-info p {\n font-size: 16px;\n color: var(--text-light);\n margin: 0;\n}\n\n.activity-info-card {\n background: white;\n border-radius: 16px;\n padding: var(--spacing-md);\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);\n width: 100%;\n max-width: 320px;\n}\n\n.info-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.info-item:last-child {\n border-bottom: none;\n}\n\n.info-item label {\n font-size: 14px;\n color: var(--text-light);\n}\n\n.info-item span {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-color);\n}\n\n.info-item span[id=\"checkin-points\"] {\n color: #4CAF50;\n font-weight: 600;\n}\n\n.success-actions {\n display: flex;\n gap: var(--spacing-md);\n width: 100%;\n max-width: 320px;\n}\n\n.action-btn {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n padding: 16px;\n border-radius: 12px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n border: none;\n}\n\n.action-btn.primary {\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: white;\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\n}\n\n.action-btn.primary:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\n}\n\n.action-btn.secondary {\n background: white;\n color: var(--text-color);\n border: 1px solid #e9ecef;\n}\n\n.action-btn.secondary:hover {\n border-color: var(--primary-color);\n background: rgba(255, 107, 107, 0.05);\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.15);\n}\n\n.action-btn i {\n font-size: 18px;\n}\n\n/* 成功页面样式 */\n.success-container {\n text-align: center;\n padding: 60px 20px;\n}\n\n.success-icon {\n font-size: 80px;\n color: var(--success-color);\n margin-bottom: 24px;\n}\n\n.success-title {\n font-size: 24px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 16px;\n}\n\n.success-message {\n font-size: 16px;\n color: var(--text-light);\n margin-bottom: 32px;\n line-height: 1.6;\n}\n\n.success-actions {\n display: flex;\n gap: 16px;\n justify-content: center;\n}\n\n.success-btn {\n padding: 12px 24px;\n border: none;\n border-radius: var(--border-radius);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.success-btn.primary {\n background: var(--primary-color);\n color: white;\n}\n\n.success-btn.secondary {\n background: var(--background-color);\n color: var(--text-color);\n border: 1px solid var(--border-color);\n}\n\n.success-btn:hover {\n transform: translateY(-2px);\n box-shadow: var(--shadow);\n}\n\n/* 响应式设计 */\n@media (max-width: 375px) {\n .function-buttons {\n grid-template-columns: 1fr;\n }\n \n .carousel-container {\n height: 250px;\n }\n \n .page-header {\n padding: 12px 16px;\n }\n}\n\n/* 动画效果 */\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* 签到二维码按钮样式 */\n.checkin-qr-section {\n /* padding: var(--spacing-md); */\n display: flex;\n justify-content: center;\n}\n\n.checkin-qr-btn {\n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%);\n color: white;\n border: none;\n border-radius: 12px;\n padding: 12px 24px;\n font-size: 14px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: all 0.3s ease;\n box-shadow: 0 4px 12px rgba(78, 205, 196, 0.3);\n}\n\n.checkin-qr-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(78, 205, 196, 0.4);\n}\n\n.checkin-qr-btn i {\n font-size: 16px;\n}\n\n.page {\n animation: fadeIn 0.3s ease-out;\n}\n\n/* 加载状态 */\n.loading {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 40px;\n color: var(--text-light);\n}\n\n.loading::after {\n content: '';\n width: 20px;\n height: 20px;\n border: 2px solid var(--border-color);\n border-top: 2px solid var(--primary-color);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n margin-left: 8px;\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* 底部导航样式 */\n.bottom-nav {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n max-width: 100vw;\n background: #fff;\n border-radius: 24px 24px 0 0;\n box-shadow: 0 -2px 24px rgba(255,107,107,0.12);\n display: flex;\n justify-content: space-around;\n align-items: center;\n padding: 6px 0 8px 0;\n z-index: 100;\n border-top: 1px solid #f5eaea;\n}\n\n.nav-item {\n flex: 1;\n text-align: center;\n color: #bbb;\n font-size: 12px;\n border-radius: 16px;\n padding: 6px 12px 4px 12px;\n margin: 2px 8px;\n transition: color 0.2s, background 0.2s;\n cursor: pointer;\n}\n\n.nav-item.active {\n color: #ff6b6b;\n background: #ffe6e6;\n box-shadow: 0 2px 8px rgba(255, 107, 107, 0.15);\n}\n\n.nav-item i {\n font-size: 18px;\n display: block;\n margin-bottom: 3px;\n}\n\n.nav-item span {\n font-size: 10px;\n font-weight: 500;\n}\n\n/* 个人中心页面样式 */\n.profile-page-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 32px 0 20px 0;\n position: relative;\n}\n\n.user-top-row {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n width: 100%;\n padding: 0 16px;\n margin-bottom: 20px;\n}\n\n.user-left-space {\n flex: 1;\n}\n\n.user-avatar {\n width: 72px;\n height: 72px;\n border-radius: 50%;\n box-shadow: 0 2px 8px rgba(255,107,107,0.15);\n}\n\n.user-actions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n align-items: flex-end;\n}\n\n.volunteer-register-btn {\n background: rgba(255, 255, 255, 0.2);\n border: 1px solid rgba(255, 255, 255, 0.3);\n color: #fff;\n padding: 8px 16px;\n border-radius: 20px;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.volunteer-register-btn:hover {\n background: rgba(255, 255, 255, 0.3);\n border-color: rgba(255, 255, 255, 0.5);\n}\n\n.verified-badge {\n background: rgba(76, 175, 80, 0.9);\n color: #fff;\n padding: 6px 12px;\n border-radius: 16px;\n font-size: 11px;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.verified-badge.hidden {\n display: none;\n}\n\n.user-text-info {\n display: flex;\n flex-direction: column;\n gap: 4px;\n text-align: center;\n}\n\n.user-name {\n font-size: 18px;\n font-weight: 600;\n color: #fff;\n}\n\n.user-community {\n font-size: 13px;\n color: #fff;\n opacity: 0.85;\n}\n\n/* 服务时长统计卡片样式 */\n.service-stats-card {\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 2px 12px rgba(255,107,107,0.08);\n margin: 16px 12px;\n padding: var(--spacing-md);\n border: 1px solid rgba(255,107,107,0.12);\n}\n\n.stats-header {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n margin-bottom: var(--spacing-md);\n padding-bottom: var(--spacing-sm);\n border-bottom: 1px solid rgba(255,107,107,0.1);\n}\n\n.stats-header i {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 16px;\n}\n\n.stats-header span {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.stats-content {\n display: flex;\n justify-content: space-between;\n gap: var(--spacing-md);\n}\n\n.stats-item {\n flex: 1;\n text-align: center;\n padding: var(--spacing-sm);\n background: #f8f9fa;\n border-radius: 12px;\n border: 1px solid rgba(255,107,107,0.08);\n transition: all 0.3s ease;\n}\n\n.stats-item:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(255,107,107,0.15);\n border-color: rgba(255,107,107,0.2);\n}\n\n.stats-label {\n font-size: 12px;\n color: var(--text-light);\n margin-bottom: var(--spacing-sm);\n font-weight: 500;\n}\n\n.stats-value {\n font-size: 20px;\n font-weight: 700;\n color: var(--primary-color);\n margin-bottom: 2px;\n line-height: 1;\n}\n\n.stats-unit {\n font-size: 11px;\n color: var(--text-light);\n font-weight: 500;\n}\n\n/* 功能按钮样式 */\n.function-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 20px;\n padding: 12px 0;\n}\n\n.function-row-left {\n display: flex;\n justify-content: flex-start;\n gap: 20px;\n padding: 16px 0;\n}\n\n.function-btn-flex {\n flex: 1;\n}\n\n.function-btn-width {\n width: 150px;\n}\n\n.function-btn {\n display: flex;\n flex-direction: column;\n align-items: center;\n background: none;\n border: none;\n box-shadow: none;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s;\n padding: 16px 8px;\n}\n\n.function-btn:active, .function-btn:hover {\n transform: translateY(-2px) scale(1.05);\n}\n\n.function-btn i {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n color: #fff;\n font-size: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 8px;\n box-shadow: 0 2px 8px rgba(255,107,107,0.15);\n}\n\n.function-btn span {\n font-size: 13px;\n color: #333;\n margin-top: 2px;\n text-align: center;\n}\n\n/* 图标渐变背景样式 */\n.icon-heart {\n background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);\n}\n\n.icon-clock {\n background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);\n}\n\n.icon-clipboard {\n background: linear-gradient(135deg, #ffb199 0%, #ff6b6b 100%);\n}\n\n.icon-coins {\n background: linear-gradient(135deg, #ffe66d 0%, #f6d365 100%);\n color: #ff6b6b;\n}\n\n.icon-comment {\n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%);\n}\n\n.icon-shield {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n}\n\n.icon-signout {\n background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);\n}\n\n/* 活动列表容器样式 */\n.activity-list {\n padding: 0 var(--spacing-md);\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 2px 12px rgba(255,107,107,0.08);\n /* margin: 16px 12px; */\n padding: 0 0 4px 0;\n}\n\n/* 区域头部样式 */\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 16px 0 16px;\n margin-bottom: 16px;\n}\n\n.section-header .section-title {\n margin-bottom: 0;\n padding: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n/* 更多按钮样式 */\n.more-btn {\n display: flex;\n align-items: center;\n gap: 4px;\n background: none;\n border: none;\n color: var(--primary-color);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n padding: 8px 0 8px 12px;\n border-radius: var(--border-radius);\n transition: all 0.3s ease;\n}\n\n.more-btn:hover {\n background: rgba(255, 107, 107, 0.1);\n transform: translateX(2px);\n}\n\n.more-btn i {\n font-size: 12px;\n transition: transform 0.3s ease;\n}\n\n.more-btn:hover i {\n transform: translateX(2px);\n}\n\n/* 消息列表页面样式 */\n.message-list {\n padding: var(--spacing-md);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-md);\n}\n\n.message-item {\n background: #fff;\n border-radius: var(--border-radius);\n padding: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n cursor: pointer;\n transition: all 0.2s ease;\n border-left: 4px solid transparent;\n}\n\n.message-item:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n}\n\n.message-item.unread {\n border-left-color: var(--primary-color);\n background: linear-gradient(135deg, rgba(255, 107, 107, 0.02), rgba(255, 107, 107, 0.01));\n}\n\n.message-item.read {\n opacity: 0.8;\n}\n\n.message-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: var(--spacing-sm);\n}\n\n.message-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n flex: 1;\n margin-right: var(--spacing-sm);\n line-height: 1.4;\n}\n\n.message-status {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n white-space: nowrap;\n}\n\n.message-status.read {\n background: rgba(158, 158, 158, 0.1);\n color: #666;\n}\n\n.message-status.unread {\n background: rgba(255, 107, 107, 0.1);\n color: var(--primary-color);\n}\n\n.message-preview {\n font-size: 14px;\n color: var(--text-light);\n line-height: 1.5;\n margin-bottom: var(--spacing-sm);\n}\n\n.message-meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n color: var(--text-light);\n}\n\n.message-time {\n font-size: 12px;\n color: var(--text-light);\n}\n\n.message-type {\n padding: 2px 6px;\n background: rgba(78, 205, 196, 0.1);\n color: var(--secondary-color);\n border-radius: 8px;\n font-size: 11px;\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-lg) * 2;\n color: var(--text-light);\n}\n\n.empty-state i {\n font-size: 48px;\n margin-bottom: var(--spacing-md);\n opacity: 0.5;\n}\n\n.empty-state p {\n font-size: 16px;\n}\n\n/* 消息详情页面样式 */\n.message-detail-content {\n padding: var(--spacing-md);\n background: #fff;\n min-height: calc(100vh - 60px);\n}\n\n.message-header {\n margin-bottom: var(--spacing-lg);\n padding-bottom: var(--spacing-md);\n border-bottom: 1px solid #f0f0f0;\n}\n\n.message-detail-title {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: var(--spacing-sm);\n line-height: 1.4;\n}\n\n.message-meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 14px;\n color: var(--text-light);\n}\n\n.message-detail-time {\n font-size: 14px;\n color: var(--text-light);\n}\n\n.message-detail-type {\n padding: 4px 8px;\n background: rgba(78, 205, 196, 0.1);\n color: var(--secondary-color);\n border-radius: 12px;\n font-size: 12px;\n}\n\n.message-body {\n margin-bottom: var(--spacing-lg);\n}\n\n.message-detail-content-text {\n font-size: 16px;\n line-height: 1.6;\n color: var(--text-color);\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.message-actions {\n display: flex;\n gap: var(--spacing-md);\n padding-top: var(--spacing-md);\n border-top: 1px solid #f0f0f0;\n}\n\n.action-btn {\n flex: 1;\n padding: var(--spacing-md);\n border: none;\n border-radius: var(--border-radius);\n font-size: 16px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.action-btn.primary {\n background: var(--primary-color);\n color: #fff;\n}\n\n.action-btn.primary:hover {\n background: #e74c3c;\n transform: translateY(-1px);\n}\n\n.action-btn.secondary {\n background: #f8f9fa;\n color: var(--text-color);\n border: 1px solid #e9ecef;\n}\n\n.action-btn.secondary:hover {\n background: #e9ecef;\n transform: translateY(-1px);\n}\n\n.error-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-lg) * 2;\n color: var(--text-light);\n}\n\n.error-state i {\n font-size: 48px;\n margin-bottom: var(--spacing-md);\n color: #e74c3c;\n opacity: 0.7;\n}\n\n.error-state p {\n font-size: 16px;\n margin-bottom: var(--spacing-lg);\n}\n\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-lg) * 2;\n color: var(--text-light);\n}\n\n.loading-spinner {\n width: 40px;\n height: 40px;\n border: 3px solid #f3f3f3;\n border-top: 3px solid var(--primary-color);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n margin-bottom: var(--spacing-md);\n}\n\n@keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n}\n\n/* 积分查询详情页面样式 */\n.points-overview {\n padding: var(--spacing-md);\n}\n\n.overview-card {\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n border-radius: 16px;\n padding: var(--spacing-lg);\n box-shadow: 0 4px 20px rgba(255, 107, 107, 0.2);\n color: white;\n}\n\n.overview-header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: var(--spacing-lg);\n font-size: 16px;\n font-weight: 600;\n}\n\n.overview-header i {\n font-size: 20px;\n}\n\n.overview-header span {\n font-size: 16px;\n font-weight: 600;\n color: white;\n}\n\n.overview-content {\n display: flex;\n gap: var(--spacing-md);\n}\n\n.overview-item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n position: relative;\n}\n\n.overview-label {\n font-size: 12px;\n opacity: 0.9;\n margin-bottom: 4px;\n color: white;\n}\n\n.overview-value {\n font-size: 24px;\n font-weight: 700;\n margin-bottom: 8px;\n color: white;\n}\n\n.overview-icon {\n width: 32px;\n height: 32px;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.overview-icon i {\n font-size: 16px;\n color: white;\n}\n\n/* 积分操作按钮样式 */\n.points-actions {\n display: flex;\n gap: var(--spacing-md);\n padding: 0 var(--spacing-md) var(--spacing-md);\n}\n\n.action-card {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #fff;\n border: 1px solid rgba(255,107,107,0.12);\n border-radius: 12px;\n padding: var(--spacing-md);\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 2px 8px rgba(255,107,107,0.08);\n}\n\n.action-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(255,107,107,0.15);\n border-color: rgba(255,107,107,0.3);\n}\n\n.action-card i {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--spacing-sm);\n font-size: 18px;\n}\n\n.action-card span {\n font-size: 13px;\n color: var(--text-color);\n font-weight: 500;\n}\n\n/* 积分记录样式 */\n.points-records {\n background: white;\n border-radius: 16px 16px 0 0;\n margin-top: var(--spacing-md);\n padding: var(--spacing-md);\n box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);\n}\n\n.records-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: var(--spacing-md);\n}\n\n.records-header h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0;\n}\n\n.tab-section {\n display: flex;\n gap: var(--spacing-sm);\n margin-bottom: var(--spacing-md);\n}\n\n.tab-btn {\n flex: 1;\n padding: var(--spacing-sm) var(--spacing-md);\n background: #f8f9fa;\n border: 1px solid rgba(255,107,107,0.08);\n border-radius: 20px;\n color: var(--text-light);\n font-size: 14px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.tab-btn.active {\n background: var(--primary-color);\n color: #fff;\n border-color: var(--primary-color);\n}\n\n.list-content {\n min-height: 200px;\n}\n\n.list-tab {\n display: none;\n}\n\n.list-tab.active {\n display: block;\n}\n\n.list-item {\n background: #f8f9fa;\n border-radius: 12px;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-sm);\n border: 1px solid rgba(255,107,107,0.08);\n}\n\n.item-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: var(--spacing-sm);\n}\n\n.item-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0;\n}\n\n.status {\n font-size: 12px;\n padding: 4px 8px;\n border-radius: 12px;\n font-weight: 500;\n}\n\n.status.approved {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n}\n\n.status.pending {\n background: rgba(255, 152, 0, 0.1);\n color: #ff9800;\n}\n\n.status.rejected {\n background: rgba(244, 67, 54, 0.1);\n color: #f44336;\n}\n\n.status.completed {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n}\n\n.item-content p {\n font-size: 13px;\n color: var(--text-light);\n margin: 0 0 var(--spacing-sm) 0;\n line-height: 1.4;\n}\n\n.item-meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n}\n\n.time {\n color: var(--text-light);\n}\n\n.points {\n font-weight: 600;\n color: var(--primary-color);\n}\n\n/* 我的报名页面样式 */\n.declaration-search-bar {\n padding: 16px 12px;\n background: #fff;\n border-bottom: 1px solid var(--border-color);\n}\n\n.search-filter-row {\n display: flex;\n gap: 12px;\n align-items: center;\n}\n\n.declaration-search {\n flex: 1;\n display: flex;\n align-items: center;\n background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);\n border: 2px solid var(--border-color);\n border-radius: 22px;\n padding: 8px 60px 8px 16px;\n transition: all 0.3s;\n min-width: 180px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);\n position: relative;\n overflow: visible;\n height: 44px;\n}\n\n.declaration-search:focus-within {\n border-color: var(--primary-color);\n box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.15), 0 4px 12px rgba(255, 107, 107, 0.1);\n transform: translateY(-1px);\n}\n\n.declaration-search::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);\n transition: left 0.5s;\n}\n\n.declaration-search:hover::before {\n left: 100%;\n}\n\n.declaration-search i {\n color: var(--primary-color);\n margin-right: 10px;\n font-size: 16px;\n opacity: 0.8;\n transition: all 0.3s;\n}\n\n.declaration-search:focus-within i {\n opacity: 1;\n transform: scale(1.1);\n}\n\n.declaration-search input {\n flex: 1;\n border: none;\n background: none;\n outline: none;\n font-size: 14px;\n color: var(--text-color);\n padding: 0;\n font-weight: 500;\n position: relative;\n z-index: 1;\n line-height: 1.4;\n padding-right: 55px;\n}\n\n.declaration-search input::placeholder {\n color: var(--text-light);\n font-weight: 400;\n opacity: 0.8;\n}\n\n.declaration-search-btn {\n background: linear-gradient(135deg, var(--primary-color), #ffb199);\n color: #fff;\n border: none;\n border-radius: 18px;\n padding: 8px 12px;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.3s;\n font-weight: 600;\n box-shadow: 0 3px 8px rgba(255, 107, 107, 0.25);\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 2;\n letter-spacing: 0.5px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n white-space: nowrap;\n}\n\n.declaration-search-btn:hover {\n transform: translateY(-50%) translateY(-2px) scale(1.05);\n box-shadow: 0 6px 16px rgba(255, 107, 107, 0.35);\n}\n\n.declaration-search-btn:active {\n transform: translateY(-50%) translateY(0) scale(0.98);\n box-shadow: 0 2px 6px rgba(255, 107, 107, 0.3);\n}\n\n/* 更多筛选按钮 */\n.filter-more-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 8px 12px;\n border: 2px solid transparent;\n border-radius: 22px;\n background: linear-gradient(135deg, var(--primary-color), #ffb199);\n font-size: 13px;\n color: #fff;\n cursor: pointer;\n transition: all 0.3s;\n min-width: 70px;\n white-space: nowrap;\n font-weight: 600;\n flex-shrink: 0;\n box-shadow: 0 3px 8px rgba(255, 107, 107, 0.25);\n position: relative;\n overflow: hidden;\n letter-spacing: 0.3px;\n height: 37px;\n}\n\n.filter-more-btn::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\n transition: left 0.5s;\n}\n\n.filter-more-btn:hover::before {\n left: 100%;\n}\n\n.filter-more-btn:hover {\n transform: translateY(-2px) scale(1.05);\n box-shadow: 0 6px 16px rgba(255, 107, 107, 0.35);\n}\n\n.filter-more-btn:active {\n transform: translateY(0) scale(0.98);\n box-shadow: 0 2px 6px rgba(255, 107, 107, 0.3);\n}\n\n.filter-more-btn i {\n font-size: 16px;\n position: relative;\n z-index: 1;\n transition: all 0.3s;\n}\n\n.filter-more-btn:hover i {\n transform: rotate(180deg);\n}\n\n.declaration-select:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n/* 筛选弹窗样式 */\n.filter-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n padding-top: 80px;\n}\n\n.filter-modal {\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);\n width: 90%;\n max-width: 400px;\n max-height: 80vh;\n overflow: hidden;\n animation: slideDown 0.3s ease-out;\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.filter-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px;\n border-bottom: 1px solid var(--border-color);\n background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);\n}\n\n.filter-modal-header h3 {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0;\n}\n\n.filter-close-btn {\n width: 32px;\n height: 32px;\n border: none;\n border-radius: 50%;\n background: #f0f0f0;\n color: var(--text-light);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.3s;\n}\n\n.filter-close-btn:hover {\n background: var(--primary-color);\n color: #fff;\n}\n\n.filter-modal-content {\n padding: 20px;\n max-height: 60vh;\n overflow-y: auto;\n}\n\n.filter-group {\n margin-bottom: 20px;\n}\n\n.filter-group:last-child {\n margin-bottom: 0;\n}\n\n.filter-group label {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 8px;\n}\n\n.filter-select {\n width: 100%;\n padding: 12px 16px;\n border: 2px solid var(--border-color);\n border-radius: 12px;\n background: #f8f9fa;\n font-size: 14px;\n color: var(--text-color);\n cursor: pointer;\n transition: all 0.3s;\n appearance: none;\n background-image: url(\"data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 16px center;\n background-size: 16px;\n padding-right: 48px;\n}\n\n.filter-select:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n.filter-modal-actions {\n display: flex;\n gap: 12px;\n padding: 20px;\n border-top: 1px solid var(--border-color);\n background: #f8f9fa;\n}\n\n.filter-reset-btn,\n.filter-confirm-btn {\n flex: 1;\n padding: 12px 24px;\n border: none;\n border-radius: 25px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.filter-reset-btn {\n background: #f0f0f0;\n color: var(--text-color);\n}\n\n.filter-reset-btn:hover {\n background: #e0e0e0;\n}\n\n.filter-confirm-btn {\n background: linear-gradient(135deg, var(--primary-color), #ffb199);\n color: #fff;\n box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);\n}\n\n.filter-confirm-btn:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);\n}\n\n/* 响应式优化 - 搜索筛选区域 */\n@media (max-width: 480px) {\n .declaration-search-bar {\n padding: 12px 8px;\n }\n \n .search-filter-row {\n gap: 8px;\n }\n \n .declaration-search {\n /* min-width: auto; */\n padding: 8px 50px 8px 12px;\n }\n \n .filter-more-btn {\n min-width: 60px;\n padding: 8px 10px;\n font-size: 12px;\n gap: 3px;\n }\n \n .filter-modal {\n width: 95%;\n margin: 0 auto;\n }\n \n .filter-modal-overlay {\n padding-top: 60px;\n }\n}\n\n.declaration-tabs {\n display: flex;\n background: #fff;\n /* padding: 0 var(--spacing-md); */\n border-bottom: 1px solid var(--border-color);\n}\n\n.declaration-tab {\n flex: 1;\n padding: var(--spacing-md);\n background: none;\n border: none;\n color: var(--text-light);\n font-size: 17px;\n cursor: pointer;\n transition: all 0.3s ease;\n border-bottom: 2px solid transparent;\n}\n\n.declaration-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n}\n\n.community-filter {\n display: flex;\n gap: var(--spacing-sm);\n padding: var(--spacing-md);\n background: #fff;\n border-bottom: 1px solid var(--border-color);\n}\n\n.community-btn {\n padding: var(--spacing-sm) var(--spacing-md);\n background: #f8f9fa;\n border: 1px solid var(--border-color);\n border-radius: 20px;\n color: var(--text-light);\n font-size: 13px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.community-btn.active {\n background: var(--primary-color);\n color: #fff;\n border-color: var(--primary-color);\n}\n\n.activity-grid {\n padding: var(--spacing-md);\n display: grid;\n gap: var(--spacing-md);\n}\n\n.activity-card {\n background: #fff;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.activity-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n}\n\n.activity-cover {\n position: relative;\n height: 160px;\n overflow: hidden;\n}\n\n.activity-cover img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.activity-status {\n position: absolute;\n right: var(--spacing-sm);\n padding: 4px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n color: #fff;\n}\n\n.activity-status.ongoing {\n background: rgba(76, 175, 80, 0.9);\n}\n\n.activity-status.upcoming {\n background: rgba(255, 152, 0, 0.9);\n}\n\n.activity-status.completed {\n background: rgba(158, 158, 158, 0.9);\n}\n\n\n.activity-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0 0 var(--spacing-sm) 0;\n line-height: 1.3;\n}\n\n.activity-meta {\n margin-bottom: var(--spacing-sm);\n}\n\n.meta-item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n margin-bottom: 4px;\n font-size: 13px;\n color: var(--text-light);\n}\n\n.meta-item i {\n width: 16px;\n color: var(--primary-color);\n}\n\n.activity-participants {\n font-size: 12px;\n color: var(--text-light);\n text-align: right;\n}\n\n/* 活动列表页面样式 */\n.activity-grid {\n padding: var(--spacing-md);\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 2px 12px rgba(255,107,107,0.08);\n margin: 0px 12px;\n padding: 12px 0 4px 0;\n}\n\n/* 活动项样式(volunteer1风格) */\n.activity-item {\n display: flex;\n align-items: center;\n background: #fff;\n border-radius: 16px;\n border: 1px solid rgba(255,107,107,0.12);\n box-shadow: 0 4px 16px rgba(255,107,107,0.12), 0 2px 8px rgba(0,0,0,0.08);\n margin-bottom: 10px;\n padding: 16px 20px 16px 18px;\n position: relative;\n min-height: 100px;\n transition: all 0.3s ease;\n cursor: pointer;\n}\n\n.activity-item:hover {\n box-shadow: 0 6px 20px rgba(255,107,107,0.18), 0 4px 12px rgba(0,0,0,0.12);\n transform: translateY(-2px);\n}\n\n.activity-item .cover {\n width: 80px;\n height: 80px;\n border-radius: 10px;\n object-fit: cover;\n margin-right: 16px;\n background: #f5f5f5;\n flex-shrink: 0;\n}\n\n.activity-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n justify-content: center;\n}\n\n.activity-info-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.activity-info h4 {\n font-size: 15px;\n color: #222;\n font-weight: 600;\n margin: 0;\n line-height: 1.2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.activity-status {\n font-size: 11px;\n border-radius: 8px;\n padding: 2px 14px;\n background: #ffe6e6;\n color: #ffb347;\n font-weight: 500;\n margin-left: 8px;\n white-space: nowrap;\n line-height: 1.2;\n}\n\n.activity-status.ongoing { \n background: #ffe6e6; \n color: #ffb347; \n}\n\n.activity-status.upcoming { \n background: #e6fff6; \n color: #38b2ac; \n}\n\n.activity-status.completed { \n background: #e6e6e6; \n color: #aaa; \n}\n\n.activity-info-detail {\n font-size: 12px;\n color: #888;\n display: flex;\n align-items: center;\n line-height: 1.3;\n}\n\n.activity-info-detail i {\n margin-right: 6px;\n width: 14px;\n text-align: center;\n}\n\n.category-tag {\n background: rgba(255, 107, 107, 0.1);\n color: var(--primary-color);\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 11px;\n font-weight: 500;\n margin-left: 4px;\n}\n\n/* 活动卡片样式 */\n.activity-card {\n background: white;\n border-radius: var(--border-radius);\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n box-shadow: var(--shadow);\n border: 1px solid rgba(255,107,107,0.08);\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.activity-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n border-color: rgba(255,107,107,0.2);\n}\n\n.activity-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: var(--spacing-md);\n}\n\n.activity-header h4 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0;\n}\n\n.category-tag {\n padding: var(--spacing-xs) var(--spacing-sm);\n border-radius: 12px;\n font-size: 10px;\n font-weight: 500;\n}\n\n.category-tag.party {\n background-color: #ff6b6b;\n color: white;\n}\n\n.category-tag.economy {\n background-color: #4ecdc4;\n color: white;\n}\n\n.category-tag.security {\n background-color: #ffe66d;\n color: #856404;\n}\n\n.category-tag.service {\n background-color: #95e1d3;\n color: white;\n}\n\n.category-tag.illegal {\n background-color: #ff8a8a;\n color: white;\n}\n\n.activity-details p {\n font-size: 12px;\n color: var(--text-light);\n margin-bottom: var(--spacing-xs);\n display: flex;\n align-items: center;\n}\n\n.activity-details i {\n margin-right: var(--spacing-xs);\n color: var(--primary-color);\n width: 12px;\n text-align: center;\n}\n\n.join-btn {\n width: 100%;\n padding: var(--spacing-sm);\n background-color: var(--primary-color);\n color: white;\n border: none;\n border-radius: var(--border-radius);\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.3s;\n margin-top: var(--spacing-md);\n}\n\n.join-btn:hover {\n background-color: #ff5252;\n}\n\n/* 无数据状态 */\n.no-data {\n text-align: center;\n padding: var(--spacing-lg);\n color: var(--text-light);\n}\n\n.no-data i {\n font-size: 48px;\n margin-bottom: var(--spacing-md);\n opacity: 0.5;\n}\n\n.no-data p {\n font-size: 14px;\n margin: 0;\n}\n\n/* 活动项样式(volunteer1风格) */\n.activity-grid {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.activity-item {\n display: flex;\n align-items: center;\n background: #fff;\n border-radius: 16px;\n border: 1px solid rgba(255,107,107,0.12);\n box-shadow: 0 4px 16px rgba(255,107,107,0.12), 0 2px 8px rgba(0,0,0,0.08);\n margin-bottom: 10px;\n padding: 16px 20px 16px 18px;\n position: relative;\n min-height: 100px;\n transition: all 0.3s ease;\n cursor: pointer;\n}\n\n.activity-item:hover {\n box-shadow: 0 6px 20px rgba(255,107,107,0.18), 0 4px 12px rgba(0,0,0,0.12);\n transform: translateY(-2px);\n}\n\n.activity-item .cover {\n width: 80px;\n height: 80px;\n border-radius: 10px;\n object-fit: cover;\n margin-right: 16px;\n background: #f5f5f5;\n flex-shrink: 0;\n}\n\n.activity-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n justify-content: center;\n}\n\n.activity-info-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.activity-info h4 {\n font-size: 15px;\n color: #222;\n font-weight: 600;\n margin: 0;\n line-height: 1.2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.activity-status {\n font-size: 11px;\n border-radius: 8px;\n padding: 2px 14px;\n background: #ffe6e6;\n color: #ffb347;\n font-weight: 500;\n margin-left: 8px;\n white-space: nowrap;\n line-height: 1.2;\n}\n\n.activity-status.ongoing { \n background: #ffe6e6; \n color: #ffb347; \n}\n\n.activity-status.upcoming { \n background: #e6fff6; \n color: #38b2ac; \n}\n\n.activity-status.completed { \n background: #e6e6e6; \n color: #aaa; \n}\n\n.activity-info-detail {\n font-size: 12px;\n color: #888;\n display: flex;\n align-items: center;\n line-height: 1.3;\n}\n\n.activity-info-detail i {\n margin-right: 6px;\n width: 14px;\n text-align: center;\n}\n\n.category-tag {\n background: rgba(255, 107, 107, 0.1);\n color: var(--primary-color);\n padding: 2px 6px;\n border-radius: 8px;\n font-size: 11px;\n font-weight: 500;\n margin-left: 4px;\n}\n\n/* 申报卡片样式 */\n.declaration-card {\n background: #fff;\n border-radius: 12px;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-sm);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n cursor: pointer;\n transition: all 0.3s ease;\n border: 1px solid rgba(255,107,107,0.08);\n}\n\n.declaration-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n border-color: rgba(255,107,107,0.2);\n}\n\n.declaration-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: var(--spacing-sm);\n}\n\n.declaration-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.declaration-status {\n padding: 4px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n}\n\n.declaration-status.approved {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n}\n\n.declaration-status.pending {\n background: rgba(255, 152, 0, 0.1);\n color: #ff9800;\n}\n\n.declaration-status.rejected {\n background: rgba(244, 67, 54, 0.1);\n color: #f44336;\n}\n\n.declaration-info {\n margin-bottom: var(--spacing-sm);\n}\n\n.declaration-info-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n margin-bottom: 4px;\n font-size: 13px;\n color: var(--text-light);\n}\n\n.declaration-info-row i {\n width: 16px;\n color: var(--primary-color);\n}\n\n.declaration-content {\n font-size: 14px;\n color: var(--text-color);\n line-height: 1.4;\n margin-bottom: var(--spacing-sm);\n}\n\n.declaration-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.points-info {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n font-size: 14px;\n font-weight: 600;\n color: var(--primary-color);\n}\n\n.points-info i {\n color: var(--primary-color);\n}\n\n.declaration-arrow {\n color: var(--text-light);\n font-size: 14px;\n}\n\n/* 核销卡片样式 */\n.redemption-card {\n background: #fff;\n border-radius: 12px;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-sm);\n box-shadow: 0 2px 8px rgba(0,0,0,0.1);\n cursor: pointer;\n transition: all 0.3s ease;\n border: 1px solid rgba(255,107,107,0.08);\n}\n\n.redemption-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(0,0,0,0.15);\n border-color: rgba(255,107,107,0.2);\n}\n\n.redemption-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: var(--spacing-sm);\n}\n\n.redemption-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.redemption-status {\n padding: 4px 8px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n}\n\n.redemption-status.completed {\n background: rgba(76, 175, 80, 0.1);\n color: #4caf50;\n}\n\n.redemption-info {\n margin-bottom: var(--spacing-sm);\n}\n\n.redemption-info-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n margin-bottom: 4px;\n font-size: 13px;\n color: var(--text-light);\n}\n\n.redemption-info-row i {\n width: 16px;\n color: var(--primary-color);\n}\n\n.redemption-content {\n font-size: 14px;\n color: var(--text-color);\n line-height: 1.4;\n margin-bottom: var(--spacing-sm);\n}\n\n.redemption-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.redemption-arrow {\n color: var(--text-light);\n font-size: 14px;\n}\n\n/* 申报表单样式 */\n.declaration-form {\n padding: var(--spacing-md);\n}\n\n.form-section {\n background: #fff;\n border-radius: var(--border-radius);\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.form-section .section-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: var(--spacing-md);\n padding-bottom: var(--spacing-sm);\n border-bottom: 1px solid var(--border-color);\n}\n\n.form-group {\n margin-bottom: var(--spacing-md);\n}\n\n.form-group label {\n display: block;\n font-size: 14px;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: var(--spacing-sm);\n}\n\n.form-input {\n width: 100%;\n padding: 12px 16px;\n border: 1px solid var(--border-color);\n border-radius: var(--border-radius);\n font-size: 14px;\n background: #fff;\n transition: border-color 0.3s ease;\n}\n\n.form-input:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n.form-select {\n width: 100%;\n padding: 12px 16px;\n border: 1px solid var(--border-color);\n border-radius: var(--border-radius);\n font-size: 14px;\n background: #fff;\n transition: border-color 0.3s ease;\n cursor: pointer;\n}\n\n.form-select:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n.form-input[readonly] {\n background-color: #f8f9fa;\n color: var(--text-light);\n cursor: not-allowed;\n}\n\n.points-display {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #f8f9fa;\n border: 2px solid #ff6b6b;\n border-radius: var(--border-radius);\n color: #ff6b6b;\n}\n\n.points-value {\n font-size: 24px;\n font-weight: 700;\n color: #ff6b6b;\n}\n\n.points-unit {\n font-size: 14px;\n color: #ff6b6b;\n opacity: 0.9;\n}\n\n.time-range-container {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.time-input-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.time-label {\n font-size: 12px;\n color: var(--text-light);\n font-weight: 500;\n}\n\n.time-input {\n width: 100%;\n}\n\n.service-hours-display {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #f8f9fa;\n border: 2px solid var(--secondary-color);\n border-radius: var(--border-radius);\n color: var(--secondary-color);\n}\n\n.hours-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--secondary-color);\n}\n\n.hours-unit {\n font-size: 14px;\n color: var(--secondary-color);\n opacity: 0.9;\n}\n\n.file-upload {\n margin-top: var(--spacing-sm);\n}\n\n.file-input-hidden {\n display: none;\n}\n\n.upload-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n background: #f8f9fa;\n border: 2px dashed var(--border-color);\n border-radius: var(--border-radius);\n color: var(--text-light);\n cursor: pointer;\n transition: all 0.3s ease;\n width: 100%;\n justify-content: center;\n}\n\n.upload-btn:hover {\n border-color: var(--primary-color);\n color: var(--primary-color);\n background: rgba(255, 107, 107, 0.05);\n}\n\n.form-actions {\n padding: var(--spacing-md) 0;\n text-align: center;\n}\n\n.submit-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 14px 32px;\n background: var(--primary-color);\n color: white;\n border: none;\n border-radius: var(--border-radius);\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 2px 8px rgba(255, 107, 107, 0.2);\n}\n\n.submit-btn:hover {\n background: #ff5252;\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\n}\n\n/* 活动详情页面样式 */\n.activity-detail-content {\n padding-bottom: 100px;\n}\n\n.activity-cover {\n width: 100%;\n height: 200px;\n overflow: hidden;\n position: relative;\n}\n\n.activity-cover img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.detail-section {\n background: #fff;\n margin: var(--spacing-md);\n border-radius: var(--border-radius);\n padding: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.detail-section .section-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: var(--spacing-md);\n padding-bottom: var(--spacing-sm);\n border-bottom: 1px solid var(--border-color);\n}\n\n.detail-info {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-md);\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n}\n\n.detail-item label {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-light);\n}\n\n.detail-item span,\n.detail-item p {\n font-size: 14px;\n /* color: var(--text-color); */\n line-height: 1.5;\n}\n\n.detail-item p {\n margin: 0;\n padding: var(--spacing-sm);\n background: #f8f9fa;\n border-radius: var(--border-radius);\n border-left: 3px solid var(--primary-color);\n}\n\n/* 签到二维码按钮 */\n.checkin-qr-section {\n /* padding: var(--spacing-md); */\n display: flex;\n justify-content: center;\n}\n\n.checkin-qr-btn {\n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%);\n color: white;\n border: none;\n border-radius: 12px;\n padding: 12px 24px;\n font-size: 14px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: all 0.3s ease;\n box-shadow: 0 4px 12px rgba(78, 205, 196, 0.3);\n}\n\n.checkin-qr-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(78, 205, 196, 0.4);\n}\n\n.checkin-qr-btn i {\n font-size: 16px;\n}\n\n/* 活动轮播样式 */\n.activity-carousel-container {\n position: relative;\n width: 100%;\n height: 200px;\n overflow: hidden;\n border-radius: 0 0 12px 12px;\n}\n\n.activity-carousel-wrapper {\n display: flex;\n width: 300%;\n height: 100%;\n transition: transform 0.3s ease;\n}\n\n.activity-carousel-slide {\n width: 33.333%;\n height: 100%;\n}\n\n.activity-carousel-slide img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.activity-carousel-dots {\n position: absolute;\n bottom: 12px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n gap: 8px;\n z-index: 2;\n}\n\n.activity-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.5);\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.activity-dot.active {\n background: #fff;\n transform: scale(1.2);\n}\n\n.activity-carousel-btn {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n background: rgba(0, 0, 0, 0.5);\n color: white;\n border: none;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.3s ease;\n z-index: 2;\n}\n\n.activity-carousel-btn:hover {\n background: rgba(0, 0, 0, 0.7);\n transform: translateY(-50%) scale(1.1);\n}\n\n.activity-carousel-btn.prev-btn {\n left: 12px;\n}\n\n.activity-carousel-btn.next-btn {\n right: 12px;\n}\n\n/* 签到签退信息卡片 */\n.checkin-info-card,\n.checkout-info-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border-radius: 8px;\n border: 1px solid var(--border-color);\n background: #f8f9fa;\n}\n\n.checkin-info-card.no-checkin,\n.checkout-info-card.no-checkout {\n border-color: #dee2e6;\n background: #f8f9fa;\n}\n\n/* 有签到数据时的醒目样式 */\n.checkin-info-card.has-checkin {\n border-color: #28a745;\n background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(40, 167, 69, 0.05));\n box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);\n transform: translateY(-1px);\n transition: all 0.3s ease;\n}\n\n.checkin-info-card.has-checkin .checkin-icon {\n background: #28a745;\n color: white;\n box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);\n}\n\n.checkin-info-card.has-checkin .checkin-content .checkin-time {\n color: #155724;\n font-weight: 600;\n}\n\n.checkin-info-card.has-checkin .checkin-content .checkin-location {\n color: #28a745;\n font-weight: 500;\n}\n\n/* 有签退数据时的醒目样式 */\n.checkout-info-card.has-checkout {\n border-color: #fd7e14;\n background: linear-gradient(135deg, rgba(253, 126, 20, 0.1), rgba(253, 126, 20, 0.05));\n box-shadow: 0 2px 8px rgba(253, 126, 20, 0.15);\n transform: translateY(-1px);\n transition: all 0.3s ease;\n}\n\n.checkout-info-card.has-checkout .checkout-icon {\n background: #fd7e14;\n color: white;\n box-shadow: 0 2px 4px rgba(253, 126, 20, 0.3);\n}\n\n.checkout-info-card.has-checkout .checkout-content .checkout-time {\n color: #e65100;\n font-weight: 600;\n}\n\n.checkout-info-card.has-checkout .checkout-content .checkout-location {\n color: #fd7e14;\n font-weight: 500;\n}\n\n/* 服务时长醒目样式 */\n.service-hours.has-service {\n color: #17a2b8;\n font-weight: 600;\n font-size: 16px;\n background: linear-gradient(135deg, rgba(23, 162, 184, 0.1), rgba(23, 162, 184, 0.05));\n padding: 6px 12px;\n border-radius: 12px;\n border: 1px solid rgba(23, 162, 184, 0.3);\n display: inline-block;\n box-shadow: 0 2px 4px rgba(23, 162, 184, 0.15);\n}\n\n/* 获得积分醒目样式 */\n.earned-points.has-points {\n color: #ffc107;\n font-weight: 600;\n font-size: 16px;\n background: linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 193, 7, 0.05));\n padding: 6px 12px;\n border-radius: 12px;\n border: 1px solid rgba(255, 193, 7, 0.4);\n display: inline-block;\n box-shadow: 0 2px 4px rgba(255, 193, 7, 0.2);\n position: relative;\n}\n\n.earned-points.has-points::before {\n content: \"⭐\";\n margin-right: 4px;\n font-size: 14px;\n}\n\n.checkin-icon,\n.checkout-icon {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--border-color);\n color: var(--text-light);\n}\n\n.checkin-content,\n.checkout-content {\n flex: 1;\n}\n\n.checkin-time,\n.checkout-time {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-color);\n margin-bottom: 4px;\n}\n\n.checkin-location,\n.checkout-location {\n font-size: 12px;\n color: var(--text-light);\n}\n\n/* 报名按钮 */\n.detail-actions {\n position: fixed;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 100%;\n max-width: 414px;\n background: #fff;\n padding: 16px;\n box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);\n z-index: 10;\n}\n\n.signup-btn {\n width: 100%;\n background: linear-gradient(135deg, var(--primary-color), #ffb199);\n color: white;\n border: none;\n border-radius: 12px;\n padding: 14px 20px;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: all 0.3s ease;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n.signup-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\n}\n\n.signup-btn:active {\n transform: translateY(0);\n box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);\n}\n\n.signup-btn:disabled {\n background: #dee2e6;\n color: var(--text-light);\n cursor: not-allowed;\n box-shadow: none;\n}\n\n.signup-btn:disabled:hover {\n transform: none;\n box-shadow: none;\n}\n\n.signup-btn.secondary {\n background: linear-gradient(135deg, #6c757d 0%, #868e96 100%);\n color: white;\n box-shadow: 0 4px 16px rgba(108, 117, 125, 0.3);\n}\n\n.signup-btn.secondary:hover:not(:disabled) {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(108, 117, 125, 0.4);\n}\n\n.signup-btn i {\n font-size: 18px;\n}\n\n/* 参与人员列表样式 */\n.participants-list {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-md);\n}\n\n.participant-item {\n background: white;\n border-radius: 16px;\n padding: var(--spacing-md);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n transition: all 0.3s ease;\n position: relative;\n}\n\n.participant-item:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);\n}\n\n.participant-info {\n flex: 1;\n min-width: 0;\n}\n\n.participant-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.participant-name {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.participant-status {\n font-size: 12px;\n padding: 4px 8px;\n border-radius: 12px;\n font-weight: 500;\n display: inline-block;\n}\n\n.participant-status.checked {\n background: #d4edda;\n color: #155724;\n}\n\n.participant-status.not-checked {\n background: #f8d7da;\n color: #721c24;\n}\n\n/* 新的状态样式 */\n.participant-status.status-registered {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border: 1px solid rgba(255, 152, 0, 0.3);\n}\n\n.participant-status.status-checked-in {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border: 1px solid rgba(76, 175, 80, 0.3);\n}\n\n.participant-status.status-checked-out {\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.15), rgba(33, 150, 243, 0.05));\n color: #1565c0;\n border: 1px solid rgba(33, 150, 243, 0.3);\n}\n\n.participant-status.status-unknown {\n background: linear-gradient(135deg, rgba(158, 158, 158, 0.15), rgba(158, 158, 158, 0.05));\n color: #424242;\n border: 1px solid rgba(158, 158, 158, 0.3);\n}\n\n/* 用户报名状态样式 */\n.user-status {\n font-size: 14px;\n padding: 6px 12px;\n border-radius: 16px;\n font-weight: 500;\n display: inline-block;\n border: 1px solid;\n}\n\n.user-status.status-not-registered {\n background: linear-gradient(135deg, rgba(158, 158, 158, 0.15), rgba(158, 158, 158, 0.05));\n color: #616161;\n border-color: rgba(158, 158, 158, 0.3);\n}\n\n.user-status.status-registered {\n background: linear-gradient(135deg, rgba(33, 150, 243, 0.15), rgba(33, 150, 243, 0.05));\n color: #1565c0;\n border-color: rgba(33, 150, 243, 0.3);\n}\n\n.user-status.status-checked-in {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border-color: rgba(76, 175, 80, 0.3);\n}\n\n.user-status.status-checked-out {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border-color: rgba(255, 152, 0, 0.3);\n}\n\n.participant-details {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.participant-phone,\n.participant-location,\n.checkin-time,\n.checkout-time {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--text-light);\n padding-top: 12px;\n}\n\n.participant-phone i,\n.participant-location i,\n.checkin-time i,\n.checkout-time i {\n width: 14px;\n color: #4ecdc4;\n}\n\n.participant-actions {\n position: absolute;\n bottom: var(--spacing-md);\n right: var(--spacing-md);\n}\n\n.remove-btn {\n background: linear-gradient(135deg, #ff6b6b 0%, #ff8a8a 100%);\n color: white;\n border: none;\n border-radius: 8px;\n padding: 6px 10px;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n transition: all 0.3s ease;\n}\n\n.remove-btn:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n/* 二维码弹窗样式 */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n}\n\n.qr-code-modal {\n background: white;\n border-radius: 16px;\n padding: var(--spacing-lg);\n max-width: 300px;\n width: 90%;\n text-align: center;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n}\n\n.qr-code-modal h3 {\n font-size: 18px;\n color: var(--text-color);\n margin-bottom: var(--spacing-md);\n}\n\n.qr-code-modal img {\n width: 150px;\n height: 150px;\n margin: var(--spacing-md) 0;\n border-radius: 8px;\n}\n\n.qr-code-modal p {\n font-size: 14px;\n color: var(--text-light);\n margin-bottom: var(--spacing-md);\n}\n\n.close-modal-btn {\n background: linear-gradient(135deg, #ff6b6b 0%, #ff8a8a 100%);\n color: white;\n border: none;\n border-radius: 8px;\n padding: 10px 20px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.3s ease;\n}\n\n.close-modal-btn:hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n/* 无数据状态 */\n.no-data {\n text-align: center;\n padding: var(--spacing-lg);\n color: var(--text-light);\n}\n\n.no-data i {\n font-size: 48px;\n margin-bottom: var(--spacing-md);\n opacity: 0.5;\n}\n\n.no-data p {\n font-size: 14px;\n margin: 0;\n}\n\n/* 管理端功能按钮区域样式 */\n.admin-function-buttons {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 16px;\n padding: 20px 16px 8px 16px;\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 2px 12px rgba(255,107,107,0.08);\n position: relative;\n z-index: 2;\n}\n\n.admin-function-btn {\n display: flex;\n flex-direction: column;\n align-items: center;\n background: none;\n border: none;\n box-shadow: none;\n cursor: pointer;\n transition: transform 0.2s, box-shadow 0.2s;\n}\n\n.admin-function-btn:active, .admin-function-btn:hover {\n transform: translateY(-2px) scale(1.05);\n}\n\n.admin-function-btn i {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n color: #fff;\n font-size: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 8px;\n box-shadow: 0 2px 8px rgba(255,107,107,0.15);\n}\n\n.admin-function-btn:nth-child(1) i { background: linear-gradient(135deg, #ffb199 0%, #ff6b6b 100%); }\n.admin-function-btn:nth-child(2) i { background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%); }\n.admin-function-btn:nth-child(3) i { background: linear-gradient(135deg, #ffe66d 0%, #f6d365 100%); color: #ff6b6b; }\n.admin-function-btn:nth-child(4) i { background: linear-gradient(135deg, #95e1d3 0%, #4ecdc4 100%); }\n.admin-function-btn:nth-child(5) i { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }\n.admin-function-btn:nth-child(6) i { background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%); }\n\n.admin-function-btn span {\n font-size: 13px;\n color: #333;\n margin-top: 2px;\n text-align: center;\n}\n\n/* ==================== 管理端积分审核页面样式 ==================== */\n\n/* 审核页面容器 */\n.admin-points-review-page {\n background: var(--background-color);\n min-height: 100vh;\n}\n\n/* Tab切换样式 */\n.declaration-tabs {\n display: flex;\n background: #fff;\n border-bottom: 1px solid var(--border-color);\n position: sticky;\n top: 72px;\n z-index: 99;\n}\n\n/* 全选区域样式 */\n.batch-select-only {\n background: #fff;\n padding: 16px;\n border-bottom: 1px solid var(--border-color);\n position: sticky;\n top: 130px; /* 72px (page-header) + 58px (declaration-tabs) */\n z-index: 98;\n}\n\n.declaration-tab {\n flex: 1;\n padding: 16px;\n background: none;\n border: none;\n font-size: 17px;\n font-weight: 500;\n color: var(--text-light);\n cursor: pointer;\n transition: all 0.3s;\n position: relative;\n}\n\n.declaration-tab.active {\n color: var(--primary-color);\n font-weight: 600;\n}\n\n.declaration-tab.active::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 30px;\n height: 3px;\n background: linear-gradient(90deg, var(--primary-color), #ffb199);\n border-radius: 2px;\n}\n\n/* 批量操作区域 */\n.batch-actions {\n background: #fff;\n padding: 16px;\n border-bottom: 1px solid var(--border-color);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.batch-select {\n display: flex;\n align-items: center;\n}\n\n.checkbox-label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-size: 14px;\n color: var(--text-color);\n}\n\n.checkbox-label input[type=\"checkbox\"] {\n display: none;\n}\n\n.checkmark {\n width: 20px;\n height: 20px;\n border: 2px solid var(--border-color);\n border-radius: 4px;\n margin-right: 8px;\n position: relative;\n transition: all 0.3s;\n}\n\n.checkbox-label input[type=\"checkbox\"]:checked + .checkmark {\n background: var(--primary-color);\n border-color: var(--primary-color);\n}\n\n.checkbox-label input[type=\"checkbox\"]:checked + .checkmark::after {\n content: '';\n position: absolute;\n left: 6px;\n top: 2px;\n width: 6px;\n height: 10px;\n border: solid white;\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n}\n\n.batch-buttons {\n display: flex;\n gap: 12px;\n}\n\n.batch-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: none;\n border-radius: 20px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.batch-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.batch-btn.approve {\n background: linear-gradient(135deg, var(--success-color), #4ecdc4);\n color: #fff;\n}\n\n.batch-btn.approve:not(:disabled):hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(76, 205, 196, 0.3);\n}\n\n.batch-btn.reject {\n background: linear-gradient(135deg, #ff9999, var(--primary-color));\n color: #fff;\n}\n\n.batch-btn.reject:not(:disabled):hover {\n transform: translateY(-1px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n/* 成功弹框样式 */\n.success-dialog-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n padding: 16px;\n animation: fadeIn 0.3s ease-out;\n}\n\n.success-dialog {\n background: white;\n border-radius: 16px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);\n max-width: 320px;\n width: 100%;\n animation: slideUp 0.3s ease-out;\n overflow: hidden;\n}\n\n.success-dialog-header {\n text-align: center;\n padding: 24px 24px 16px 24px;\n background: linear-gradient(135deg, #4ecdc4 0%, #44a08d 100%);\n color: white;\n}\n\n.success-dialog-icon {\n width: 48px;\n height: 48px;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 12px auto;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\n}\n\n.success-dialog-icon i {\n font-size: 20px;\n color: white;\n}\n\n.success-dialog-title {\n font-size: 18px;\n font-weight: 600;\n margin: 0;\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.success-dialog-content {\n padding: 20px 24px;\n text-align: center;\n}\n\n.success-dialog-content p {\n margin: 0;\n font-size: 16px;\n color: #333333;\n font-weight: 500;\n line-height: 1.4;\n}\n\n.success-dialog-actions {\n display: flex;\n gap: 12px;\n padding: 0 24px 24px 24px;\n}\n\n.success-dialog-btn {\n flex: 1;\n padding: 12px 16px;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n}\n\n.success-dialog-btn-confirm {\n background: linear-gradient(135deg, #4ecdc4 0%, #44a08d 100%);\n color: white;\n box-shadow: 0 4px 16px rgba(78, 205, 196, 0.3);\n}\n\n.success-dialog-btn-confirm:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 20px rgba(78, 205, 196, 0.4);\n}\n\n.success-dialog-btn-confirm:active {\n transform: translateY(0);\n}\n\n/* 动画效果 */\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(30px) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n/* 移动端适配 */\n@media (max-width: 480px) {\n .success-dialog-overlay {\n padding: 12px;\n }\n \n .success-dialog {\n max-width: 100%;\n border-radius: 12px;\n }\n \n .success-dialog-header {\n padding: 20px 20px 12px 20px;\n }\n \n .success-dialog-icon {\n width: 40px;\n height: 40px;\n }\n \n .success-dialog-icon i {\n font-size: 18px;\n }\n \n .success-dialog-title {\n font-size: 16px;\n }\n \n .success-dialog-content {\n padding: 16px 20px;\n }\n \n .success-dialog-content p {\n font-size: 15px;\n }\n \n .success-dialog-actions {\n padding: 0 20px 20px 20px;\n gap: 10px;\n }\n \n .success-dialog-btn {\n padding: 10px 14px;\n font-size: 13px;\n }\n}\n\n/* 超小屏幕适配 */\n@media (max-width: 360px) {\n .success-dialog-overlay {\n padding: 8px;\n }\n \n .success-dialog-header {\n padding: 16px 16px 10px 16px;\n }\n \n .success-dialog-icon {\n width: 36px;\n height: 36px;\n }\n \n .success-dialog-icon i {\n font-size: 16px;\n }\n \n .success-dialog-title {\n font-size: 15px;\n }\n \n .success-dialog-content {\n padding: 14px 16px;\n }\n \n .success-dialog-content p {\n font-size: 14px;\n }\n \n .success-dialog-actions {\n padding: 0 16px 16px 16px;\n gap: 8px;\n }\n \n .success-dialog-btn {\n padding: 8px 12px;\n font-size: 12px;\n }\n}\n\n/* 审核记录列表 */\n.review-list {\n padding: 16px;\n padding-bottom: 100px; /* 为底部固定的批量操作按钮留出空间 */\n}\n\n.review-item {\n background: #fff;\n border-radius: var(--border-radius);\n margin-bottom: 16px;\n box-shadow: var(--shadow);\n overflow: hidden;\n display: flex;\n transition: all 0.3s;\n}\n\n.review-item:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 20px rgba(255, 107, 107, 0.1);\n}\n\n.review-checkbox {\n display: flex;\n align-items: center;\n padding: 16px 12px;\n background: #f8f9fa;\n}\n\n.review-content {\n flex: 1;\n padding: 16px;\n cursor: pointer;\n}\n\n.review-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.review-name {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.review-status {\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 500;\n text-align: center;\n min-width: 60px;\n}\n\n.review-status.pending {\n background: #fff3cd;\n color: #856404;\n border: 1px solid #ffeaa7;\n}\n\n.review-status.approved {\n background: #d1edff;\n color: #0c5460;\n border: 1px solid #bee5eb;\n}\n\n.review-status.rejected {\n background: #f8d7da;\n color: #721c24;\n border: 1px solid #f5c6cb;\n}\n\n.review-info {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.review-title {\n font-size: 14px;\n color: var(--text-color);\n font-weight: 500;\n}\n\n.review-points {\n font-size: 14px;\n color: var(--primary-color);\n font-weight: 600;\n}\n\n.review-time {\n font-size: 12px;\n color: var(--text-light);\n}\n\n/* ==================== 审核详情页面样式 ==================== */\n\n.admin-review-detail-page {\n background: var(--background-color);\n min-height: 100vh;\n}\n\n.review-detail-content {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.detail-section {\n background: #fff;\n border-radius: var(--border-radius);\n padding: 20px;\n box-shadow: var(--shadow);\n}\n\n.section-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 16px;\n padding-bottom: 8px;\n border-bottom: 2px solid var(--border-color);\n position: relative;\n}\n\n.section-title::after {\n content: '';\n position: absolute;\n bottom: -2px;\n left: 0;\n width: 30px;\n height: 2px;\n background: linear-gradient(90deg, var(--primary-color), #ffb199);\n}\n\n.detail-info {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.detail-item label {\n font-size: 13px;\n color: var(--text-light);\n font-weight: 500;\n}\n\n.detail-item span {\n font-size: 14px;\n /* color: var(--text-color); */\n}\n\n.content-text {\n font-size: 14px;\n color: var(--text-color);\n line-height: 1.6;\n padding: 12px;\n background: #f8f9fa;\n border-radius: 6px;\n border-left: 3px solid var(--primary-color);\n margin: 0;\n}\n\n.points-value {\n color: var(--primary-color);\n font-weight: 600;\n font-size: 16px;\n}\n\n/* 状态标签样式 */\n.status-badge {\n display: inline-block;\n padding: 6px 16px;\n border-radius: 20px;\n font-size: 13px;\n font-weight: 500;\n text-align: center;\n min-width: 80px;\n}\n\n.status-badge.pending {\n background: linear-gradient(135deg, #fff3cd, #ffeaa7);\n color: #856404;\n border: 1px solid #ffeaa7;\n}\n\n.status-badge.approved {\n background: linear-gradient(135deg, #d1edff, #bee5eb);\n color: #0c5460;\n border: 1px solid #bee5eb;\n}\n\n.status-badge.rejected {\n background: linear-gradient(135deg, #f8d7da, #f5c6cb);\n color: #721c24;\n border: 1px solid #f5c6cb;\n}\n\n/* 数字状态码样式 */\n.status-badge[class*=\"0\"] {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border: 1px solid rgba(255, 152, 0, 0.3);\n}\n\n.status-badge[class*=\"1\"] {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border: 1px solid rgba(76, 175, 80, 0.3);\n}\n\n.status-badge[class*=\"2\"] {\n background: linear-gradient(135deg, rgba(244, 67, 54, 0.15), rgba(244, 67, 54, 0.05));\n color: #c62828;\n border: 1px solid rgba(244, 67, 54, 0.3);\n}\n\n/* 审核操作按钮 */\n.review-actions {\n display: flex;\n gap: 16px;\n}\n\n.review-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 14px 24px;\n border: none;\n border-radius: 25px;\n font-size: 15px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.review-btn i {\n font-size: 16px;\n}\n\n.review-btn.approve {\n background: linear-gradient(135deg, var(--success-color), #4ecdc4);\n color: #fff;\n}\n\n.review-btn.approve:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(76, 205, 196, 0.3);\n}\n\n.review-btn.reject {\n background: linear-gradient(135deg, #ff9999, var(--primary-color));\n color: #fff;\n}\n\n.review-btn.reject:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.3);\n}\n\n/* 加载和空状态样式 */\n.loading-state, .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.loading-state i, .empty-state i {\n font-size: 48px;\n color: var(--text-light);\n margin-bottom: 16px;\n opacity: 0.6;\n}\n\n.loading-state i.fa-spinner {\n color: var(--primary-color);\n opacity: 1;\n}\n\n.loading-state p, .empty-state p {\n font-size: 14px;\n color: var(--text-light);\n margin: 0;\n}\n\n/* 响应式优化 */\n@media (max-width: 375px) {\n .batch-actions {\n flex-direction: column;\n gap: 12px;\n align-items: stretch;\n }\n \n .batch-buttons {\n justify-content: center;\n }\n \n .review-actions {\n flex-direction: column;\n }\n \n .review-btn {\n padding: 12px 20px;\n }\n}\n\n/* ==================== 管理端志愿者审核页面样式 ==================== */\n\n/* 志愿者审核页面容器 */\n.admin-volunteer-review-page {\n background: var(--background-color);\n min-height: 100vh;\n}\n\n/* 志愿者审核记录列表 */\n.volunteer-review-list {\n padding: 16px;\n}\n\n.volunteer-review-item {\n background: #fff;\n border-radius: var(--border-radius);\n margin-bottom: 16px;\n box-shadow: var(--shadow);\n overflow: hidden;\n display: flex;\n transition: all 0.3s;\n}\n\n.volunteer-review-item:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 20px rgba(255, 107, 107, 0.1);\n}\n\n.volunteer-review-content {\n flex: 1;\n padding: 16px;\n cursor: pointer;\n}\n\n.volunteer-review-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.volunteer-name {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n}\n\n.volunteer-status {\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 12px;\n font-weight: 500;\n text-align: center;\n min-width: 60px;\n}\n\n.volunteer-status.pending {\n background: #fff3cd;\n color: #856404;\n border: 1px solid #ffeaa7;\n}\n\n.volunteer-status.approved {\n background: #d1edff;\n color: #0c5460;\n border: 1px solid #bee5eb;\n}\n\n.volunteer-status.rejected {\n background: #f8d7da;\n color: #721c24;\n border: 1px solid #f5c6cb;\n}\n\n/* 数字状态码样式 */\n.volunteer-status[class*=\"0\"] {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border: 1px solid rgba(255, 152, 0, 0.3);\n}\n\n.volunteer-status[class*=\"1\"] {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border: 1px solid rgba(76, 175, 80, 0.3);\n}\n\n.volunteer-status[class*=\"2\"] {\n background: linear-gradient(135deg, rgba(244, 67, 54, 0.15), rgba(244, 67, 54, 0.05));\n color: #c62828;\n border: 1px solid rgba(244, 67, 54, 0.3);\n}\n\n.volunteer-info {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin-bottom: 8px;\n}\n\n.volunteer-phone {\n font-size: 14px;\n color: var(--text-color);\n font-weight: 500;\n}\n\n.volunteer-id {\n font-size: 13px;\n color: var(--text-light);\n}\n\n.volunteer-time {\n font-size: 12px;\n color: var(--text-light);\n}\n\n/* ==================== 志愿者审核详情页面样式 ==================== */\n\n.admin-volunteer-review-detail-page {\n background: var(--background-color);\n min-height: 100vh;\n}\n\n/* 志愿者信息卡片特殊样式 */\n.admin-volunteer-review-detail-page .detail-section:first-child {\n background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);\n border: 2px solid #e9ecef;\n}\n\n.admin-volunteer-review-detail-page .detail-section:first-child .section-title {\n color: var(--primary-color);\n}\n\n.admin-volunteer-review-detail-page .detail-section:first-child .section-title::after {\n background: linear-gradient(90deg, var(--secondary-color), #4ecdc4);\n}\n\n/* 证件信息特殊样式 */\n.volunteer-id-info {\n background: #f8f9fa;\n padding: 12px;\n border-radius: 6px;\n border-left: 3px solid var(--secondary-color);\n margin-top: 8px;\n}\n\n.volunteer-id-info span {\n font-family: 'Courier New', monospace;\n font-weight: 600;\n letter-spacing: 1px;\n}\n\n/* 社区信息特殊样式 */\n.community-info {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n background: linear-gradient(135deg, var(--secondary-color), #4ecdc4);\n color: #fff;\n padding: 6px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n}\n\n.community-info i {\n font-size: 12px;\n}\n\n/* 响应式优化 - 志愿者审核页面 */\n@media (max-width: 375px) {\n .volunteer-review-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n }\n \n .volunteer-name {\n font-size: 15px;\n flex: 1;\n margin-right: 8px;\n }\n \n .volunteer-status {\n flex-shrink: 0;\n }\n}\n\n/* ==================== 管理端积分核销页面样式 ==================== */\n\n/* 积分核销页面容器 */\n.admin-points-redemption-page {\n background: var(--background-color);\n min-height: 100vh;\n}\n\n.admin-redemption-container {\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* 扫码区域 */\n.scan-area {\n background: #fff;\n border-radius: var(--border-radius);\n padding: 24px;\n text-align: center;\n box-shadow: var(--shadow);\n}\n\n.scan-frame {\n position: relative;\n width: 200px;\n height: 200px;\n margin: 0 auto 20px;\n background: #f8f9fa;\n border-radius: 12px;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.scan-frame.scanning {\n border: 2px solid var(--primary-color);\n animation: scanPulse 2s infinite;\n}\n\n.scan-frame.scanned {\n background: linear-gradient(135deg, #d1edff, #95e1d3);\n border: 2px solid var(--success-color);\n}\n\n@keyframes scanPulse {\n 0%, 100% { \n border-color: var(--primary-color);\n box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.4);\n }\n 50% { \n border-color: #ffb199;\n box-shadow: 0 0 0 10px rgba(255, 107, 107, 0);\n }\n}\n\n/* 扫码框角标 */\n.scan-corner {\n position: absolute;\n width: 20px;\n height: 20px;\n border: 3px solid var(--primary-color);\n}\n\n.scan-corner.top-left {\n top: 10px;\n left: 10px;\n border-right: none;\n border-bottom: none;\n}\n\n.scan-corner.top-right {\n top: 10px;\n right: 10px;\n border-left: none;\n border-bottom: none;\n}\n\n.scan-corner.bottom-left {\n bottom: 10px;\n left: 10px;\n border-right: none;\n border-top: none;\n}\n\n.scan-corner.bottom-right {\n bottom: 10px;\n right: 10px;\n border-left: none;\n border-top: none;\n}\n\n/* 扫描线 */\n.scan-line {\n position: absolute;\n top: 0;\n left: 10px;\n right: 10px;\n height: 2px;\n background: linear-gradient(90deg, transparent, var(--primary-color), transparent);\n opacity: 0;\n}\n\n.scan-line.scanning {\n opacity: 1;\n animation: scanLineMove 2s linear infinite;\n}\n\n@keyframes scanLineMove {\n 0% { transform: translateY(0); }\n 100% { transform: translateY(190px); }\n}\n\n/* 扫码成功标识 */\n.scan-success {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--success-color);\n}\n\n.scan-success i {\n font-size: 48px;\n color: #4ecdc4;\n}\n\n.scan-success span {\n font-size: 14px;\n font-weight: 600;\n color: #4ecdc4;\n}\n\n/* 扫码提示 */\n.scan-tip {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.scan-tip i {\n font-size: 24px;\n color: var(--primary-color);\n}\n\n.scan-tip p {\n font-size: 14px;\n color: var(--text-light);\n margin: 0;\n}\n\n/* 扫码按钮 */\n.scan-buttons {\n display: flex;\n justify-content: center;\n gap: 16px;\n}\n\n.scan-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 24px;\n border: none;\n border-radius: 25px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s;\n}\n\n.scan-btn.start {\n background: linear-gradient(135deg, var(--primary-color), #ffb199);\n color: #fff;\n}\n\n.scan-btn.start:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.3);\n}\n\n.scan-btn.reset {\n background: linear-gradient(135deg, var(--text-light), #999);\n color: #fff;\n}\n\n.scan-btn.reset:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(102, 102, 102, 0.3);\n}\n\n/* 核销设置 */\n.redemption-settings {\n background: #fff;\n border-radius: var(--border-radius);\n padding: 20px;\n box-shadow: var(--shadow);\n}\n\n.setting-item {\n margin-bottom: 20px;\n}\n\n.setting-item:last-child {\n margin-bottom: 0;\n}\n\n.setting-item label {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 8px;\n}\n\n.setting-item input {\n width: 100%;\n padding: 12px 16px;\n border: 2px solid var(--border-color);\n border-radius: 8px;\n font-size: 14px;\n transition: all 0.3s;\n box-sizing: border-box;\n}\n\n.setting-item input:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n/* .setting-item input[type=\"number\"] {\n text-align: center;\n font-weight: 600;\n font-size: 16px;\n} */\n\n/* 核销操作 */\n.redemption-actions {\n display: flex;\n justify-content: center;\n}\n\n.redemption-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 16px 32px;\n border: none;\n border-radius: 30px;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s;\n min-width: 160px;\n background: linear-gradient(135deg, var(--success-color), #4ecdc4);\n color: #fff;\n box-shadow: 0 4px 16px rgba(76, 205, 196, 0.3);\n}\n\n.redemption-btn:hover:not(.disabled) {\n transform: translateY(-3px);\n box-shadow: 0 8px 25px rgba(76, 205, 196, 0.4);\n}\n\n.redemption-btn.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: #ccc;\n box-shadow: none;\n}\n\n.redemption-btn i {\n font-size: 18px;\n}\n\n\n\n/* 响应式优化 - 积分核销页面 */\n@media (max-width: 375px) {\n .admin-redemption-container {\n padding: 16px;\n gap: 20px;\n }\n \n .scan-frame {\n width: 160px;\n height: 160px;\n }\n \n .scan-corner {\n width: 16px;\n height: 16px;\n }\n \n .redemption-btn {\n padding: 14px 28px;\n font-size: 15px;\n min-width: 140px;\n }\n}\n\n/* ==================== 管理端发布活动页面样式 ==================== */\n\n/* 发布活动页面容器 */\n.admin-activity-create-page {\n background: var(--background-color);\n min-height: 100vh;\n}\n\n.activity-create-form {\n padding: 20px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* 表单区域 */\n.form-section {\n background: #fff;\n border-radius: var(--border-radius);\n padding: 20px;\n box-shadow: var(--shadow);\n}\n\n.section-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 20px;\n padding-bottom: 10px;\n border-bottom: 2px solid var(--border-color);\n position: relative;\n}\n\n.section-title::after {\n content: '';\n position: absolute;\n bottom: -2px;\n left: 0;\n width: 30px;\n height: 2px;\n background: linear-gradient(90deg, var(--primary-color), #ffb199);\n}\n\n/* 表单组 */\n.form-group {\n margin-bottom: 20px;\n}\n\n.form-group:last-child {\n margin-bottom: 0;\n}\n\n.form-group label {\n display: block;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 8px;\n}\n\n/* 表单输入框 */\n.form-input {\n width: 100%;\n padding: 12px 16px;\n border: 2px solid var(--border-color);\n border-radius: 8px;\n font-size: 14px;\n transition: all 0.3s;\n box-sizing: border-box;\n font-family: inherit;\n}\n\n.form-input:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n.form-input::placeholder {\n color: #999;\n}\n\n/* 下拉选择框 */\n.form-select {\n width: 100%;\n padding: 12px 16px;\n border: 2px solid var(--border-color);\n border-radius: 8px;\n font-size: 14px;\n background: #fff;\n cursor: pointer;\n transition: all 0.3s;\n box-sizing: border-box;\n}\n\n.form-select:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);\n}\n\n/* 时间范围容器 */\n.time-range-container {\n display: flex;\n gap: 16px;\n}\n\n.time-input-group {\n flex: 1;\n}\n\n.time-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-color);\n margin-bottom: 8px;\n}\n\n.time-input {\n font-size: 13px;\n}\n\n/* 文件上传 */\n.file-upload {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.file-input-hidden {\n display: none;\n}\n\n.upload-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 16px 24px;\n border: 2px dashed var(--border-color);\n border-radius: 8px;\n background: #f8f9fa;\n cursor: pointer;\n transition: all 0.3s;\n font-size: 14px;\n color: var(--text-light);\n}\n\n.upload-btn:hover {\n border-color: var(--primary-color);\n background: rgba(255, 107, 107, 0.05);\n color: var(--primary-color);\n}\n\n.upload-btn i {\n font-size: 18px;\n}\n\n/* 封面预览 */\n.cover-preview {\n position: relative;\n display: inline-block;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--shadow);\n}\n\n.cover-preview img {\n width: 120px;\n height: 80px;\n object-fit: cover;\n display: block;\n}\n\n.remove-cover {\n position: absolute;\n top: 4px;\n right: 4px;\n width: 24px;\n height: 24px;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all 0.3s;\n}\n\n.remove-cover:hover {\n background: rgba(255, 107, 107, 0.8);\n}\n\n/* 表单操作 */\n.form-actions {\n display: flex;\n justify-content: center;\n padding: 20px;\n}\n\n.submit-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 16px 32px;\n border: none;\n border-radius: 30px;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s;\n min-width: 160px;\n background: linear-gradient(135deg, var(--primary-color), #ffb199);\n color: #fff;\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\n}\n\n.submit-btn:hover {\n transform: translateY(-3px);\n box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4);\n}\n\n.submit-btn i {\n font-size: 18px;\n}\n\n/* 数字输入框特殊样式 */\n.form-input[type=\"number\"] {\n text-align: center;\n font-weight: 600;\n}\n\n/* 文本域特殊样式 */\n.form-input[rows] {\n resize: vertical;\n min-height: 100px;\n line-height: 1.5;\n}\n\n/* 响应式优化 - 发布活动页面 */\n@media (max-width: 375px) {\n .activity-create-form {\n padding: 16px;\n gap: 20px;\n }\n \n .form-section {\n padding: 16px;\n }\n \n .time-range-container {\n flex-direction: column;\n gap: 12px;\n }\n \n .submit-btn {\n padding: 14px 28px;\n font-size: 15px;\n min-width: 140px;\n }\n \n .cover-preview img {\n width: 100px;\n height: 67px;\n }\n}\n\n/* 志愿者注册页面样式 */\n.volunteer-register-form {\n padding: var(--spacing-md);\n}\n\n.register-notice {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin: 20px 0;\n}\n\n.notice-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: #f8f9fa;\n border-radius: var(--border-radius);\n border-left: 4px solid var(--primary-color);\n}\n\n.notice-item i {\n color: var(--primary-color);\n font-size: 16px;\n}\n\n.notice-item span {\n color: var(--text-color);\n font-size: 14px;\n line-height: 1.4;\n}\n\n/* 志愿者注册页面表单操作 */\n.volunteer-register-form .form-actions {\n padding: var(--spacing-md);\n background: #fff;\n border-top: 1px solid var(--border-color);\n position: sticky;\n bottom: 0;\n margin-top: 20px;\n}\n\n.volunteer-register-form .submit-btn {\n width: 100%;\n padding: 16px;\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: white;\n border: none;\n border-radius: var(--border-radius);\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.3);\n}\n\n.volunteer-register-form .submit-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\n}\n\n.volunteer-register-form .submit-btn i {\n font-size: 16px;\n}\n\n/* 二维码弹窗样式 */\n.qr-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2000;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.qr-modal {\n background: white;\n border-radius: 16px;\n width: 90%;\n max-width: 400px;\n max-height: 80vh;\n overflow-y: auto;\n overflow-x: hidden;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n animation: fadeIn 0.3s ease-out;\n position: relative;\n z-index: 2001;\n}\n\n.qr-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.qr-modal-header h3 {\n font-size: 16px;\n font-weight: 600;\n color: #222;\n margin: 0;\n}\n\n.qr-modal-content {\n padding: 24px;\n text-align: center;\n position: relative;\n z-index: 1;\n overflow: visible;\n}\n\n.qr-code-container {\n margin-bottom: 20px;\n}\n\n.qr-code-display {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n border-radius: 16px;\n padding: 32px 24px;\n margin-bottom: 20px;\n position: relative;\n overflow: hidden;\n}\n\n.qr-code-display::before {\n content: '';\n position: absolute;\n top: -50%;\n left: -50%;\n width: 200%;\n height: 200%;\n background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);\n animation: rotate 20s linear infinite;\n}\n\n@keyframes rotate {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n.qr-code-wrapper {\n position: relative;\n z-index: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n}\n\n.qr-code-wrapper i {\n font-size: 80px;\n color: white;\n text-shadow: 0 4px 8px rgba(0,0,0,0.3);\n animation: pulse 2s ease-in-out infinite;\n}\n\n@keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n}\n\n.qr-code-text h4 {\n font-size: 18px;\n font-weight: 600;\n color: white;\n margin: 0 0 8px 0;\n text-shadow: 0 2px 4px rgba(0,0,0,0.3);\n}\n\n.qr-code-text p {\n font-size: 14px;\n color: rgba(255,255,255,0.9);\n margin: 0;\n text-shadow: 0 1px 2px rgba(0,0,0,0.3);\n}\n\n.qr-code-info {\n background: #f8f9fa;\n border-radius: 12px;\n padding: 16px;\n border: 1px solid #e9ecef;\n}\n\n.qr-info-item {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n font-size: 14px;\n color: #555;\n}\n\n.qr-info-item:last-child {\n margin-bottom: 0;\n}\n\n.qr-info-item i {\n color: var(--primary-color);\n width: 16px;\n text-align: center;\n font-size: 16px;\n}\n\n.qr-activity-info {\n margin-top: 20px;\n padding: 16px;\n background: #f8f9fa;\n border-radius: 12px;\n border: 1px solid #e9ecef;\n}\n\n.qr-modal-actions {\n display: flex;\n gap: 12px;\n margin-top: 20px;\n position: relative;\n z-index: 2;\n width: 100%;\n}\n\n.download-qr-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 16px;\n border: none;\n border-radius: 12px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n text-decoration: none;\n background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);\n color: white;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n position: relative;\n z-index: 1;\n}\n\n.download-qr-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);\n}\n\n\n\n.download-qr-btn i {\n font-size: 16px;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* 积分申报卡片样式 */\n.declaration-card {\n background: white;\n border-radius: 12px;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n cursor: pointer;\n transition: all 0.3s ease;\n border-left: 4px solid var(--primary-color);\n}\n\n.declaration-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(255, 107, 107, 0.15);\n}\n\n.declaration-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 12px;\n}\n\n.declaration-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n flex: 1;\n margin-right: 12px;\n}\n\n.declaration-status {\n font-size: 12px;\n padding: 4px 8px;\n border-radius: 12px;\n font-weight: 500;\n}\n\n.declaration-status.pending,\n.declaration-status[class*=\"0\"] {\n background: #fff3cd;\n color: #856404;\n}\n\n.declaration-status.approved,\n.declaration-status[class*=\"1\"] {\n background: #d4edda;\n color: #155724;\n}\n\n.declaration-status.rejected,\n.declaration-status[class*=\"2\"] {\n background: #f8d7da;\n color: #721c24;\n}\n\n.declaration-info {\n margin-bottom: 12px;\n}\n\n.declaration-info-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n font-size: 14px;\n color: var(--text-light);\n}\n\n.declaration-info-row i {\n color: var(--primary-color);\n width: 14px;\n}\n\n.declaration-content {\n font-size: 14px;\n color: var(--text-color);\n line-height: 1.5;\n margin-bottom: 12px;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.declaration-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.points-info {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n font-weight: 600;\n color: var(--primary-color);\n}\n\n.points-info i {\n font-size: 16px;\n}\n\n.declaration-arrow {\n color: var(--text-light);\n font-size: 14px;\n}\n\n/* 空状态样式 */\n.empty-state {\n text-align: center;\n padding: 40px 20px;\n color: var(--text-light);\n}\n\n.empty-state p {\n font-size: 14px;\n margin: 0;\n}\n\n/* 核销卡片样式 */\n.redemption-card {\n background: white;\n border-radius: 12px;\n padding: var(--spacing-md);\n margin-bottom: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n cursor: pointer;\n transition: all 0.3s ease;\n border-left: 4px solid #4ecdc4;\n}\n\n.redemption-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 16px rgba(78, 205, 196, 0.15);\n}\n\n.redemption-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 12px;\n}\n\n.redemption-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n flex: 1;\n margin-right: 12px;\n text-align: left;\n}\n\n.redemption-status {\n font-size: 12px;\n padding: 4px 8px;\n border-radius: 12px;\n font-weight: 500;\n}\n\n.redemption-status.completed {\n background: #d4edda;\n color: #155724;\n}\n\n.redemption-status:not(.completed) {\n background: #e2e3e5;\n color: #495057;\n}\n\n.redemption-info {\n margin-bottom: 12px;\n}\n\n.redemption-info-row {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 6px;\n font-size: 14px;\n color: var(--text-light);\n}\n\n.redemption-info-row i {\n color: #4ecdc4;\n width: 14px;\n}\n\n.redemption-content {\n font-size: 14px;\n color: var(--text-light);\n line-height: 1.5;\n margin-bottom: 12px;\n padding: 8px 0;\n border-top: 1px solid #f0f0f0;\n}\n\n.redemption-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.redemption-footer .points-info {\n color: #4ecdc4;\n}\n\n.redemption-arrow {\n color: var(--text-light);\n font-size: 14px;\n}\n\n/* 核销详情页面样式 */\n.redemption-status-card {\n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%);\n border-radius: 16px;\n padding: var(--spacing-lg);\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n color: white;\n box-shadow: 0 4px 20px rgba(78, 205, 196, 0.2);\n /* margin-bottom: var(--spacing-md); */\n margin: 12px;\n}\n\n.status-icon {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 24px;\n}\n\n.status-info h3 {\n font-size: 20px;\n font-weight: 600;\n margin: 0 0 4px 0;\n}\n\n.status-info p {\n font-size: 14px;\n margin: 0;\n opacity: 0.9;\n}\n\n.redemption-info-section {\n background: white;\n border-radius: 12px;\n padding: var(--spacing-md);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n /* margin-bottom: var(--spacing-md); */\n margin: 12px;\n}\n\n.redemption-info-section .section-title {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n margin: 0 0 var(--spacing-md) 0;\n}\n\n.info-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.info-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 0;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.info-item:last-child {\n border-bottom: none;\n}\n\n.info-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-light);\n}\n\n.info-label i {\n color: #4ecdc4;\n width: 16px;\n}\n\n.info-value {\n font-size: 14px;\n color: var(--text-color);\n font-weight: 500;\n}\n\n.points-value {\n color: #4ecdc4;\n font-weight: 600;\n}\n\n.action-buttons {\n display: flex;\n gap: var(--spacing-md);\n margin-top: var(--spacing-lg);\n}\n\n.btn-secondary {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 16px;\n border: 1px solid #4ecdc4;\n border-radius: 12px;\n background: white;\n color: #4ecdc4;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n margin: 12px;\n}\n\n.btn-secondary:hover {\n background: #4ecdc4;\n color: white;\n}\n\n/* 活动状态样式 - 根据状态码设置颜色 */\n\n/* 报名中状态 - 绿色 */\n.activity-status[class*='1'] {\n background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05));\n color: #2e7d32;\n border: 1px solid rgba(76, 175, 80, 0.3);\n padding: 4px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* 进行中状态 - 橙色 */\n.activity-status[class*='2'] {\n background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(255, 152, 0, 0.05));\n color: #e65100;\n border: 1px solid rgba(255, 152, 0, 0.3);\n padding: 4px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* 已结束状态 - 灰色 */\n.activity-status[class*='3'] {\n background: linear-gradient(135deg, rgba(158, 158, 158, 0.15), rgba(158, 158, 158, 0.05));\n color: #616161;\n border: 1px solid rgba(158, 158, 158, 0.3);\n padding: 4px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* 社区选择器样式 */\n.community-selector {\n margin-left: auto;\n position: relative;\n}\n\n.community-select {\n background: linear-gradient(135deg, #fff 0%, #fafafa 100%);\n border: 2px solid #e8e8e8;\n border-radius: 12px;\n padding: 10px 16px 10px 12px;\n font-size: 15px;\n font-weight: 500;\n color: #333;\n min-width: 140px;\n cursor: pointer;\n transition: all 0.3s ease;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-image: url(\"data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 12px center;\n background-size: 16px;\n padding-right: 40px;\n box-shadow: 0 2px 8px rgba(0,0,0,0.05);\n}\n\n.community-select:focus {\n outline: none;\n border-color: var(--primary-color);\n box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15), 0 4px 12px rgba(255, 107, 107, 0.1);\n background: linear-gradient(135deg, #fff 0%, #fff5f5 100%);\n}\n\n.community-select:hover {\n border-color: var(--primary-color);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.1);\n transform: translateY(-1px);\n}\n\n.community-select:active {\n transform: translateY(0);\n box-shadow: 0 2px 8px rgba(255, 107, 107, 0.15);\n}\n\n.overview-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.overview-header i {\n margin-right: 8px;\n color: #ff6b6b;\n font-size: 18px;\n}\n\n/* 二维码样式优化 */\n.qr-container {\n display: flex;\n justify-content: center;\n margin-bottom: 20px;\n}\n\n.qr-code-wrapper {\n background: #fff;\n border-radius: 16px;\n padding: 20px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);\n border: 2px solid #f0f0f0;\n}\n\n.qr-display {\n display: flex;\n align-items: center;\n gap: 20px;\n}\n\n.qr-code-border {\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n padding: 12px;\n border-radius: 12px;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n.qr-canvas {\n background: #fff;\n border-radius: 8px;\n display: block;\n width: 250px;\n height: 250px;\n border: 2px solid #e0e0e0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.qr-info h4 {\n margin: 0 0 8px 0;\n color: #333;\n font-size: 18px;\n font-weight: 600;\n}\n\n.qr-info p {\n margin: 0 0 12px 0;\n color: #666;\n font-size: 14px;\n}\n\n.qr-details {\n display: flex;\n gap: 12px;\n}\n\n.qr-user {\n background: #f8f9fa;\n padding: 4px 8px;\n border-radius: 6px;\n font-size: 12px;\n color: #666;\n}\n\n.qr-points {\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n color: white;\n padding: 4px 8px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.qr-loading {\n display: flex;\n align-items: center;\n gap: 20px;\n padding: 20px;\n}\n\n.qr-loading .qr-icon {\n width: 60px;\n height: 60px;\n background: linear-gradient(135deg, #ff6b6b 0%, #ffb199 100%);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 24px;\n}\n\n.qr-loading .qr-text h4 {\n margin: 0 0 4px 0;\n color: #333;\n font-size: 16px;\n}\n\n.qr-loading .qr-text p {\n margin: 0;\n color: #666;\n font-size: 14px;\n}\n\n/* 响应式设计 */\n@media (max-width: 768px) {\n .qr-display {\n flex-direction: column;\n text-align: center;\n }\n \n .qr-details {\n justify-content: center;\n }\n}\n\n/* 用户信息卡片样式 */\n.user-info-area {\n margin: 20px 0;\n padding: 0 20px;\n}\n\n.user-info-card {\n background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);\n border-radius: 16px;\n box-shadow: 0 8px 32px rgba(255, 107, 107, 0.1);\n border: 1px solid rgba(255, 107, 107, 0.1);\n overflow: hidden;\n transition: all 0.3s ease;\n}\n\n.user-info-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 12px 40px rgba(255, 107, 107, 0.15);\n}\n\n.user-info-header {\n background: linear-gradient(135deg, #ff6b6b 0%, #ff8e8e 100%);\n padding: 20px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n color: white;\n position: relative;\n}\n\n.user-info-header::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><defs><pattern id=\"grain\" width=\"100\" height=\"100\" patternUnits=\"userSpaceOnUse\"><circle cx=\"25\" cy=\"25\" r=\"1\" fill=\"rgba(255,255,255,0.1)\"/><circle cx=\"75\" cy=\"75\" r=\"1\" fill=\"rgba(255,255,255,0.1)\"/><circle cx=\"50\" cy=\"10\" r=\"0.5\" fill=\"rgba(255,255,255,0.05)\"/><circle cx=\"10\" cy=\"60\" r=\"0.5\" fill=\"rgba(255,255,255,0.05)\"/><circle cx=\"90\" cy=\"40\" r=\"0.5\" fill=\"rgba(255,255,255,0.05)\"/></pattern></defs><rect width=\"100\" height=\"100\" fill=\"url(%23grain)\"/></svg>');\n opacity: 0.3;\n}\n\n.header-icon {\n font-size: 32px;\n margin-right: 15px;\n z-index: 1;\n}\n\n.header-content {\n flex: 1;\n z-index: 1;\n}\n\n.header-content h3 {\n font-size: 18px;\n font-weight: 600;\n margin: 0 0 4px 0;\n text-shadow: 0 1px 2px rgba(0,0,0,0.1);\n}\n\n.header-content p {\n font-size: 12px;\n opacity: 0.9;\n margin: 0;\n}\n\n.header-status {\n display: flex;\n align-items: center;\n gap: 6px;\n background: rgba(255, 255, 255, 0.2);\n padding: 6px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 500;\n z-index: 1;\n}\n\n.header-status i {\n font-size: 14px;\n}\n\n.user-info-content {\n padding: 24px;\n}\n\n.info-section {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.info-item {\n display: flex;\n align-items: center;\n padding: 16px;\n background: #ffffff;\n border-radius: 12px;\n border: 1px solid #f0f0f0;\n transition: all 0.2s ease;\n position: relative;\n overflow: hidden;\n}\n\n.info-item::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 4px;\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e);\n transform: scaleY(0);\n transition: transform 0.2s ease;\n}\n\n.info-item:hover {\n border-color: #ff6b6b;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.1);\n transform: translateX(4px);\n}\n\n.info-item:hover::before {\n transform: scaleY(1);\n}\n\n.item-icon {\n width: 40px;\n height: 40px;\n border-radius: 10px;\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 16px;\n color: white;\n font-size: 16px;\n box-shadow: 0 4px 8px rgba(255, 107, 107, 0.3);\n}\n\n.item-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label {\n font-size: 12px;\n color: #666;\n font-weight: 500;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.info-value {\n font-size: 16px;\n color: #333;\n font-weight: 600;\n}\n\n.info-value.points {\n color: #ff6b6b;\n font-size: 20px;\n font-weight: 700;\n}\n\n.points-item {\n background: linear-gradient(135deg, #fff5f5 0%, #ffffff 100%);\n border-color: #ff6b6b;\n}\n\n.points-badge {\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e);\n color: white;\n padding: 4px 12px;\n border-radius: 20px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);\n}\n\n.info-footer {\n margin-top: 20px;\n padding-top: 16px;\n border-top: 1px solid #f0f0f0;\n}\n\n.footer-item {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: #666;\n}\n\n.footer-item i {\n color: #ff6b6b;\n font-size: 14px;\n}\n\n/* 移动端适配 */\n@media (max-width: 768px) {\n .user-info-area {\n margin: 15px 0;\n padding: 0 15px;\n }\n \n .user-info-header {\n padding: 16px;\n }\n \n .header-icon {\n font-size: 28px;\n margin-right: 12px;\n }\n \n .header-content h3 {\n font-size: 16px;\n }\n \n .header-content p {\n font-size: 11px;\n }\n \n .user-info-content {\n padding: 20px;\n }\n \n .info-item {\n padding: 14px;\n }\n \n .item-icon {\n width: 36px;\n height: 36px;\n font-size: 14px;\n margin-right: 14px;\n }\n \n .info-value {\n font-size: 15px;\n }\n \n .info-value.points {\n font-size: 18px;\n }\n}\n\n/* 必填项标识样式 */\n.required {\n color: #ff6b6b;\n font-weight: bold;\n margin-left: 2px;\n}\n\n/* 微信扫码提示样式 */\n.wechat-scan-tip {\n margin: 40px 20px;\n padding: 40px 20px;\n background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);\n border-radius: 20px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\n text-align: center;\n border: 2px solid #e8f4fd;\n}\n\n.tip-icon {\n font-size: 64px;\n color: #07c160;\n margin-bottom: 20px;\n text-shadow: 0 2px 8px rgba(7, 193, 96, 0.2);\n}\n\n.tip-content h3 {\n font-size: 20px;\n color: #333;\n margin: 0 0 12px 0;\n font-weight: 600;\n}\n\n.tip-content p {\n font-size: 14px;\n color: #666;\n margin: 0 0 30px 0;\n line-height: 1.6;\n}\n\n.tip-steps {\n display: flex;\n justify-content: center;\n gap: 20px;\n flex-wrap: wrap;\n}\n\n\n.step-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n min-width: 80px;\n padding-bottom: 16px;\n}\n\n.step-number {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e);\n color: white;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 600;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n.step-text {\n font-size: 12px;\n color: #666;\n text-align: center;\n line-height: 1.4;\n}\n\n/* 移动端适配 */\n@media (max-width: 768px) {\n .wechat-scan-tip {\n margin: 30px 15px;\n padding: 30px 15px;\n }\n \n .tip-icon {\n font-size: 48px;\n margin-bottom: 16px;\n }\n \n .tip-content h3 {\n font-size: 18px;\n margin-bottom: 10px;\n }\n \n .tip-content p {\n font-size: 13px;\n margin-bottom: 24px;\n }\n \n .tip-steps {\n gap: 16px;\n }\n \n .step-item {\n min-width: 70px;\n }\n \n .step-number {\n width: 28px;\n height: 28px;\n font-size: 12px;\n }\n \n .step-text {\n font-size: 11px;\n }\n}\n\n/* 扫码签到页面活动信息和个人信息样式 */\n.activity-info-container {\n margin: 20px 0;\n background: #fff;\n border-radius: 16px;\n box-shadow: 0 4px 20px rgba(255, 107, 107, 0.15);\n overflow: hidden;\n border: 1px solid rgba(255, 107, 107, 0.1);\n position: relative;\n}\n\n.activity-info-container::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: linear-gradient(90deg, #ff6b6b, #ff8e8e, #ffa8a8);\n border-radius: 16px 16px 0 0;\n}\n\n.loading-container {\n padding: 40px 24px;\n text-align: center;\n color: #666;\n background: linear-gradient(135deg, #fafafa, #f5f5f5);\n}\n\n.loading-container i {\n margin-right: 12px;\n color: #ff6b6b;\n font-size: 20px;\n animation: pulse 1.5s ease-in-out infinite;\n}\n\n.loading-container span {\n font-size: 15px;\n font-weight: 500;\n}\n\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.7;\n transform: scale(1.1);\n }\n}\n\n.error-container {\n padding: 40px 24px;\n text-align: center;\n color: #ff6b6b;\n background: linear-gradient(135deg, #fff5f5, #ffeaea);\n border: 1px solid rgba(255, 107, 107, 0.2);\n border-radius: 12px;\n margin: 16px;\n}\n\n.error-container i {\n margin-right: 12px;\n font-size: 20px;\n color: #ff4757;\n}\n\n.error-container span {\n font-size: 15px;\n font-weight: 500;\n}\n\n.activity-info .activity-header {\n display: flex;\n align-items: center;\n padding: 20px 24px;\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e, #ffa8a8);\n color: white;\n font-weight: 600;\n font-size: 17px;\n position: relative;\n}\n\n.activity-info .activity-header::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: rgba(255, 255, 255, 0.2);\n}\n\n.activity-info .activity-header i {\n margin-right: 12px;\n font-size: 20px;\n color: rgba(255, 255, 255, 0.9);\n}\n\n.activity-info .activity-header span {\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.activity-info .activity-content {\n padding: 24px;\n background: linear-gradient(135deg, #fafafa, #ffffff);\n}\n\n.activity-info .activity-content .activity-title {\n font-size: 20px;\n font-weight: 700;\n color: #2c3e50;\n margin-bottom: 20px;\n line-height: 1.4;\n padding: 16px;\n background: linear-gradient(135deg, #ffffff, #f8f9fa);\n border-radius: 12px;\n border-left: 4px solid #ff6b6b;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);\n}\n\n.activity-info .activity-content .activity-details .detail-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: 16px;\n padding: 12px 16px;\n background: #ffffff;\n border-radius: 10px;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);\n border: 1px solid rgba(255, 107, 107, 0.1);\n transition: all 0.3s ease;\n}\n\n.activity-info .activity-content .activity-details .detail-item:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.15);\n}\n\n.activity-info .activity-content .activity-details .detail-item i {\n margin-right: 12px;\n color: #ff6b6b;\n width: 20px;\n text-align: center;\n font-size: 16px;\n background: rgba(255, 107, 107, 0.1);\n padding: 8px;\n border-radius: 8px;\n}\n\n.activity-info .activity-content .activity-details .detail-item span {\n font-size: 15px;\n color: #444;\n flex: 1;\n font-weight: 500;\n}\n\n.activity-info .activity-content .activity-details .activity-content-text {\n margin-top: 20px;\n padding: 20px;\n background: linear-gradient(135deg, #ffffff, #f8f9fa);\n border-radius: 12px;\n border: 1px solid rgba(255, 107, 107, 0.1);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);\n}\n\n.activity-info .activity-content .activity-details .activity-content-text span {\n font-weight: 700;\n color: #2c3e50;\n font-size: 15px;\n display: block;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 2px solid #ff6b6b;\n}\n\n.activity-info .activity-content .activity-details .activity-content-text p {\n margin: 0;\n color: #555;\n font-size: 15px;\n line-height: 1.7;\n white-space: pre-wrap;\n text-align: justify;\n}\n\n.checkin-info {\n border-top: 2px solid rgba(255, 107, 107, 0.1);\n margin-top: 8px;\n}\n\n.checkin-info .checkin-header {\n display: flex;\n align-items: center;\n padding: 20px 24px;\n background: linear-gradient(135deg, #f8fff8, #e8f5e8);\n position: relative;\n}\n\n.checkin-info .checkin-header::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: rgba(40, 167, 69, 0.2);\n}\n\n.checkin-info .checkin-header .header-icon {\n margin-right: 16px;\n}\n\n.checkin-info .checkin-header .header-icon i {\n color: #28a745;\n font-size: 24px;\n background: rgba(40, 167, 69, 0.1);\n padding: 12px;\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n}\n\n.checkin-info .checkin-header .header-content {\n display: flex;\n flex-direction: column;\n}\n\n.checkin-info .checkin-header .header-content .header-title {\n font-weight: 700;\n font-size: 18px;\n color: #2d5a2d;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n margin-bottom: 4px;\n}\n\n.checkin-info .checkin-header .header-content .header-subtitle {\n font-size: 14px;\n color: #5a8a5a;\n font-weight: 500;\n}\n\n.checkin-info .checkin-content {\n padding: 24px;\n background: linear-gradient(135deg, #fafafa, #ffffff);\n}\n\n.checkin-info .checkin-content .checkin-status-card {\n display: flex;\n gap: 16px;\n margin-bottom: 24px;\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator {\n flex: 1;\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator .status-success {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n background: linear-gradient(135deg, #d4edda, #c3e6cb);\n border: 2px solid #28a745;\n border-radius: 12px;\n color: #155724;\n font-weight: 600;\n font-size: 15px;\n box-shadow: 0 4px 12px rgba(40, 167, 69, 0.2);\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator .status-success i {\n margin-right: 8px;\n font-size: 18px;\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator .status-pending {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n background: linear-gradient(135deg, #fff3cd, #ffeaa7);\n border: 2px solid #ffc107;\n border-radius: 12px;\n color: #856404;\n font-weight: 600;\n font-size: 15px;\n box-shadow: 0 4px 12px rgba(255, 193, 7, 0.2);\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator .status-pending i {\n margin-right: 8px;\n font-size: 18px;\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator .status-completed {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n background: linear-gradient(135deg, #cce5ff, #b3d9ff);\n border: 2px solid #007bff;\n border-radius: 12px;\n color: #004085;\n font-weight: 600;\n font-size: 15px;\n box-shadow: 0 4px 12px rgba(0, 123, 255, 0.2);\n}\n\n.checkin-info .checkin-content .checkin-status-card .status-indicator .status-completed i {\n margin-right: 8px;\n font-size: 18px;\n}\n\n.checkin-info .checkin-content .checkin-details {\n margin-bottom: 20px;\n}\n\n.checkin-info .checkin-content .checkin-details .details-header {\n display: flex;\n align-items: center;\n margin-bottom: 16px;\n padding: 12px 16px;\n background: linear-gradient(135deg, #ffffff, #f8f9fa);\n border-radius: 10px;\n border-left: 4px solid #28a745;\n}\n\n.checkin-info .checkin-content .checkin-details .details-header i {\n margin-right: 12px;\n color: #28a745;\n font-size: 16px;\n background: rgba(40, 167, 69, 0.1);\n padding: 8px;\n border-radius: 8px;\n}\n\n.checkin-info .checkin-content .checkin-details .details-header span {\n font-weight: 600;\n color: #2d5a2d;\n font-size: 15px;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card {\n display: flex;\n align-items: center;\n padding: 16px;\n background: #ffffff;\n border-radius: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n border: 1px solid rgba(40, 167, 69, 0.1);\n transition: all 0.3s ease;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 16px rgba(40, 167, 69, 0.15);\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-icon {\n margin-right: 16px;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-icon i {\n color: #28a745;\n font-size: 18px;\n background: rgba(40, 167, 69, 0.1);\n padding: 10px;\n border-radius: 10px;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-content {\n display: flex;\n flex-direction: column;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-content .detail-label {\n font-size: 12px;\n color: #6c757d;\n font-weight: 500;\n margin-bottom: 4px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-content .detail-value {\n font-size: 14px;\n color: #2c3e50;\n font-weight: 600;\n line-height: 1.4;\n}\n\n.checkin-info .checkin-content .no-checkin-info {\n display: flex;\n align-items: center;\n padding: 24px;\n background: linear-gradient(135deg, #fff9e6, #fff3cd);\n border-radius: 16px;\n border: 2px solid rgba(255, 193, 7, 0.3);\n box-shadow: 0 4px 16px rgba(255, 193, 7, 0.15);\n}\n\n.checkin-info .checkin-content .no-checkin-info .no-checkin-icon {\n margin-right: 20px;\n}\n\n.checkin-info .checkin-content .no-checkin-info .no-checkin-icon i {\n color: #ffc107;\n font-size: 32px;\n background: rgba(255, 193, 7, 0.1);\n padding: 16px;\n border-radius: 16px;\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.checkin-info .checkin-content .no-checkin-info .no-checkin-content {\n display: flex;\n flex-direction: column;\n}\n\n.checkin-info .checkin-content .no-checkin-info .no-checkin-content .no-checkin-title {\n font-size: 18px;\n font-weight: 700;\n color: #856404;\n margin-bottom: 8px;\n}\n\n.checkin-info .checkin-content .no-checkin-info .no-checkin-content .no-checkin-desc {\n font-size: 14px;\n color: #a0781a;\n font-weight: 500;\n}\n\n/* 移动端响应式设计 */\n@media (max-width: 480px) {\n .activity-info-container {\n margin: 16px 0;\n border-radius: 12px;\n }\n \n .activity-info .activity-header {\n padding: 16px 20px;\n font-size: 16px;\n }\n \n .activity-info .activity-header i {\n font-size: 18px;\n margin-right: 10px;\n padding: 6px;\n }\n \n .activity-info .activity-content {\n padding: 20px;\n }\n \n .activity-info .activity-content .activity-title {\n font-size: 18px;\n margin-bottom: 16px;\n padding: 14px;\n }\n \n .activity-info .activity-content .activity-details .detail-item {\n margin-bottom: 12px;\n padding: 10px 14px;\n }\n \n .activity-info .activity-content .activity-details .detail-item i {\n margin-right: 10px;\n width: 18px;\n font-size: 14px;\n padding: 6px;\n }\n \n .activity-info .activity-content .activity-details .detail-item span {\n font-size: 14px;\n }\n \n .activity-info .activity-content .activity-details .activity-content-text {\n margin-top: 16px;\n padding: 16px;\n }\n \n .activity-info .activity-content .activity-details .activity-content-text span {\n font-size: 14px;\n margin-bottom: 10px;\n }\n \n .activity-info .activity-content .activity-details .activity-content-text p {\n font-size: 14px;\n margin: 0;\n line-height: 1.6;\n }\n \n .checkin-info .checkin-header {\n padding: 16px 20px;\n }\n \n .checkin-info .checkin-header .header-icon {\n margin-right: 12px;\n }\n \n .checkin-info .checkin-header .header-icon i {\n font-size: 20px;\n padding: 8px;\n width: 36px;\n height: 36px;\n }\n \n .checkin-info .checkin-header .header-content .header-title {\n font-size: 16px;\n margin-bottom: 2px;\n }\n \n .checkin-info .checkin-header .header-content .header-subtitle {\n font-size: 12px;\n }\n \n .checkin-info .checkin-content {\n padding: 20px;\n }\n \n .checkin-info .checkin-content .checkin-status-card {\n gap: 12px;\n margin-bottom: 20px;\n }\n \n .checkin-info .checkin-content .checkin-status-card .status-indicator .status-success,\n .checkin-info .checkin-content .checkin-status-card .status-indicator .status-pending,\n .checkin-info .checkin-content .checkin-status-card .status-indicator .status-completed {\n padding: 12px;\n font-size: 14px;\n }\n \n .checkin-info .checkin-content .checkin-status-card .status-indicator .status-success i,\n .checkin-info .checkin-content .checkin-status-card .status-indicator .status-pending i,\n .checkin-info .checkin-content .checkin-status-card .status-indicator .status-completed i {\n font-size: 16px;\n margin-right: 6px;\n }\n \n .checkin-info .checkin-content .checkin-details {\n margin-bottom: 16px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-header {\n padding: 10px 12px;\n margin-bottom: 12px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-header i {\n font-size: 14px;\n padding: 6px;\n margin-right: 8px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-header span {\n font-size: 14px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-grid {\n gap: 10px;\n grid-template-columns: 1fr;\n }\n \n .checkin-info .checkin-content .checkin-details .details-grid .detail-card {\n padding: 12px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-icon {\n margin-right: 12px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-icon i {\n font-size: 16px;\n padding: 8px;\n width: 32px;\n height: 32px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-content .detail-label {\n font-size: 11px;\n margin-bottom: 2px;\n }\n \n .checkin-info .checkin-content .checkin-details .details-grid .detail-card .detail-content .detail-value {\n font-size: 13px;\n }\n \n .checkin-info .checkin-content .no-checkin-info {\n padding: 20px;\n }\n \n .checkin-info .checkin-content .no-checkin-info .no-checkin-icon {\n margin-right: 16px;\n }\n \n .checkin-info .checkin-content .no-checkin-info .no-checkin-icon i {\n font-size: 28px;\n padding: 12px;\n width: 52px;\n height: 52px;\n }\n \n .checkin-info .checkin-content .no-checkin-info .no-checkin-content .no-checkin-title {\n font-size: 16px;\n margin-bottom: 6px;\n }\n \n .checkin-info .checkin-content .no-checkin-info .no-checkin-content .no-checkin-desc {\n font-size: 13px;\n }\n \n .loading-container,\n .error-container {\n padding: 32px 20px;\n }\n \n .loading-container i,\n .error-container i {\n margin-right: 10px;\n font-size: 18px;\n }\n \n .loading-container span,\n .error-container span {\n font-size: 14px;\n }\n}\n\n/* 签到/签退按钮样式 */\n.checkin-button-container {\n padding: 20px 24px;\n background: linear-gradient(135deg, #f8f9fa, #ffffff);\n border-top: 1px solid rgba(255, 107, 107, 0.1);\n}\n\n.checkin-button {\n width: 100%;\n padding: 16px 24px;\n border: none;\n border-radius: 12px;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n cursor: pointer;\n transition: all 0.3s ease;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n position: relative;\n overflow: hidden;\n}\n\n.checkin-button::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\n transition: left 0.5s ease;\n}\n\n.checkin-button:hover::before {\n left: 100%;\n}\n\n.checkin-button.checkin {\n background: linear-gradient(135deg, #28a745, #20c997);\n color: white;\n border: 2px solid #28a745;\n}\n\n.checkin-button.checkin:hover:not(.disabled) {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(40, 167, 69, 0.3);\n background: linear-gradient(135deg, #218838, #1e7e34);\n}\n\n.checkin-button.checkout {\n background: linear-gradient(135deg, #007bff, #0056b3);\n color: white;\n border: 2px solid #007bff;\n}\n\n.checkin-button.checkout:hover:not(.disabled) {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(0, 123, 255, 0.3);\n background: linear-gradient(135deg, #0056b3, #004085);\n}\n\n.checkin-button.completed {\n background: linear-gradient(135deg, #6c757d, #5a6268);\n color: white;\n border: 2px solid #6c757d;\n cursor: not-allowed;\n}\n\n.checkin-button.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n transform: none !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;\n}\n\n.checkin-button i {\n font-size: 18px;\n}\n\n.checkin-button span {\n font-weight: 600;\n letter-spacing: 0.5px;\n}\n\n/* 移动端按钮样式 */\n@media (max-width: 480px) {\n .checkin-button-container {\n padding: 16px 20px;\n }\n \n .checkin-button {\n padding: 14px 20px;\n font-size: 15px;\n gap: 10px;\n border-radius: 10px;\n }\n \n .checkin-button i {\n font-size: 16px;\n }\n}\n\n/* 成功弹窗样式 */\n.success-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n animation: fadeIn 0.3s ease-out;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.success-modal {\n background: #ffffff;\n border-radius: 20px;\n padding: 40px 30px;\n text-align: center;\n max-width: 320px;\n width: 90%;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);\n animation: slideUp 0.4s ease-out;\n position: relative;\n overflow: hidden;\n}\n\n@keyframes slideUp {\n from {\n transform: translateY(30px);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n\n.success-modal::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: linear-gradient(90deg, #28a745, #20c997);\n border-radius: 20px 20px 0 0;\n}\n\n.success-icon {\n margin-bottom: 20px;\n}\n\n.success-icon i {\n font-size: 64px;\n color: #28a745;\n animation: bounceIn 0.6s ease-out;\n}\n\n@keyframes bounceIn {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n transform: scale(1.2);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.success-content {\n margin-bottom: 25px;\n}\n\n.success-title {\n font-size: 22px;\n font-weight: 700;\n color: #2c3e50;\n margin: 0 0 8px 0;\n line-height: 1.3;\n}\n\n.success-subtitle {\n font-size: 14px;\n color: #6c757d;\n margin: 0;\n line-height: 1.4;\n}\n\n.success-animation {\n display: flex;\n justify-content: center;\n}\n\n.loading-dots {\n display: flex;\n gap: 6px;\n}\n\n.loading-dots span {\n width: 8px;\n height: 8px;\n background: #28a745;\n border-radius: 50%;\n animation: dotPulse 1.4s ease-in-out infinite both;\n}\n\n.loading-dots span:nth-child(1) {\n animation-delay: -0.32s;\n}\n\n.loading-dots span:nth-child(2) {\n animation-delay: -0.16s;\n}\n\n.loading-dots span:nth-child(3) {\n animation-delay: 0s;\n}\n\n@keyframes dotPulse {\n 0%, 80%, 100% {\n transform: scale(0.8);\n opacity: 0.5;\n }\n 40% {\n transform: scale(1.2);\n opacity: 1;\n }\n}\n\n/* 移动端成功弹窗样式 */\n@media (max-width: 480px) {\n .success-modal {\n padding: 35px 25px;\n max-width: 280px;\n border-radius: 16px;\n }\n \n .success-modal::before {\n border-radius: 16px 16px 0 0;\n }\n \n .success-icon i {\n font-size: 56px;\n }\n \n .success-title {\n font-size: 20px;\n }\n \n .success-subtitle {\n font-size: 13px;\n }\n \n .loading-dots span {\n width: 6px;\n height: 6px;\n }\n}\n\n/* 管理端积分核销弹窗样式 */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n animation: fadeIn 0.3s ease-out;\n}\n\n.confirm-modal {\n background: #ffffff;\n border-radius: 16px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);\n width: 90%;\n max-width: 400px;\n max-height: 80vh;\n overflow-y: auto;\n animation: slideInUp 0.3s ease-out;\n}\n\n.modal-header {\n padding: 24px 24px 16px;\n text-align: center;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.modal-icon {\n width: 48px;\n height: 48px;\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 16px;\n animation: pulse 2s infinite;\n}\n\n.modal-icon i {\n font-size: 20px;\n color: #ffffff;\n}\n\n.modal-title {\n font-size: 18px;\n font-weight: 600;\n color: #333333;\n margin: 0;\n}\n\n.modal-content {\n padding: 20px 24px;\n}\n\n.confirm-info {\n background: #f8f9fa;\n border-radius: 12px;\n padding: 16px;\n margin-bottom: 16px;\n}\n\n.info-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding: 8px 0;\n border-bottom: 1px solid #e9ecef;\n}\n\n.info-row:last-child {\n margin-bottom: 0;\n border-bottom: none;\n}\n\n.info-label {\n font-size: 14px;\n color: #666666;\n font-weight: 500;\n}\n\n.info-value {\n font-size: 14px;\n color: #333333;\n font-weight: 600;\n}\n\n.info-value.highlight {\n color: #ff6b6b;\n font-size: 16px;\n}\n\n.confirm-warning {\n display: flex;\n align-items: center;\n background: #fff3cd;\n border: 1px solid #ffeaa7;\n border-radius: 8px;\n padding: 12px;\n margin-top: 16px;\n}\n\n.confirm-warning i {\n color: #856404;\n margin-right: 8px;\n font-size: 14px;\n}\n\n.confirm-warning span {\n color: #856404;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.modal-actions {\n padding: 16px 24px 24px;\n display: flex;\n gap: 12px;\n}\n\n.modal-btn {\n flex: 1;\n padding: 12px 20px;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n\n.modal-btn.cancel {\n background: #f8f9fa;\n color: #6c757d;\n border: 1px solid #dee2e6;\n}\n\n.modal-btn.cancel:hover {\n background: #e9ecef;\n color: #495057;\n}\n\n.modal-btn.confirm {\n background: linear-gradient(135deg, #ff6b6b, #ff8e8e);\n color: #ffffff;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n}\n\n.modal-btn.confirm:hover {\n transform: translateY(-1px);\n box-shadow: 0 6px 16px rgba(255, 107, 107, 0.4);\n}\n\n.modal-btn.confirm:active {\n transform: translateY(0);\n}\n\n/* 成功弹窗样式 */\n.success-overlay {\n background: rgba(0, 0, 0, 0.7);\n}\n\n.success-modal {\n background: #ffffff;\n border-radius: 20px;\n box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);\n width: 90%;\n max-width: 380px;\n text-align: center;\n animation: scaleIn 0.4s ease-out;\n position: relative;\n overflow: hidden;\n}\n\n.success-modal::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 4px;\n background: linear-gradient(90deg, #ff6b6b, #ff8e8e, #ff6b6b);\n animation: shimmer 2s infinite;\n}\n\n.success-icon {\n padding: 32px 24px 16px;\n}\n\n.success-icon i {\n font-size: 64px;\n color: #ff6b6b;\n animation: bounceIn 0.6s ease-out;\n}\n\n.success-content {\n padding: 0 24px 24px;\n}\n\n.success-title {\n font-size: 20px;\n font-weight: 700;\n color: #333333;\n margin: 0 0 20px 0;\n animation: slideInDown 0.5s ease-out;\n}\n\n.success-info {\n background: #f8f9fa;\n border-radius: 12px;\n padding: 16px;\n margin-bottom: 16px;\n text-align: left;\n}\n\n.success-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n}\n\n.success-item:last-child {\n margin-bottom: 0;\n}\n\n.success-label {\n font-size: 14px;\n color: #666666;\n font-weight: 500;\n}\n\n.success-value {\n font-size: 14px;\n color: #333333;\n font-weight: 600;\n}\n\n.success-value.highlight {\n color: #ff6b6b;\n font-size: 16px;\n}\n\n.success-subtitle {\n font-size: 13px;\n color: #888888;\n margin: 0;\n line-height: 1.4;\n}\n\n.success-animation {\n padding: 16px 24px 24px;\n}\n\n/* 弹窗动画 */\n@keyframes slideInUp {\n from {\n opacity: 0;\n transform: translateY(30px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes scaleIn {\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes slideInDown {\n from {\n opacity: 0;\n transform: translateY(-20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes bounceIn {\n 0% {\n opacity: 0;\n transform: scale(0.3);\n }\n 50% {\n opacity: 1;\n transform: scale(1.1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7);\n }\n 70% {\n box-shadow: 0 0 0 10px rgba(255, 107, 107, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(255, 107, 107, 0);\n }\n}\n\n@keyframes shimmer {\n 0% {\n background-position: -200px 0;\n }\n 100% {\n background-position: calc(200px + 100%) 0;\n }\n}\n\n/* 移动端适配 */\n@media (max-width: 768px) {\n .confirm-modal,\n .success-modal {\n width: 95%;\n margin: 20px;\n }\n \n .modal-header {\n padding: 20px 20px 16px;\n }\n \n .modal-content {\n padding: 16px 20px;\n }\n \n .modal-actions {\n padding: 16px 20px 20px;\n flex-direction: column;\n }\n \n .modal-btn {\n width: 100%;\n }\n \n .success-icon i {\n font-size: 56px;\n }\n \n .success-title {\n font-size: 18px;\n }\n \n .success-content {\n padding: 0 20px 20px;\n }\n}\n\n/* 分享弹窗样式 */\n.share-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2000;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.share-modal {\n background: white;\n border-radius: 16px;\n width: 90%;\n max-width: 400px;\n max-height: 80vh;\n overflow-y: auto;\n overflow-x: hidden;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n animation: fadeIn 0.3s ease-out;\n position: relative;\n z-index: 2001;\n}\n\n.share-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-bottom: 1px solid #f0f0f0;\n}\n\n.share-modal-header h3 {\n font-size: 16px;\n font-weight: 600;\n color: #222;\n margin: 0;\n}\n\n.close-share-modal-btn {\n background: none;\n border: none;\n font-size: 18px;\n color: #999;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n transition: all 0.2s ease;\n}\n\n.close-share-modal-btn:hover {\n background: #f5f5f5;\n color: #666;\n}\n\n.share-modal-content {\n padding: 20px;\n}\n\n.share-text-content {\n background: #f8f9fa;\n border-radius: 8px;\n padding: 16px;\n border: 1px solid #e9ecef;\n max-height: 300px;\n overflow-y: auto;\n}\n\n.share-text-content pre {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;\n font-size: 14px;\n line-height: 1.8;\n color: #333;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\n.share-modal-actions {\n padding: 16px 20px;\n border-top: 1px solid #f0f0f0;\n display: flex;\n gap: 12px;\n}\n\n.copy-share-btn {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 16px;\n border: none;\n border-radius: 12px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n background: linear-gradient(135deg, #4ecdc4 0%, #38b2ac 100%);\n color: white;\n box-shadow: 0 4px 12px rgba(78, 205, 196, 0.3);\n}\n\n.copy-share-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 16px rgba(78, 205, 196, 0.4);\n}\n\n.copy-share-btn:active {\n transform: translateY(0);\n}\n\n.copy-share-btn i {\n font-size: 16px;\n}\n\n/* 操作按钮容器 */\n.action-buttons-section {\n padding: var(--spacing-md);\n display: flex;\n gap: var(--spacing-md);\n justify-content: center;\n flex-wrap: wrap;\n}\n\n/* 操作按钮容器中的按钮样式 */\n.action-buttons-section .checkin-qr-section {\n flex: 2;\n min-width: 140px;\n display: flex;\n justify-content: center;\n}\n\n.action-buttons-section .checkin-qr-btn {\n width: 100%;\n justify-content: center;\n /* 继承基础样式,确保与分享按钮一致 */\n}\n\n.action-buttons-section .share-section {\n flex: 1;\n min-width: 140px;\n display: flex;\n justify-content: center;\n}\n\n.action-buttons-section .share-btn {\n background: linear-gradient(135deg, #ff6b6b 0%, #ff8a8a 100%);\n color: white;\n border: none;\n border-radius: 12px;\n padding: 12px 24px;\n font-size: 14px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 8px;\n transition: all 0.3s ease;\n box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);\n width: 100%;\n justify-content: center;\n}\n\n.action-buttons-section .share-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);\n}\n\n.action-buttons-section .share-btn:active {\n transform: translateY(0);\n}\n\n.action-buttons-section .share-btn i {\n font-size: 16px;\n}"],"names":[],"sourceRoot":""}
|