| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237 |
- :root {
- --bg: #f3f6fa;
- --sidebar: #ffffff;
- --panel: #ffffff;
- --panel-strong: #f6f9fd;
- --line: #e1e8f0;
- --text: #10213a;
- --muted: #6b7b91;
- --blue: #146ce5;
- --cyan: #009fbe;
- font-family: "Bahnschrift", "Microsoft YaHei UI", sans-serif;
- color: var(--text);
- background: var(--bg);
- }
- * { box-sizing: border-box; }
- body { margin: 0; background: var(--bg); }
- button, input { font: inherit; }
- .admin-shell { display: grid; grid-template-columns: 246px 1fr; min-height: 100vh; }
- .admin-sidebar {
- position: sticky;
- top: 0;
- display: flex;
- flex-direction: column;
- height: 100vh;
- padding: 30px 22px 22px;
- background: #ffffff;
- border-right: 1px solid var(--line);
- box-shadow: 8px 0 32px #224b7610;
- z-index: 5;
- }
- .logo {
- display: flex;
- gap: 12px;
- align-items: center;
- font-size: 16px;
- font-weight: 650;
- letter-spacing: .08em;
- }
- .logo b {
- display: grid;
- place-items: center;
- width: 36px;
- height: 36px;
- color: var(--cyan);
- border: 1px solid var(--blue);
- background: #146ce50a;
- font: 18px "Cascadia Code", monospace;
- }
- .logo small {
- color: #8290a2;
- font: 8px "Cascadia Code", monospace;
- letter-spacing: .22em;
- }
- .admin-nav { display: grid; gap: 6px; margin-top: 46px; }
- .admin-nav > p {
- margin: 20px 12px 8px;
- color: #a3afbd;
- font: 9px "Cascadia Code", monospace;
- letter-spacing: .15em;
- text-transform: uppercase;
- }
- .admin-nav button {
- position: relative;
- display: flex;
- align-items: center;
- gap: 11px;
- min-height: 46px;
- padding: 0 13px;
- color: #687b91;
- border: 0;
- border-radius: 10px;
- background: transparent;
- text-align: left;
- font-size: 13px;
- cursor: pointer;
- transition: color .2s, background .2s, transform .2s;
- }
- .admin-nav button:hover { color: #174e8b; background: #f3f7fc; transform: translateX(2px); }
- .admin-nav button.active {
- color: #0e5fc5;
- background: linear-gradient(100deg, #edf5ff, #f5f9fe);
- box-shadow: inset 0 0 0 1px #dceafb;
- font-weight: 650;
- }
- .admin-nav button svg {
- flex: none;
- width: 19px;
- fill: none;
- stroke: currentColor;
- stroke-width: 1.6;
- stroke-linecap: round;
- stroke-linejoin: round;
- }
- .admin-nav button small {
- margin-left: auto;
- min-width: 22px;
- padding: 3px 6px;
- border-radius: 12px;
- color: #99a7b8;
- background: #eef2f7;
- text-align: center;
- font: 8px "Cascadia Code", monospace;
- }
- .admin-nav button.active small { color: #1165ca; background: #dfeeff; }
- .sidebar-profile {
- display: flex;
- align-items: center;
- gap: 11px;
- margin-top: auto;
- padding: 14px 12px;
- border: 1px solid #e2e9f1;
- border-radius: 12px;
- background: #f8fafc;
- }
- .sidebar-profile > span {
- display: grid;
- place-items: center;
- flex: none;
- width: 34px;
- height: 34px;
- color: #ffffff;
- border-radius: 9px;
- background: linear-gradient(145deg, #176ede, #0b8daa);
- box-shadow: 0 7px 14px #176ede26;
- font-weight: 700;
- }
- .sidebar-profile div { min-width: 0; display: grid; gap: 3px; }
- .sidebar-profile strong { overflow: hidden; color: #263b53; font-size: 12px; text-overflow: ellipsis; }
- .sidebar-profile small { overflow: hidden; color: #8a99a9; font: 8px "Cascadia Code", monospace; text-overflow: ellipsis; }
- .workspace {
- min-width: 0;
- padding: 0 38px 52px;
- background:
- radial-gradient(circle at 82% 4%, #e7f1ff 0, transparent 26%),
- var(--bg);
- }
- .topbar {
- position: sticky;
- top: 0;
- z-index: 4;
- display: flex;
- align-items: center;
- justify-content: space-between;
- min-height: 72px;
- padding: 0;
- border-bottom: 1px solid var(--line);
- background: #f3f6fae8;
- backdrop-filter: blur(16px);
- }
- .breadcrumb {
- display: flex;
- align-items: center;
- gap: 9px;
- color: #8998aa;
- font-size: 12px;
- }
- .breadcrumb i { color: #c1cad4; font-style: normal; }
- .breadcrumb strong { color: #22384f; font-weight: 650; }
- .header-actions { display: flex; align-items: center; gap: 18px; }
- .system-status {
- display: inline-flex;
- align-items: center;
- color: #64768b;
- font-size: 10px;
- }
- .system-status i {
- width: 7px;
- height: 7px;
- margin-right: 7px;
- border-radius: 50%;
- background: #24a77b;
- box-shadow: 0 0 0 4px #24a77b12;
- }
- .logout-button {
- display: flex;
- align-items: center;
- gap: 7px;
- padding: 8px 11px;
- color: #627489;
- border: 1px solid #dce4ed;
- border-radius: 8px;
- background: #ffffff;
- cursor: pointer;
- font-size: 11px;
- }
- .logout-button svg {
- width: 15px;
- fill: none;
- stroke: currentColor;
- stroke-width: 1.7;
- stroke-linecap: round;
- stroke-linejoin: round;
- }
- .kicker {
- color: var(--blue);
- font: 10px "Cascadia Code", monospace;
- letter-spacing: .16em;
- }
- h1 {
- margin: 12px 0;
- font-size: 40px;
- font-weight: 560;
- line-height: 1.12;
- letter-spacing: -.045em;
- }
- .auth-shell {
- position: relative;
- display: grid;
- grid-template-columns: minmax(430px, 1.05fr) minmax(500px, .95fr);
- min-height: 100vh;
- overflow: hidden;
- background: #f6f8fb;
- }
- .auth-brand-panel {
- position: relative;
- display: flex;
- flex-direction: column;
- min-height: 100vh;
- padding: clamp(34px, 5vw, 72px);
- overflow: hidden;
- color: #ffffff;
- background:
- radial-gradient(circle at 76% 17%, #43c8ea35 0 4%, transparent 23%),
- linear-gradient(138deg, #0b3766 0%, #0c5d96 58%, #087e9c 100%);
- }
- .auth-brand-panel::before {
- position: absolute;
- top: 14%;
- right: -19%;
- width: min(46vw, 620px);
- aspect-ratio: 1;
- border: 1px solid #ffffff1f;
- border-radius: 50%;
- box-shadow:
- 0 0 0 62px #ffffff08,
- 0 0 0 124px #ffffff05;
- content: "";
- }
- .auth-brand-panel::after {
- position: absolute;
- inset: 0;
- opacity: .24;
- background-image:
- linear-gradient(#ffffff13 1px, transparent 1px),
- linear-gradient(90deg, #ffffff13 1px, transparent 1px);
- background-size: 46px 46px;
- mask-image: linear-gradient(135deg, #000, transparent 72%);
- content: "";
- }
- .auth-brand, .auth-brand-copy, .auth-copyright {
- position: relative;
- z-index: 1;
- }
- .auth-brand {
- display: flex;
- align-items: center;
- gap: 13px;
- width: fit-content;
- }
- .auth-brand b {
- display: grid;
- place-items: center;
- width: 42px;
- height: 42px;
- color: #d8f7ff;
- border: 1px solid #9ae5f5;
- background: #ffffff0f;
- box-shadow: inset 0 0 20px #6ce6ff1f;
- font: 20px "Cascadia Code", monospace;
- }
- .auth-brand > span {
- display: grid;
- gap: 3px;
- font-size: 17px;
- font-weight: 700;
- letter-spacing: .08em;
- }
- .auth-brand small {
- color: #c1e8f2;
- font: 8px "Cascadia Code", monospace;
- letter-spacing: .2em;
- }
- .auth-brand-copy {
- width: min(590px, 92%);
- margin: auto 0;
- }
- .auth-brand-copy .kicker { color: #8eeaff; }
- .auth-brand-copy h1 {
- margin: 18px 0 22px;
- font-size: clamp(44px, 5vw, 72px);
- font-weight: 540;
- line-height: 1.08;
- letter-spacing: -.055em;
- }
- .auth-brand-copy h1 em {
- color: #9aedf5;
- font-style: normal;
- }
- .auth-brand-copy > p:not(.kicker) {
- max-width: 500px;
- color: #d1e6f1;
- font-size: 14px;
- line-height: 1.9;
- }
- .capability-tags {
- display: flex;
- flex-wrap: wrap;
- gap: 8px;
- margin-top: 28px;
- }
- .capability-tags span {
- padding: 8px 12px;
- color: #d8f6fb;
- background: #ffffff0c;
- border: 1px solid #ffffff27;
- font-size: 11px;
- }
- .auth-copyright {
- margin: 0;
- color: #a9d4e2;
- font: 9px "Cascadia Code", monospace;
- letter-spacing: .16em;
- }
- .auth-form-panel {
- position: relative;
- display: grid;
- place-items: center;
- min-height: 100vh;
- padding: clamp(30px, 6vw, 90px);
- background:
- radial-gradient(circle at 90% 4%, #d6eaff 0, transparent 31%),
- #f7f9fc;
- }
- .auth-form-panel::before {
- position: absolute;
- top: 54px;
- right: 62px;
- width: 12px;
- height: 12px;
- border-top: 1px solid #90a9c0;
- border-right: 1px solid #90a9c0;
- content: "";
- }
- .login-card, .session-card {
- width: min(430px, 100%);
- animation: auth-enter .46s ease-out both;
- }
- .login-heading { margin-bottom: 36px; }
- .login-heading h2, .session-card h2 {
- margin: 10px 0;
- color: #122b45;
- font-size: 32px;
- font-weight: 620;
- letter-spacing: -.035em;
- }
- .login-heading > p:last-child, .session-card > p:last-child {
- margin: 0;
- color: #7a899c;
- font-size: 13px;
- }
- .login-card form {
- padding: 28px;
- background: #ffffff;
- border: 1px solid #d9e3ed;
- box-shadow: 0 28px 70px #264b7718;
- }
- .login-card label {
- display: block;
- color: #52657b;
- font-size: 12px;
- }
- .login-card label + label { margin-top: 20px; }
- .login-card label > span {
- display: block;
- margin-bottom: 8px;
- font-weight: 650;
- }
- .input-control {
- position: relative;
- display: flex;
- align-items: center;
- background: #f7f9fc;
- border: 1px solid #d8e2ec;
- transition: border-color .2s, box-shadow .2s, background .2s;
- }
- .input-control:focus-within {
- background: #ffffff;
- border-color: var(--blue);
- box-shadow: 0 0 0 3px #146ce512;
- }
- .input-control > svg {
- flex: none;
- width: 18px;
- margin-left: 13px;
- fill: none;
- stroke: #7890a8;
- stroke-width: 1.5;
- stroke-linecap: round;
- stroke-linejoin: round;
- }
- .input-control input {
- min-width: 0;
- width: 100%;
- padding: 14px 12px;
- color: #17324d;
- background: transparent;
- border: 0;
- outline: 0;
- font-family: "Cascadia Code", "Microsoft YaHei UI", monospace;
- }
- .input-control input::placeholder { color: #a0adbb; }
- .password-toggle {
- flex: none;
- margin-right: 10px;
- padding: 5px 7px;
- color: #70849a;
- background: transparent;
- border: 0;
- cursor: pointer;
- font-size: 10px;
- }
- .login-submit {
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 100%;
- margin-top: 28px;
- padding: 14px 16px;
- color: #ffffff;
- background: linear-gradient(100deg, #1265d8, #1685b7);
- border: 0;
- box-shadow: 0 12px 26px #146ce52b;
- cursor: pointer;
- font-weight: 680;
- transition: transform .2s, box-shadow .2s, filter .2s;
- }
- .login-submit svg {
- width: 19px;
- fill: none;
- stroke: currentColor;
- stroke-width: 1.7;
- stroke-linecap: round;
- stroke-linejoin: round;
- }
- .login-submit:hover:not(:disabled) {
- filter: brightness(.96);
- box-shadow: 0 16px 32px #146ce53a;
- transform: translateY(-1px);
- }
- .login-submit:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
- .login-error {
- display: flex;
- align-items: center;
- gap: 8px;
- margin: 14px 0 0;
- padding: 10px 11px;
- color: #a33145;
- background: #fff3f5;
- border: 1px solid #f0c7cf;
- font-size: 11px;
- }
- .login-error span {
- display: grid;
- place-items: center;
- flex: none;
- width: 18px;
- height: 18px;
- color: #ffffff;
- background: #c9475d;
- border-radius: 50%;
- font: 10px "Cascadia Code", monospace;
- }
- .security-note {
- display: grid;
- grid-template-columns: 24px 1fr;
- gap: 10px;
- margin-top: 18px;
- padding: 0 6px;
- color: #7a899c;
- }
- .security-note > span { color: var(--blue); font-size: 17px; }
- .security-note p { margin: 0; font-size: 10px; line-height: 1.7; }
- .session-card {
- padding: 38px;
- background: #ffffff;
- border: 1px solid #d9e3ed;
- box-shadow: 0 28px 70px #264b7718;
- }
- .session-symbol {
- display: grid;
- place-items: center;
- width: 54px;
- height: 54px;
- margin-bottom: 24px;
- background: #edf5ff;
- border: 1px solid #cfe0f2;
- border-radius: 50%;
- }
- .session-symbol i {
- width: 18px;
- height: 18px;
- border: 2px solid #bfd4e9;
- border-top-color: var(--blue);
- border-radius: 50%;
- animation: spin .8s linear infinite;
- }
- .dashboard,
- .page-view {
- width: min(1480px, 100%);
- margin: 0 auto;
- padding-top: 32px;
- }
- .view-enter { animation: enter .42s cubic-bezier(.2, .7, .2, 1) both; }
- .eyebrow {
- margin: 0;
- color: #49739f;
- font: 9px "Cascadia Code", monospace;
- letter-spacing: .16em;
- }
- .command-hero {
- position: relative;
- min-height: 312px;
- overflow: hidden;
- border: 1px solid #dbe5ef;
- border-radius: 22px;
- background: #ffffff;
- box-shadow: 0 22px 60px #1e497616;
- }
- .command-hero::after {
- position: absolute;
- inset: 0;
- pointer-events: none;
- background:
- linear-gradient(90deg, #ffffff 0%, #ffffffed 39%, transparent 70%),
- linear-gradient(120deg, #0c63d008 1px, transparent 1px);
- background-size: auto, 28px 28px;
- content: "";
- }
- .command-hero > img {
- position: absolute;
- inset: 0 0 0 auto;
- width: 76%;
- height: 100%;
- object-fit: cover;
- object-position: 60% center;
- }
- .hero-copy {
- position: relative;
- z-index: 2;
- width: 52%;
- padding: 52px 0 44px 48px;
- }
- .hero-copy .eyebrow { display: flex; align-items: center; color: #0d6a96; }
- .hero-copy .eyebrow span {
- width: 24px;
- height: 1px;
- margin-right: 9px;
- background: #0b84b7;
- }
- .hero-copy h1 {
- margin: 18px 0 12px;
- color: #122d4b;
- font-size: clamp(32px, 3vw, 47px);
- font-weight: 650;
- letter-spacing: -.055em;
- }
- .hero-copy > p:not(.eyebrow) {
- max-width: 490px;
- margin: 0;
- color: #60748b;
- font-size: 13px;
- line-height: 1.8;
- }
- .hero-actions { display: flex; gap: 10px; margin-top: 28px; }
- .hero-actions button {
- padding: 10px 17px;
- color: #ffffff;
- border: 1px solid #146ce5;
- border-radius: 8px;
- background: #146ce5;
- box-shadow: 0 10px 24px #146ce526;
- cursor: pointer;
- font-size: 12px;
- font-weight: 650;
- transition: transform .2s, box-shadow .2s;
- }
- .hero-actions button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px #146ce535; }
- .hero-actions button.ghost {
- color: #305b88;
- border-color: #d5e1ec;
- background: #ffffffdd;
- box-shadow: none;
- }
- .hero-scope {
- position: absolute;
- right: 24px;
- bottom: 22px;
- z-index: 3;
- display: grid;
- min-width: 150px;
- padding: 14px 16px;
- border: 1px solid #ffffffc7;
- border-radius: 12px;
- background: #fffffff0;
- box-shadow: 0 12px 28px #16457318;
- backdrop-filter: blur(12px);
- }
- .hero-scope small { color: #7d8ea1; font: 8px "Cascadia Code", monospace; letter-spacing: .14em; }
- .hero-scope strong { margin-top: 4px; color: #1165ca; font: 18px "Cascadia Code", monospace; }
- .hero-scope span { margin-top: 3px; color: #8492a2; font-size: 9px; }
- .metric-grid {
- display: grid;
- grid-template-columns: repeat(4, minmax(0, 1fr));
- gap: 14px;
- margin-top: 16px;
- }
- .metric-grid article {
- display: grid;
- grid-template-columns: 48px 1fr;
- gap: 16px;
- align-items: start;
- min-height: 150px;
- padding: 24px;
- border: 1px solid #e0e7ef;
- border-radius: 16px;
- background: #ffffff;
- box-shadow: 0 10px 32px #21466e0b;
- transition: transform .22s, box-shadow .22s, border-color .22s;
- }
- .metric-grid article:hover {
- border-color: #cad9e8;
- box-shadow: 0 16px 36px #21466e13;
- transform: translateY(-3px);
- }
- .metric-icon {
- display: grid;
- place-items: center;
- width: 46px;
- height: 46px;
- border-radius: 13px;
- }
- .metric-icon svg {
- width: 22px;
- fill: none;
- stroke: currentColor;
- stroke-width: 1.6;
- stroke-linecap: round;
- stroke-linejoin: round;
- }
- .metric-icon.blue { color: #146ce5; background: #edf5ff; }
- .metric-icon.cyan { color: #008dab; background: #eaf9fb; }
- .metric-icon.gold { color: #a66a0b; background: #fff7e8; }
- .metric-icon.violet { color: #6755b8; background: #f2efff; }
- .metric-grid article > div:last-child { min-width: 0; }
- .metric-grid small { color: #718296; font-size: 11px; }
- .metric-grid strong {
- display: block;
- overflow: hidden;
- margin-top: 12px;
- color: #18324d;
- font: 29px "Bahnschrift", "Microsoft YaHei UI", sans-serif;
- font-variant-numeric: tabular-nums;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .metric-grid p {
- overflow: hidden;
- margin: 8px 0 0;
- color: #8a99aa;
- font-size: 9px;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .metric-grid p i {
- display: inline-block;
- width: 6px;
- height: 6px;
- margin-right: 5px;
- border-radius: 50%;
- background: #21a77b;
- }
- .overview-grid {
- display: grid;
- grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
- gap: 16px;
- margin-top: 16px;
- }
- .overview-card,
- .data-panel,
- .permission-panel,
- .identity-card {
- border: 1px solid #e0e7ef;
- border-radius: 18px;
- background: #ffffff;
- box-shadow: 0 12px 38px #21466e0c;
- }
- .overview-card { min-height: 384px; padding: 28px; }
- .card-heading,
- .panel-heading {
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- gap: 20px;
- }
- .card-heading h2,
- .panel-heading h2 {
- margin: 8px 0 0;
- color: #1d354e;
- font-size: 21px;
- font-weight: 650;
- letter-spacing: -.025em;
- }
- .card-heading button {
- padding: 7px 0;
- color: #49739e;
- border: 0;
- background: transparent;
- cursor: pointer;
- font-size: 10px;
- }
- .card-heading button span { margin-left: 4px; color: #146ce5; font-size: 15px; }
- .compact-table { margin-top: 18px; }
- .compact-row {
- display: grid;
- grid-template-columns: 36px minmax(0, 1fr) auto auto;
- gap: 13px;
- align-items: center;
- min-height: 57px;
- border-top: 1px solid #edf1f5;
- }
- .row-symbol {
- display: grid;
- place-items: center;
- width: 28px;
- height: 28px;
- color: #146ce5;
- border-radius: 8px;
- background: #edf5ff;
- font-size: 10px;
- }
- .compact-row > div { min-width: 0; display: grid; gap: 3px; }
- .compact-row > div strong { overflow: hidden; color: #2b4259; font-size: 11px; text-overflow: ellipsis; }
- .compact-row > div small { overflow: hidden; color: #9aa7b5; font: 8px "Cascadia Code", monospace; text-overflow: ellipsis; }
- .compact-row > b { min-width: 78px; color: #274968; text-align: right; font-size: 11px; }
- .status-pill {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- width: fit-content;
- min-width: 58px;
- padding: 5px 8px;
- border-radius: 14px;
- font-size: 9px;
- font-weight: 650;
- }
- .status-pill.success { color: #087a60; background: #e9f8f3; }
- .status-pill.pending { color: #9a6410; background: #fff6df; }
- .status-pill.muted { color: #778696; background: #eef2f5; }
- .live-badge,
- .sync-label {
- display: inline-flex;
- align-items: center;
- gap: 6px;
- color: #168262;
- font: 9px "Cascadia Code", monospace;
- }
- .live-badge i,
- .sync-label i {
- width: 6px;
- height: 6px;
- border-radius: 50%;
- background: #24a77b;
- box-shadow: 0 0 0 4px #24a77b12;
- }
- .health-content {
- display: grid;
- grid-template-columns: 140px 1fr;
- gap: 22px;
- align-items: center;
- margin-top: 26px;
- }
- .rate-ring {
- display: grid;
- place-items: center;
- width: 132px;
- height: 132px;
- border-radius: 50%;
- }
- .rate-ring > div {
- display: grid;
- place-items: center;
- width: 104px;
- height: 104px;
- border-radius: 50%;
- background: #ffffff;
- box-shadow: inset 0 0 0 1px #edf1f6;
- }
- .rate-ring strong { color: #153b61; font: 26px "Cascadia Code", monospace; }
- .rate-ring span { margin-top: -20px; color: #8796a8; font-size: 9px; }
- .health-details { display: grid; }
- .health-details div {
- display: flex;
- justify-content: space-between;
- gap: 12px;
- padding: 10px 0;
- border-bottom: 1px solid #edf1f5;
- }
- .health-details span { color: #8291a2; font-size: 10px; }
- .health-details b { color: #294967; font-size: 10px; }
- .status-bars { display: grid; gap: 9px; margin-top: 24px; }
- .status-bars > div { display: grid; grid-template-columns: 52px 1fr 18px; gap: 8px; align-items: center; }
- .status-bars span { color: #8493a4; font-size: 9px; }
- .status-bars > div > i { height: 5px; overflow: hidden; border-radius: 6px; background: #edf1f6; }
- .status-bars > div > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #146ce5, #16a2bb); }
- .status-bars strong { color: #526b84; text-align: right; font-size: 9px; }
- .empty-state {
- display: grid;
- place-items: center;
- min-height: 180px;
- color: #8b9aaa;
- font-size: 12px;
- }
- .page-view { padding-bottom: 30px; }
- .agent-security {
- display: inline-flex;
- align-items: center;
- gap: 8px;
- border: 1px solid #c9dfd6;
- border-radius: 999px;
- background: #f4fbf7;
- color: #327258;
- padding: 9px 14px;
- font-size: 12px;
- font-weight: 700;
- }
- .agent-security i,
- .agent-conversation > header small i {
- width: 7px;
- height: 7px;
- border-radius: 50%;
- background: #29a66f;
- box-shadow: 0 0 0 4px #29a66f1f;
- }
- .operation-agent-panel {
- display: grid;
- grid-template-columns: 260px minmax(0, 1fr);
- height: auto;
- min-height: 650px;
- overflow: hidden;
- border: 1px solid #dce5ef;
- border-radius: 20px;
- background: #fff;
- box-shadow: 0 18px 50px #31547312;
- }
- .agent-suggestions {
- display: flex;
- flex-direction: column;
- gap: 10px;
- border-right: 1px solid #e5ebf2;
- background: linear-gradient(180deg, #f8fbff, #f5f8fb);
- padding: 26px 18px;
- min-height: 0;
- overflow-y: auto;
- }
- .agent-suggestions > div:first-child { margin-bottom: 8px; }
- .agent-suggestions h2 { margin: 4px 0 0; color: #1d334d; font-size: 20px; }
- .agent-suggestions > button {
- display: grid;
- gap: 5px;
- width: 100%;
- border: 1px solid #dbe5ef;
- border-radius: 12px;
- background: #fff;
- color: #28445f;
- padding: 14px;
- text-align: left;
- cursor: pointer;
- transition: .2s ease;
- }
- .agent-suggestions > button:hover {
- transform: translateY(-1px);
- border-color: #91bae7;
- box-shadow: 0 10px 24px #346da116;
- }
- .agent-suggestions > button span { font-weight: 750; }
- .agent-suggestions > button small { color: #8494a5; }
- .agent-boundary-note {
- margin-top: auto;
- border: 1px solid #d9e7f4;
- border-radius: 12px;
- background: #eef6ff;
- padding: 14px;
- }
- .agent-boundary-note strong { color: #245883; font-size: 12px; }
- .agent-boundary-note p { margin: 6px 0 0; color: #698096; font-size: 11px; line-height: 1.6; }
- .agent-conversation {
- display: grid;
- grid-template-rows: auto auto auto;
- min-width: 0;
- min-height: 0;
- overflow: visible;
- }
- .agent-conversation > header {
- display: flex;
- align-items: center;
- gap: 12px;
- border-bottom: 1px solid #e8edf3;
- padding: 17px 22px;
- }
- .agent-avatar {
- display: grid;
- width: 38px;
- height: 38px;
- place-items: center;
- border-radius: 11px;
- background: linear-gradient(145deg, #1f76cf, #4b9be8);
- color: #fff;
- font: 700 11px "Cascadia Code", monospace;
- box-shadow: 0 8px 18px #1f76cf35;
- }
- .agent-conversation > header div { display: grid; gap: 4px; }
- .agent-conversation > header strong { color: #20384f; font-size: 13px; }
- .agent-conversation > header small { display: flex; align-items: center; gap: 7px; color: #7d8d9e; font-size: 10px; }
- .operation-messages {
- display: flex;
- flex-direction: column;
- gap: 16px;
- min-height: 480px;
- overflow: visible;
- max-height: none;
- padding: 24px;
- background: #fbfcfe;
- }
- .agent-suggestions::-webkit-scrollbar {
- width: 8px;
- }
- .agent-suggestions::-webkit-scrollbar-track {
- background: transparent;
- }
- .agent-suggestions::-webkit-scrollbar-thumb {
- border: 2px solid transparent;
- border-radius: 999px;
- background: #b9c8d7;
- background-clip: padding-box;
- }
- .agent-suggestions::-webkit-scrollbar-thumb:hover {
- background: #8eabc5;
- background-clip: padding-box;
- }
- .agent-empty { margin: auto; max-width: 430px; color: #7d8b99; text-align: center; }
- .agent-empty > span { display: block; color: #5597d7; font-size: 34px; }
- .agent-empty h2 { margin: 12px 0 8px; color: #2d455d; font-size: 19px; }
- .agent-empty p { margin: 0; font-size: 12px; line-height: 1.75; }
- .operation-message {
- width: min(760px, 90%);
- border: 1px solid #dde6ef;
- border-radius: 15px;
- background: #fff;
- padding: 15px 17px;
- box-shadow: 0 8px 22px #304d6810;
- }
- .operation-message.user {
- align-self: flex-end;
- width: auto;
- max-width: 72%;
- border-color: #cfe1f6;
- background: #edf5ff;
- }
- .message-label { margin-bottom: 7px; color: #7c8d9e; font-size: 10px; font-weight: 700; }
- .operation-message > p { margin: 0; color: #354d64; font-size: 13px; line-height: 1.8; }
- .agent-metrics {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
- gap: 9px;
- margin-top: 13px;
- }
- .agent-metrics article { border-radius: 10px; background: #f5f8fc; padding: 12px; }
- .agent-metrics small { color: #7d8e9f; font-size: 9px; }
- .agent-metrics strong { display: block; margin-top: 7px; color: #1e4f7e; font-size: 19px; }
- .agent-metrics em { margin-left: 3px; color: #8293a4; font-size: 9px; font-style: normal; }
- .agent-business-list {
- overflow: hidden;
- margin-top: 13px;
- border: 1px solid #e2e8ef;
- border-radius: 10px;
- }
- .agent-business-list header,
- .agent-business-list > div {
- display: grid;
- grid-template-columns: 1.2fr 1fr .7fr;
- gap: 10px;
- align-items: center;
- padding: 10px 12px;
- }
- .agent-business-list header { background: #f4f7fb; color: #536b82; }
- .agent-business-list header small { text-align: right; }
- .agent-business-list > div + div { border-top: 1px solid #edf1f5; }
- .agent-business-list > div strong { color: #28445e; font-size: 11px; }
- .agent-business-list > div span,
- .agent-business-list > div small { overflow: hidden; color: #78899a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
- .operation-actions { display: flex; gap: 8px; margin-top: 12px; }
- .operation-actions button {
- border: 1px solid #bdd6f1;
- border-radius: 8px;
- background: #f2f8ff;
- color: #1f68ad;
- padding: 8px 11px;
- font-size: 10px;
- font-weight: 700;
- cursor: pointer;
- }
- .operation-message footer {
- display: flex;
- justify-content: space-between;
- gap: 12px;
- margin-top: 12px;
- border-top: 1px solid #edf1f5;
- padding-top: 9px;
- color: #8a98a7;
- font: 9px "Cascadia Code", monospace;
- }
- .operation-message footer a { color: #2d75bb; text-decoration: none; }
- .agent-thinking { display: flex; align-items: center; gap: 5px; color: #74879a; font-size: 11px; }
- .agent-thinking i {
- width: 6px;
- height: 6px;
- border-radius: 50%;
- background: #438bd1;
- animation: pulse 1s infinite alternate;
- }
- .agent-thinking i:nth-child(2) { animation-delay: .2s; }
- .agent-thinking i:nth-child(3) { animation-delay: .4s; }
- .agent-thinking span { margin-left: 6px; }
- .operation-composer {
- display: grid;
- grid-template-columns: 1fr auto;
- gap: 12px;
- border-top: 1px solid #e6ecf2;
- padding: 16px 20px;
- }
- .operation-composer textarea {
- resize: none;
- border: 1px solid #d7e0e9;
- border-radius: 10px;
- outline: none;
- padding: 11px 13px;
- color: #344c63;
- font: inherit;
- }
- .operation-composer textarea:focus { border-color: #6ba4dc; box-shadow: 0 0 0 3px #2e81d514; }
- .operation-composer button {
- align-self: stretch;
- border: 0;
- border-radius: 10px;
- background: #1768b7;
- color: #fff;
- padding: 0 18px;
- font-weight: 700;
- cursor: pointer;
- }
- .operation-composer button:disabled { opacity: .5; cursor: not-allowed; }
- .product-admin-grid {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 18px;
- }
- .product-admin-grid > article {
- display: flex;
- flex-direction: column;
- min-height: 330px;
- border: 1px solid #dce5ee;
- border-radius: 18px;
- background: #fff;
- padding: 22px;
- box-shadow: 0 14px 38px #3154730e;
- }
- .product-admin-grid header,
- .product-admin-grid footer {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 12px;
- }
- .product-admin-grid header > span {
- color: #5f84a8;
- font-size: 10px;
- font-weight: 750;
- letter-spacing: .08em;
- }
- .product-admin-grid header em {
- border-radius: 999px;
- background: #e9f7ef;
- color: #2d805b;
- padding: 5px 9px;
- font-size: 9px;
- font-style: normal;
- font-weight: 700;
- }
- .product-admin-grid header em.inactive { background: #f0f2f5; color: #7b8793; }
- .product-admin-grid h2 { margin: 18px 0 8px; color: #203a53; font-size: 19px; }
- .product-admin-grid > article > p { margin: 0; color: #75889a; font-size: 11px; line-height: 1.75; }
- .product-version-list { display: grid; gap: 8px; margin: 18px 0; }
- .product-version-list > div {
- display: grid;
- grid-template-columns: 70px 1fr auto;
- align-items: center;
- gap: 10px;
- border-radius: 9px;
- background: #f6f8fb;
- padding: 10px 12px;
- }
- .product-version-list strong { color: #2b618f; font: 700 10px "Cascadia Code", monospace; }
- .product-version-list span,
- .product-version-list small { color: #778899; font-size: 9px; }
- .product-admin-grid footer { margin-top: auto; border-top: 1px solid #edf1f5; padding-top: 14px; }
- .product-admin-grid footer small { color: #9aa6b2; font: 9px "Cascadia Code", monospace; }
- .product-admin-grid footer > div { display: flex; align-items: center; gap: 8px; }
- .product-admin-grid footer button {
- border: 1px solid #bad3eb;
- border-radius: 8px;
- background: #f4f9ff;
- color: #28699f;
- padding: 8px 12px;
- font-size: 10px;
- font-weight: 700;
- cursor: pointer;
- }
- .product-admin-grid footer .product-manage-button {
- color: #fff;
- border-color: #146ce5;
- background: #146ce5;
- box-shadow: 0 7px 18px #146ce522;
- }
- .product-admin-grid footer button:disabled { opacity: .45; cursor: not-allowed; }
- .product-heading-actions { display: flex; align-items: center; gap: 12px; }
- .product-heading-actions > button {
- padding: 10px 15px;
- color: #fff;
- border: 0;
- border-radius: 9px;
- background: linear-gradient(120deg, #1263b7, #168fb1);
- box-shadow: 0 10px 24px #146b9e24;
- cursor: pointer;
- font-size: 10px;
- font-weight: 700;
- }
- .product-creator {
- width: min(780px, 96vw);
- height: 100vh;
- overflow-y: auto;
- padding: 0 38px 42px;
- background:
- linear-gradient(135deg, #e8f5ff66 0%, transparent 32%),
- #f7f9fc;
- box-shadow: -24px 0 80px #102b4938;
- animation: drawer-in .32s cubic-bezier(.2, .7, .2, 1) both;
- }
- .creator-intro {
- display: flex;
- align-items: center;
- gap: 22px;
- margin-top: 24px;
- padding: 22px 25px;
- overflow: hidden;
- color: #fff;
- border-radius: 16px;
- background:
- radial-gradient(circle at 90% -30%, #70e4f45c, transparent 40%),
- linear-gradient(125deg, #0b457a, #087d99);
- }
- .creator-orbit {
- position: relative;
- display: grid;
- place-items: center;
- flex: none;
- width: 62px;
- height: 62px;
- border: 1px solid #ffffff42;
- border-radius: 50%;
- }
- .creator-orbit::before,
- .creator-orbit::after {
- position: absolute;
- inset: 8px;
- border: 1px solid #ffffff24;
- border-radius: 50%;
- content: "";
- }
- .creator-orbit::after { inset: -8px; border-style: dashed; animation: orbit-spin 14s linear infinite; }
- .creator-orbit i { position: absolute; top: 4px; right: 8px; width: 6px; height: 6px; border-radius: 50%; background: #60f0c6; box-shadow: 0 0 12px #60f0c6; }
- .creator-orbit span { z-index: 1; font: 700 10px "Cascadia Code", monospace; letter-spacing: .12em; }
- .creator-intro > div:last-child { min-width: 0; }
- .creator-intro small { color: #b7e8f4; font: 8px "Cascadia Code", monospace; letter-spacing: .15em; }
- .creator-intro h3 { margin: 8px 0 6px; font-size: 20px; }
- .creator-intro p { margin: 0; color: #cce6ef; font-size: 9px; line-height: 1.6; }
- .creator-steps {
- display: grid;
- grid-template-columns: 1fr 30px 1fr 30px 1fr;
- align-items: center;
- margin: 22px 0 15px;
- padding: 15px 17px;
- border: 1px solid #dfe7ef;
- border-radius: 13px;
- background: #fff;
- }
- .creator-steps > i { height: 1px; background: #dce5ed; }
- .creator-steps button {
- display: flex;
- align-items: center;
- gap: 9px;
- padding: 5px;
- color: #8d9aa7;
- border: 0;
- background: transparent;
- cursor: pointer;
- text-align: left;
- }
- .creator-steps button:disabled { cursor: not-allowed; opacity: .55; }
- .creator-steps button > span {
- display: grid;
- place-items: center;
- flex: none;
- width: 30px;
- height: 30px;
- border: 1px solid #dce5ed;
- border-radius: 9px;
- background: #f6f8fa;
- font: 700 8px "Cascadia Code", monospace;
- }
- .creator-steps button > div { display: grid; gap: 3px; }
- .creator-steps strong { color: #60768a; font-size: 9px; }
- .creator-steps small { font-size: 7px; }
- .creator-steps button.active > span { color: #fff; border-color: #146ce5; background: #146ce5; box-shadow: 0 7px 17px #146ce52e; }
- .creator-steps button.active strong { color: #1b5e98; }
- .creator-steps button.complete > span { color: #14795e; border-color: #cce8de; background: #eaf8f3; }
- .creator-form {
- overflow: hidden;
- border: 1px solid #dfe7ef;
- border-radius: 16px;
- background: #fff;
- box-shadow: 0 12px 36px #2a4d650c;
- }
- .creator-step-panel { padding: 25px; animation: view-enter .28s ease both; }
- .creator-step-panel > .product-section-heading { padding-bottom: 18px; border-bottom: 1px solid #edf1f5; }
- .creator-step-panel > .product-section-heading > button {
- padding: 7px 10px;
- color: #176cad;
- border: 1px solid #cfe0ed;
- border-radius: 7px;
- background: #f5faff;
- cursor: pointer;
- font-size: 8px;
- }
- .creator-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 20px; }
- .creator-grid label { display: grid; gap: 7px; color: #526a80; font-size: 9px; }
- .creator-grid label.wide { grid-column: 1 / -1; }
- .creator-grid input,
- .creator-grid select,
- .creator-grid textarea {
- width: 100%;
- padding: 11px 12px;
- color: #294861;
- border: 1px solid #d9e3ed;
- border-radius: 8px;
- outline: 0;
- background: #f8fafc;
- font-size: 10px;
- transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
- }
- .creator-grid textarea { resize: vertical; line-height: 1.65; }
- .creator-grid input:focus,
- .creator-grid select:focus,
- .creator-grid textarea:focus { border-color: #1680cf; background: #fff; box-shadow: 0 0 0 3px #1680cf10; }
- .creator-grid label > small { color: #98a5b1; font-size: 8px; line-height: 1.5; }
- .creator-grid label.wide > small { text-align: right; }
- .creator-plan-list { display: grid; gap: 12px; margin-top: 18px; }
- .creator-plan-list > article { padding: 17px; border: 1px solid #e1e8ef; border-radius: 12px; background: #fbfcfd; }
- .creator-plan-list > article > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 13px; border-bottom: 1px solid #edf1f5; }
- .creator-plan-list > article > header > div { display: flex; align-items: center; gap: 9px; }
- .creator-plan-list > article > header span { display: grid; place-items: center; width: 26px; height: 26px; color: #126dab; border-radius: 7px; background: #eaf5fd; font: 700 8px "Cascadia Code", monospace; }
- .creator-plan-list > article > header strong { color: #3a566f; font-size: 10px; }
- .creator-plan-list > article > header button { color: #a65656; border: 0; background: transparent; cursor: pointer; font-size: 8px; }
- .creator-plan-list .creator-grid { margin-top: 15px; }
- .creator-error { margin: 0 25px 16px; padding: 10px 12px; color: #a64747; border: 1px solid #f0d2d2; border-radius: 8px; background: #fff4f4; font-size: 9px; }
- .creator-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 25px; border-top: 1px solid #e7edf2; background: #f9fbfd; }
- .creator-footer > span { color: #8d9ba8; font-size: 8px; }
- .creator-footer button {
- padding: 9px 15px;
- color: #61778b;
- border: 1px solid #d7e1ea;
- border-radius: 8px;
- background: #fff;
- cursor: pointer;
- font-size: 9px;
- }
- .creator-footer button.primary { margin-left: auto; color: #fff; border-color: #146ce5; background: linear-gradient(120deg, #1263b7, #168fb1); box-shadow: 0 8px 20px #146b9e22; }
- .creator-footer button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
- @keyframes orbit-spin { to { transform: rotate(360deg); } }
- .product-editor {
- width: min(940px, 97vw);
- height: 100vh;
- overflow-y: auto;
- padding: 0 36px 50px;
- background:
- linear-gradient(90deg, #eef6ff 1px, transparent 1px) 0 0 / 44px 44px,
- #f7f9fc;
- box-shadow: -24px 0 80px #102b4938;
- animation: drawer-in .32s cubic-bezier(.2, .7, .2, 1) both;
- }
- .product-editor-hero {
- position: relative;
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- gap: 24px;
- margin-top: 26px;
- padding: 28px 30px;
- overflow: hidden;
- color: #fff;
- border-radius: 17px;
- background:
- radial-gradient(circle at 82% 18%, #82e3ff52, transparent 27%),
- linear-gradient(125deg, #0a3d72 0%, #0b6b98 63%, #1493a5 100%);
- box-shadow: 0 18px 42px #0a56832b;
- }
- .product-editor-hero::after {
- position: absolute;
- right: 100px;
- bottom: -74px;
- width: 210px;
- height: 210px;
- border: 1px solid #ffffff26;
- border-radius: 50%;
- box-shadow: 0 0 0 28px #ffffff0a, 0 0 0 58px #ffffff08;
- content: "";
- }
- .product-editor-hero > div,
- .product-editor-hero > em { position: relative; z-index: 1; }
- .product-editor-hero span { color: #bfeaff; font-size: 9px; letter-spacing: .12em; }
- .product-editor-hero h3 { margin: 13px 0 7px; font-size: 25px; letter-spacing: -.02em; }
- .product-editor-hero p { margin: 0; color: #c9e5f1; font: 9px "Cascadia Code", monospace; }
- .product-editor-hero > em {
- display: inline-flex;
- align-items: center;
- gap: 8px;
- padding: 8px 12px;
- color: #d8fff2;
- border: 1px solid #ffffff2b;
- border-radius: 18px;
- background: #ffffff14;
- font-size: 10px;
- font-style: normal;
- }
- .product-editor-hero > em i { width: 7px; height: 7px; border-radius: 50%; background: #4ce6af; box-shadow: 0 0 0 5px #4ce6af1f; }
- .product-editor-hero > em.inactive { color: #dbe5ed; }
- .product-editor-hero > em.inactive i { background: #aab8c4; box-shadow: none; }
- .product-editor-tabs {
- display: flex;
- gap: 5px;
- margin: 22px 0 16px;
- padding: 5px;
- border: 1px solid #dfe7ef;
- border-radius: 12px;
- background: #fff;
- box-shadow: 0 8px 24px #2f536b0a;
- }
- .product-editor-tabs button {
- flex: 1;
- padding: 10px 14px;
- color: #7b8c9d;
- border: 0;
- border-radius: 8px;
- background: transparent;
- cursor: pointer;
- font-size: 10px;
- }
- .product-editor-tabs button.active { color: #165f9f; background: #edf6ff; box-shadow: inset 0 0 0 1px #d9ebfb; font-weight: 700; }
- .product-editor-message {
- margin: 0 0 14px;
- padding: 10px 13px;
- color: #17654f;
- border: 1px solid #cde9df;
- border-radius: 9px;
- background: #f0faf7;
- font-size: 10px;
- }
- .product-profile-form,
- .product-log-panel,
- .product-version-workspace {
- border: 1px solid #dfe7ef;
- border-radius: 16px;
- background: #fff;
- box-shadow: 0 12px 36px #2a4d650c;
- }
- .product-profile-form {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 18px;
- padding: 25px;
- }
- .product-section-heading {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 20px;
- }
- .product-profile-form > .product-section-heading { grid-column: 1 / -1; padding-bottom: 18px; border-bottom: 1px solid #edf1f5; }
- .product-section-heading small { color: #1684ba; font: 8px "Cascadia Code", monospace; letter-spacing: .16em; }
- .product-section-heading h3 { margin: 5px 0 0; color: #27445f; font-size: 17px; }
- .product-section-heading > span { color: #93a0ad; font-size: 9px; }
- .product-profile-form label,
- .version-form-grid label,
- .plan-form-grid label {
- display: grid;
- gap: 7px;
- color: #526a80;
- font-size: 9px;
- }
- .product-profile-form label.wide,
- .version-form-grid label.wide,
- .plan-form-grid label.wide { grid-column: 1 / -1; }
- .product-profile-form input,
- .product-profile-form select,
- .product-profile-form textarea,
- .version-form-grid input,
- .version-form-grid select,
- .version-form-grid textarea,
- .plan-form-grid input,
- .plan-form-grid select,
- .plan-form-grid textarea {
- width: 100%;
- padding: 10px 11px;
- color: #294861;
- border: 1px solid #d9e3ed;
- border-radius: 8px;
- outline: 0;
- background: #f8fafc;
- font-size: 10px;
- transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
- }
- .product-profile-form textarea,
- .version-form-grid textarea,
- .plan-form-grid textarea { resize: vertical; line-height: 1.65; }
- .product-profile-form input:focus,
- .product-profile-form select:focus,
- .product-profile-form textarea:focus,
- .version-form-grid input:focus,
- .version-form-grid select:focus,
- .version-form-grid textarea:focus,
- .plan-form-grid input:focus,
- .plan-form-grid select:focus,
- .plan-form-grid textarea:focus { border-color: #1680cf; background: #fff; box-shadow: 0 0 0 3px #1680cf10; }
- .product-profile-form input:disabled,
- .product-profile-form select:disabled,
- .product-profile-form textarea:disabled,
- .version-form-grid input:disabled,
- .version-form-grid textarea:disabled,
- .plan-form-grid input:disabled,
- .plan-form-grid select:disabled,
- .plan-form-grid textarea:disabled { color: #73879a; background: #f0f3f6; cursor: not-allowed; }
- .product-profile-form label > small { color: #9aa7b3; font-size: 8px; text-align: right; }
- .product-profile-form > footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: 4px; }
- .product-profile-form > footer button,
- .primary-action,
- .version-save-footer button {
- padding: 10px 17px;
- color: #fff;
- border: 0;
- border-radius: 8px;
- background: linear-gradient(120deg, #1263b7, #168fb1);
- box-shadow: 0 9px 24px #146b9e24;
- cursor: pointer;
- font-size: 10px;
- font-weight: 700;
- }
- .product-profile-form button:disabled,
- .primary-action:disabled,
- .version-save-footer button:disabled { opacity: .5; cursor: not-allowed; }
- .product-version-workspace {
- display: grid;
- grid-template-columns: 210px minmax(0, 1fr);
- min-height: 560px;
- overflow: hidden;
- }
- .product-version-rail {
- padding: 20px 14px;
- border-right: 1px solid #e3eaf1;
- background: #f8fafc;
- }
- .product-version-rail .product-section-heading { padding: 0 5px 15px; }
- .product-version-rail .product-section-heading > button {
- display: grid;
- place-items: center;
- width: 28px;
- height: 28px;
- color: #fff;
- border: 0;
- border-radius: 8px;
- background: #146ce5;
- cursor: pointer;
- font-size: 17px;
- }
- .product-version-rail > button {
- display: grid;
- gap: 7px;
- width: 100%;
- margin-bottom: 7px;
- padding: 12px;
- color: #516a81;
- border: 1px solid transparent;
- border-radius: 10px;
- background: transparent;
- cursor: pointer;
- text-align: left;
- }
- .product-version-rail > button:hover { background: #fff; }
- .product-version-rail > button.active { border-color: #cfe2f3; background: #fff; box-shadow: 0 8px 22px #2d5a760d; }
- .product-version-rail > button > span { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
- .product-version-rail strong { color: #274761; font: 700 11px "Cascadia Code", monospace; }
- .product-version-rail em,
- .version-status {
- padding: 4px 6px;
- color: #497189;
- border-radius: 10px;
- background: #e9f1f7;
- font-size: 7px;
- font-style: normal;
- }
- .product-version-rail em.published,
- .version-status.published { color: #14785f; background: #e5f6f0; }
- .product-version-rail em.draft,
- .version-status.draft { color: #a16616; background: #fff2dc; }
- .product-version-rail em.retired,
- .version-status.retired { color: #7c8792; background: #edf0f3; }
- .product-version-rail > button > small { color: #97a4b0; font-size: 8px; }
- .product-version-editor { min-width: 0; padding: 24px; }
- .new-version-card { padding: 24px; border: 1px dashed #bcd6e9; border-radius: 14px; background: #f7fbff; }
- .new-version-card .product-section-heading > button { color: #71879a; border: 0; background: transparent; cursor: pointer; font-size: 9px; }
- .new-version-card .version-form-grid { margin: 22px 0 16px; }
- .version-control-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid #edf1f5; }
- .version-control-bar small { color: #1684ba; font: 8px "Cascadia Code", monospace; letter-spacing: .14em; }
- .version-control-bar h3 { display: inline-block; margin: 7px 10px 0 0; color: #21425e; font: 700 22px "Cascadia Code", monospace; }
- .version-actions { display: flex; gap: 7px; }
- .version-actions button,
- .plan-editor-heading button {
- padding: 8px 11px;
- color: #60778c;
- border: 1px solid #d8e2eb;
- border-radius: 7px;
- background: #fff;
- cursor: pointer;
- font-size: 8px;
- }
- .version-actions button.primary { color: #fff; border-color: #146ce5; background: #146ce5; }
- .immutable-notice {
- display: flex;
- align-items: center;
- gap: 11px;
- margin: 18px 0;
- padding: 12px 14px;
- color: #536b7e;
- border: 1px solid #dbe5ed;
- border-radius: 10px;
- background: #f5f7f9;
- }
- .immutable-notice.editable { border-color: #d5e9df; background: #f1faf6; }
- .immutable-notice > i { display: grid; place-items: center; width: 28px; height: 28px; color: #198463; border-radius: 8px; background: #fff; font-style: normal; }
- .immutable-notice > span { display: grid; gap: 3px; }
- .immutable-notice strong { font-size: 9px; }
- .immutable-notice small { color: #8a99a7; font-size: 8px; }
- .version-form-grid,
- .plan-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
- .plan-editor-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 26px 0 12px; }
- .plan-editor-heading small { color: #1684ba; font: 8px "Cascadia Code", monospace; letter-spacing: .14em; }
- .plan-editor-heading h3 { margin: 5px 0 0; color: #27445f; font-size: 16px; }
- .plan-editor-heading button { color: #176cad; border-color: #cee0ee; background: #f5faff; }
- .plan-editor-list { display: grid; gap: 11px; }
- .plan-editor-list > article { padding: 16px; border: 1px solid #e0e7ee; border-radius: 12px; background: #fbfcfd; }
- .plan-editor-list > article > header { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
- .plan-editor-list > article > header > span { margin-right: auto; color: #1684ba; font: 8px "Cascadia Code", monospace; letter-spacing: .13em; }
- .plan-editor-list > article > header select { padding: 5px 7px; color: #567085; border: 1px solid #d9e3eb; border-radius: 6px; background: #fff; font-size: 8px; }
- .plan-editor-list > article > header button { color: #a65656; border: 0; background: transparent; cursor: pointer; font-size: 8px; }
- .version-save-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 16px 0 0; border-top: 1px solid #edf1f5; }
- .version-save-footer span { color: #8d9ba8; font-size: 8px; }
- .product-log-panel { padding: 25px; }
- .product-log-panel > .product-section-heading { padding-bottom: 18px; border-bottom: 1px solid #edf1f5; }
- .product-log-list { position: relative; display: grid; padding: 18px 0 0 7px; }
- .product-log-list::before { position: absolute; top: 18px; bottom: 15px; left: 12px; width: 1px; background: #dce6ee; content: ""; }
- .product-log-list article { position: relative; display: grid; grid-template-columns: 12px 1fr auto; gap: 15px; align-items: start; padding: 0 6px 20px 0; }
- .product-log-list article > i { z-index: 1; width: 11px; height: 11px; margin-top: 4px; border: 3px solid #eef7fd; border-radius: 50%; background: #1684ba; box-sizing: border-box; }
- .product-log-list article > div { display: grid; gap: 5px; }
- .product-log-list strong { color: #31506a; font-size: 10px; }
- .product-log-list p { margin: 0; color: #91a0ad; font-size: 8px; }
- .product-log-list code { color: #4b7795; font: 8px "Cascadia Code", monospace; }
- .product-log-empty { padding: 46px 20px; color: #91a0ad; text-align: center; font-size: 10px; }
- @media (max-width: 760px) {
- .product-heading-actions { align-items: flex-end; flex-direction: column-reverse; }
- .product-creator { width: 100vw; padding: 0 18px 34px; }
- .creator-intro { align-items: flex-start; }
- .creator-steps { grid-template-columns: 1fr 12px 1fr 12px 1fr; padding: 12px 8px; }
- .creator-steps button { align-items: flex-start; flex-direction: column; gap: 5px; }
- .creator-steps small { display: none; }
- .creator-grid { grid-template-columns: 1fr; }
- .creator-grid label.wide { grid-column: auto; }
- .product-editor { width: 100vw; padding: 0 18px 34px; }
- .product-editor-hero { align-items: flex-start; flex-direction: column; padding: 23px; }
- .product-version-workspace { grid-template-columns: 1fr; }
- .product-version-rail { border-right: 0; border-bottom: 1px solid #e3eaf1; }
- .product-version-rail > button { display: inline-grid; width: calc(50% - 4px); margin-right: 4px; vertical-align: top; }
- .product-version-editor { padding: 18px; }
- .product-profile-form,
- .version-form-grid,
- .plan-form-grid { grid-template-columns: 1fr; }
- .product-profile-form label.wide,
- .version-form-grid label.wide,
- .plan-form-grid label.wide { grid-column: auto; }
- .version-control-bar,
- .version-save-footer { align-items: flex-start; flex-direction: column; }
- }
- .attribution-metrics {
- display: grid;
- grid-template-columns: repeat(4, minmax(0, 1fr));
- gap: 14px;
- margin-bottom: 18px;
- }
- .attribution-metrics article {
- border: 1px solid #dce5ee;
- border-radius: 15px;
- background: #fff;
- padding: 18px;
- }
- .attribution-metrics small { color: #7c8e9f; font-size: 10px; }
- .attribution-metrics strong { display: block; margin: 8px 0 5px; color: #1f527e; font-size: 25px; }
- .attribution-metrics span { color: #94a0ac; font-size: 9px; }
- .attribution-layout {
- display: grid;
- grid-template-columns: minmax(0, 1fr) 310px;
- gap: 18px;
- }
- .attribution-ranking { margin: 0; }
- .attribution-table .table-head,
- .attribution-table .table-row {
- display: grid;
- grid-template-columns: 1.2fr .9fr .7fr .9fr;
- gap: 14px;
- align-items: center;
- }
- .attribution-table .table-head {
- border-bottom: 1px solid #e5ebf1;
- background: #f6f8fb;
- color: #76899b;
- padding: 11px 15px;
- font-size: 9px;
- }
- .attribution-table .table-row { border-bottom: 1px solid #edf1f5; padding: 14px 15px; }
- .attribution-table .table-row > span { display: grid; gap: 4px; }
- .attribution-table .table-row strong,
- .attribution-table .table-row b { color: #304a62; font-size: 11px; }
- .attribution-table .table-row small { color: #8e9ba8; font-size: 9px; }
- .promotion-code-panel {
- display: flex;
- flex-direction: column;
- gap: 12px;
- border: 1px solid #dce5ee;
- border-radius: 16px;
- background: #f7fafe;
- padding: 19px;
- }
- .promotion-code-panel h2 { margin: 4px 0 0; color: #233d55; font-size: 18px; }
- .promotion-code-panel article {
- border: 1px solid #d7e5f2;
- border-radius: 12px;
- background: #fff;
- padding: 14px;
- }
- .promotion-code-panel article span { color: #7890a6; font-size: 9px; }
- .promotion-code-panel article strong { display: block; margin: 7px 0; color: #215f95; font: 700 13px "Cascadia Code", monospace; }
- .promotion-code-panel article p { margin: 0 0 9px; color: #74899d; font-size: 10px; }
- .promotion-code-panel article code {
- display: block;
- overflow: hidden;
- border-radius: 7px;
- background: #eef4fa;
- color: #607b93;
- padding: 8px;
- font-size: 8px;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .page-heading {
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- gap: 28px;
- padding: 18px 4px 28px;
- }
- .page-heading h1 {
- margin: 10px 0 9px;
- color: #17314c;
- font-size: 38px;
- font-weight: 650;
- }
- .page-heading > div > p:last-child { margin: 0; color: #74869a; font-size: 12px; }
- .page-count {
- display: grid;
- min-width: 132px;
- padding-left: 22px;
- border-left: 1px solid #d5dee8;
- color: #146ce5;
- font: 34px "Cascadia Code", monospace;
- }
- .page-count small { margin-top: 2px; color: #8796a7; font: 9px "Microsoft YaHei UI", sans-serif; }
- .data-panel { overflow: hidden; padding: 28px; }
- .panel-heading { align-items: center; padding-bottom: 22px; }
- .panel-heading h2 { margin: 0; }
- .panel-heading p { margin: 6px 0 0; color: #8997a7; font-size: 10px; }
- .data-table { border-top: 1px solid #e6ecf2; }
- .table-head,
- .table-row {
- display: grid;
- grid-template-columns: minmax(210px, 1.1fr) minmax(240px, 1.5fr) 110px 120px;
- gap: 18px;
- align-items: center;
- min-height: 62px;
- }
- .table-head {
- min-height: 44px;
- color: #8a99a9;
- background: #f8fafc;
- border-bottom: 1px solid #e6ecf2;
- font-size: 9px;
- }
- .table-head span:first-child,
- .table-row > :first-child { padding-left: 14px; }
- .table-row { border-bottom: 1px solid #edf1f5; }
- .table-row:last-child { border-bottom: 0; }
- .table-row strong { color: #28425c; font: 10px "Cascadia Code", monospace; }
- .table-row small { overflow: hidden; color: #8998a8; font: 9px "Cascadia Code", monospace; text-overflow: ellipsis; }
- .table-row > b { color: #174a7c; font-size: 11px; }
- .data-table button.table-row {
- width: 100%;
- padding: 0;
- color: inherit;
- border-top: 0;
- border-right: 0;
- border-left: 0;
- background: #ffffff;
- text-align: left;
- cursor: pointer;
- transition: background .18s, transform .18s;
- }
- .data-table button.table-row:hover {
- position: relative;
- z-index: 1;
- background: #f7faff;
- box-shadow: inset 3px 0 #146ce5;
- }
- .orders-table .table-head,
- .orders-table .table-row,
- .policies-table .table-head,
- .policies-table .table-row {
- grid-template-columns:
- minmax(230px, 1.35fr) minmax(140px, .75fr) minmax(150px, .75fr)
- 84px 110px 86px;
- }
- .primary-cell,
- .person-cell {
- display: grid;
- min-width: 0;
- gap: 5px;
- }
- .primary-cell strong,
- .person-cell strong,
- .primary-cell small,
- .person-cell small {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .primary-cell strong { color: #1e4265; font: 10px "Cascadia Code", monospace; }
- .primary-cell small { color: #6d8298; font-family: "Microsoft YaHei UI", sans-serif; }
- .person-cell strong { color: #344d65; font-family: "Microsoft YaHei UI", sans-serif; }
- .table-row time { color: #72859a; font-size: 9px; line-height: 1.5; }
- .detail-link { color: #146ce5; font-size: 9px; font-weight: 650; }
- .user-toolbar {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 20px;
- margin-bottom: 16px;
- }
- .user-tabs {
- display: inline-flex;
- gap: 4px;
- padding: 4px;
- border: 1px solid #dfe6ee;
- border-radius: 10px;
- background: #eaf0f6;
- }
- .user-tabs button {
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 9px 13px;
- color: #718398;
- border: 0;
- border-radius: 7px;
- background: transparent;
- cursor: pointer;
- font-size: 10px;
- }
- .user-tabs button.active { color: #174d83; background: #ffffff; box-shadow: 0 5px 14px #274c7412; font-weight: 650; }
- .user-tabs span {
- display: grid;
- place-items: center;
- min-width: 20px;
- height: 18px;
- padding: 0 5px;
- border-radius: 9px;
- background: #dfe7ef;
- font: 8px "Cascadia Code", monospace;
- }
- .user-tabs button.active span { color: #146ce5; background: #e8f2ff; }
- .create-account-button {
- display: inline-flex;
- align-items: center;
- gap: 7px;
- padding: 10px 15px;
- color: #ffffff;
- border: 0;
- border-radius: 9px;
- background: #146ce5;
- box-shadow: 0 9px 22px #146ce526;
- cursor: pointer;
- font-size: 10px;
- font-weight: 650;
- }
- .create-account-button span { font-size: 15px; font-weight: 400; }
- .user-panel { min-height: 420px; }
- .user-table { margin-top: 4px; border-top: 1px solid #e6ecf2; }
- .user-table-head,
- .user-table-row {
- display: grid;
- grid-template-columns: minmax(220px, 1.3fr) minmax(130px, .75fr) 120px 90px 70px;
- gap: 18px;
- align-items: center;
- min-height: 66px;
- }
- .user-table-head {
- min-height: 44px;
- color: #8a99a9;
- background: #f8fafc;
- border-bottom: 1px solid #e6ecf2;
- font-size: 9px;
- }
- .user-table-head > span:first-child,
- .user-table-row > :first-child { padding-left: 14px; }
- .user-table-row { border-bottom: 1px solid #edf1f5; }
- .user-table-row:last-child { border-bottom: 0; }
- .user-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
- .user-identity > span {
- display: grid;
- place-items: center;
- flex: none;
- width: 34px;
- height: 34px;
- color: #146ce5;
- border-radius: 10px;
- background: #edf5ff;
- font-weight: 700;
- }
- .user-identity > div { min-width: 0; display: grid; gap: 3px; }
- .user-identity strong { color: #2a445e; font-size: 11px; }
- .user-identity small { overflow: hidden; color: #94a1af; font: 8px "Cascadia Code", monospace; text-overflow: ellipsis; }
- .role-chip {
- width: fit-content;
- padding: 5px 8px;
- color: #5e579d;
- border-radius: 12px;
- background: #f0edfb;
- font: 8px "Cascadia Code", monospace;
- }
- .user-table-row code { color: #4d6d8d; font: 9px "Cascadia Code", monospace; }
- .user-table-row time { color: #6f8296; font-size: 9px; }
- .account-status { display: inline-flex; align-items: center; gap: 6px; color: #147a5f; font-size: 9px; }
- .account-status i { width: 6px; height: 6px; border-radius: 50%; background: #20a478; box-shadow: 0 0 0 4px #20a47810; }
- .account-status.disabled { color: #8a96a3; }
- .account-status.disabled i { background: #9ba6b1; box-shadow: none; }
- .maintain-button {
- width: fit-content;
- padding: 6px 9px;
- color: #1462b8;
- border: 1px solid #d6e4f2;
- border-radius: 7px;
- background: #f6faff;
- cursor: pointer;
- font-size: 9px;
- }
- .maintain-button:disabled { color: #a0aab5; background: #f1f3f5; cursor: not-allowed; }
- .account-editor {
- width: min(520px, 94vw);
- height: 100vh;
- overflow-y: auto;
- padding: 0 34px 38px;
- background: #f7f9fc;
- box-shadow: -20px 0 70px #102b492e;
- animation: drawer-in .32s cubic-bezier(.2, .7, .2, 1) both;
- }
- .account-form {
- display: grid;
- gap: 18px;
- margin-top: 26px;
- padding: 26px;
- border: 1px solid #e0e7ef;
- border-radius: 15px;
- background: #ffffff;
- }
- .account-form label { display: grid; gap: 8px; color: #52677d; font-size: 10px; }
- .account-form input,
- .account-form select,
- .password-reset-panel input {
- width: 100%;
- padding: 11px 12px;
- color: #2c4965;
- border: 1px solid #d9e3ed;
- border-radius: 8px;
- outline: 0;
- background: #f8fafc;
- font-size: 11px;
- }
- .account-form input:focus,
- .account-form select:focus,
- .password-reset-panel input:focus { border-color: #146ce5; box-shadow: 0 0 0 3px #146ce512; background: #ffffff; }
- .account-form input:disabled,
- .account-form select:disabled { color: #8d99a6; cursor: not-allowed; }
- .account-form label > small { color: #a07b45; font-size: 8px; }
- .account-primary {
- padding: 12px 15px;
- color: #ffffff;
- border: 0;
- border-radius: 8px;
- background: #146ce5;
- box-shadow: 0 9px 22px #146ce526;
- cursor: pointer;
- font-size: 11px;
- font-weight: 650;
- }
- .account-primary:disabled { color: #a0aab4; background: #e7ecf1; box-shadow: none; cursor: not-allowed; }
- .form-message { margin: 0; color: #168060; font-size: 9px; }
- .form-message.error { padding: 9px 10px; color: #a64452; border-radius: 7px; background: #fff1f3; }
- .password-reset-panel {
- display: grid;
- grid-template-columns: 1fr auto;
- gap: 12px;
- margin-top: 16px;
- padding: 24px;
- border: 1px solid #e0e7ef;
- border-radius: 15px;
- background: #ffffff;
- }
- .password-reset-panel > div { grid-column: 1 / -1; }
- .password-reset-panel strong { color: #304b66; font-size: 11px; }
- .password-reset-panel p { margin: 5px 0 0; color: #8b98a6; font-size: 8px; }
- .password-reset-panel button {
- padding: 0 14px;
- color: #1462b8;
- border: 1px solid #cfe0f1;
- border-radius: 8px;
- background: #f2f8ff;
- cursor: pointer;
- font-size: 9px;
- }
- .password-reset-panel button:disabled { color: #a1abb5; border-color: #e1e6eb; background: #f1f3f5; cursor: not-allowed; }
- .password-reset-panel > .form-message { grid-column: 1 / -1; }
- .confirm-backdrop {
- position: fixed;
- inset: 0;
- z-index: 30;
- display: grid;
- place-items: center;
- padding: 20px;
- background: #0b203a52;
- backdrop-filter: blur(4px);
- animation: fade-in .2s ease both;
- }
- .confirm-dialog {
- width: min(410px, 100%);
- padding: 32px;
- border: 1px solid #dfe7ef;
- border-radius: 17px;
- background: #ffffff;
- box-shadow: 0 28px 80px #0f2c4a30;
- }
- .confirm-symbol {
- display: grid;
- place-items: center;
- width: 42px;
- height: 42px;
- margin-bottom: 20px;
- color: #a66b18;
- border-radius: 12px;
- background: #fff4df;
- font-weight: 700;
- }
- .confirm-dialog h2 { margin: 10px 0; color: #263f58; font-size: 22px; }
- .confirm-dialog > p:not(.eyebrow) { margin: 0; color: #748598; font-size: 11px; line-height: 1.8; }
- .confirm-dialog > div { display: flex; justify-content: flex-end; gap: 9px; margin-top: 26px; }
- .confirm-dialog button {
- padding: 9px 15px;
- color: #61758a;
- border: 1px solid #d8e1ea;
- border-radius: 8px;
- background: #ffffff;
- cursor: pointer;
- font-size: 10px;
- }
- .confirm-dialog button.danger { color: #ffffff; border-color: #b44b58; background: #b44b58; }
- .role-summary {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 14px;
- margin-bottom: 16px;
- }
- .role-summary article {
- display: grid;
- grid-template-columns: 1fr auto;
- gap: 5px 18px;
- padding: 20px 22px;
- border: 1px solid #e0e7ef;
- border-radius: 14px;
- background: #ffffff;
- }
- .role-summary small { color: #74869a; font-size: 10px; }
- .role-summary strong { grid-row: span 2; color: #146ce5; font: 28px "Cascadia Code", monospace; }
- .role-summary span { color: #9aa7b5; font-size: 9px; }
- .role-manager {
- display: grid;
- grid-template-columns: 280px minmax(0, 1fr);
- min-height: 610px;
- overflow: hidden;
- border: 1px solid #e0e7ef;
- border-radius: 18px;
- background: #ffffff;
- box-shadow: 0 12px 38px #21466e0c;
- }
- .role-list {
- padding: 26px 18px;
- border-right: 1px solid #e8edf3;
- background: #f9fbfd;
- }
- .role-list-heading { padding: 0 10px 18px; }
- .role-list-heading h2 { margin: 8px 0 0; color: #243e58; font-size: 20px; }
- .role-list > button {
- display: grid;
- grid-template-columns: 40px minmax(0, 1fr) auto;
- gap: 11px;
- align-items: center;
- width: 100%;
- min-height: 68px;
- margin-top: 7px;
- padding: 10px 12px;
- color: #536a82;
- border: 1px solid transparent;
- border-radius: 11px;
- background: transparent;
- text-align: left;
- cursor: pointer;
- }
- .role-list > button:hover { background: #ffffff; }
- .role-list > button.active {
- color: #174f87;
- border-color: #d8e6f5;
- background: #ffffff;
- box-shadow: 0 9px 24px #21466e0c;
- }
- .role-list > button > span {
- display: grid;
- place-items: center;
- width: 38px;
- height: 38px;
- color: #146ce5;
- border-radius: 10px;
- background: #edf5ff;
- font-weight: 700;
- }
- .role-list > button > div { min-width: 0; display: grid; gap: 4px; }
- .role-list > button strong { font-size: 12px; }
- .role-list > button small { color: #98a5b4; font: 8px "Cascadia Code", monospace; }
- .role-list > button i,
- .role-list > button b {
- padding: 4px 7px;
- color: #7c8b9b;
- border-radius: 10px;
- background: #eef2f6;
- font: normal 8px "Microsoft YaHei UI", sans-serif;
- }
- .role-list > button b { min-width: 24px; text-align: center; }
- .role-editor { display: flex; min-width: 0; flex-direction: column; padding: 34px; }
- .role-editor-heading {
- display: flex;
- justify-content: space-between;
- gap: 20px;
- padding-bottom: 24px;
- border-bottom: 1px solid #e8edf3;
- }
- .role-editor-heading h2 { margin: 9px 0 4px; color: #203b57; font-size: 26px; }
- .role-editor-heading > div > p:last-child { margin: 0; color: #8795a5; font: 9px "Cascadia Code", monospace; }
- .protected-badge,
- .editable-badge {
- display: inline-flex;
- align-items: center;
- align-self: flex-start;
- gap: 6px;
- padding: 7px 10px;
- border-radius: 14px;
- font-size: 9px;
- }
- .protected-badge { color: #78684e; background: #f7f2e9; }
- .editable-badge { color: #0b7b5c; background: #eaf8f3; }
- .editable-badge i { width: 6px; height: 6px; border-radius: 50%; background: #22a77a; }
- .scope-editor {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 24px;
- padding: 25px 0;
- border-bottom: 1px solid #e8edf3;
- }
- .scope-editor strong,
- .permission-editor-heading strong { color: #314a62; font-size: 12px; }
- .scope-editor p,
- .permission-editor-heading p { margin: 5px 0 0; color: #8a98a8; font-size: 9px; }
- .scope-editor select {
- min-width: 220px;
- padding: 10px 34px 10px 12px;
- color: #31516f;
- border: 1px solid #d7e1eb;
- border-radius: 8px;
- outline: 0;
- background: #f8fafc;
- font-size: 10px;
- }
- .scope-editor select:focus { border-color: #146ce5; box-shadow: 0 0 0 3px #146ce512; }
- .scope-editor select:disabled { color: #8a98a8; cursor: not-allowed; }
- .permission-editor { padding-top: 24px; }
- .permission-editor-heading { display: flex; justify-content: space-between; align-items: flex-start; }
- .permission-editor-heading > span { color: #146ce5; font: 10px "Cascadia Code", monospace; }
- .permission-matrix {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 10px;
- margin-top: 18px;
- }
- .permission-matrix button {
- display: grid;
- grid-template-columns: 24px minmax(0, 1fr);
- gap: 10px;
- align-items: center;
- min-height: 62px;
- padding: 10px 12px;
- color: #526980;
- border: 1px solid #e1e8ef;
- border-radius: 10px;
- background: #fafbfd;
- text-align: left;
- cursor: pointer;
- }
- .permission-matrix button:hover:not(:disabled) { border-color: #bed5ef; background: #f5f9fe; }
- .permission-matrix button.selected { border-color: #bdd7f4; background: #f0f7ff; }
- .permission-matrix button:disabled { cursor: not-allowed; opacity: .74; }
- .permission-matrix button > i {
- display: grid;
- place-items: center;
- width: 22px;
- height: 22px;
- color: transparent;
- border: 1px solid #cdd8e3;
- border-radius: 6px;
- background: #ffffff;
- font: normal 10px sans-serif;
- }
- .permission-matrix button.selected > i { color: #ffffff; border-color: #146ce5; background: #146ce5; }
- .permission-matrix button > span { min-width: 0; display: grid; gap: 5px; }
- .permission-matrix strong { color: #39516a; font-size: 10px; }
- .permission-matrix small { overflow: hidden; color: #8997a7; font: 8px "Cascadia Code", monospace; text-overflow: ellipsis; }
- .role-editor-footer {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 20px;
- margin-top: auto;
- padding-top: 28px;
- }
- .role-editor-footer p { margin: 0; color: #8795a5; font-size: 9px; }
- .role-editor-footer p.success { color: #0b805f; }
- .role-editor-footer button {
- min-width: 150px;
- padding: 11px 16px;
- color: #ffffff;
- border: 0;
- border-radius: 8px;
- background: #146ce5;
- box-shadow: 0 9px 22px #146ce526;
- cursor: pointer;
- font-size: 11px;
- font-weight: 650;
- }
- .role-editor-footer button:disabled { color: #9ba8b5; background: #e8edf2; box-shadow: none; cursor: not-allowed; }
- .detail-backdrop {
- position: fixed;
- inset: 0;
- z-index: 20;
- display: flex;
- justify-content: flex-end;
- background: #0b203a52;
- backdrop-filter: blur(3px);
- animation: fade-in .2s ease both;
- }
- .detail-drawer {
- width: min(640px, 94vw);
- height: 100vh;
- overflow-y: auto;
- padding: 0 34px 38px;
- background: #f7f9fc;
- box-shadow: -20px 0 70px #102b492e;
- animation: drawer-in .32s cubic-bezier(.2, .7, .2, 1) both;
- }
- .detail-header {
- position: sticky;
- top: 0;
- z-index: 2;
- display: flex;
- align-items: center;
- justify-content: space-between;
- min-height: 92px;
- padding: 0;
- border-bottom: 1px solid #dfe6ee;
- background: #f7f9fcf2;
- backdrop-filter: blur(14px);
- }
- .detail-header h2 { margin: 7px 0 0; color: #1c3956; font-size: 24px; }
- .detail-header > button {
- display: grid;
- place-items: center;
- width: 36px;
- height: 36px;
- color: #60758a;
- border: 1px solid #d8e1ea;
- border-radius: 50%;
- background: #ffffff;
- cursor: pointer;
- font-size: 23px;
- font-weight: 300;
- }
- .detail-hero {
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- gap: 24px;
- margin-top: 26px;
- padding: 28px;
- overflow: hidden;
- border-radius: 16px;
- background:
- radial-gradient(circle at 90% 20%, #80d5ee38, transparent 32%),
- linear-gradient(135deg, #0d4e91, #0b7f9d);
- color: #ffffff;
- }
- .detail-hero h3 { margin: 18px 0 5px; font-size: 23px; }
- .detail-hero p { margin: 0; color: #cde6f3; font-size: 11px; }
- .detail-hero > strong { flex: none; color: #ffffff; font-size: 24px; }
- .detail-hero .status-pill { color: #d7fff2; background: #ffffff18; border: 1px solid #ffffff2b; }
- .detail-section {
- margin-top: 16px;
- padding: 24px;
- border: 1px solid #e0e7ef;
- border-radius: 14px;
- background: #ffffff;
- }
- .detail-section-title {
- margin: 0 0 18px;
- color: #25435f;
- font-size: 12px;
- font-weight: 700;
- }
- .detail-grid {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 17px 24px;
- margin: 0;
- }
- .detail-grid div { min-width: 0; }
- .detail-grid dt { color: #8b98a8; font-size: 9px; }
- .detail-grid dd {
- overflow: hidden;
- margin: 6px 0 0;
- color: #314b64;
- font: 10px "Cascadia Code", "Microsoft YaHei UI", monospace;
- line-height: 1.5;
- overflow-wrap: anywhere;
- }
- .detail-empty { padding: 14px; color: #8795a5; border-radius: 8px; background: #f7f9fb; font-size: 10px; }
- .order-timeline {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- margin-top: 16px;
- padding: 24px;
- border: 1px solid #e0e7ef;
- border-radius: 14px;
- background: #ffffff;
- }
- .order-timeline > div { position: relative; display: flex; gap: 9px; }
- .order-timeline > div:not(:last-child)::after {
- position: absolute;
- top: 11px;
- left: 23px;
- right: -4px;
- height: 1px;
- background: #dce4ec;
- content: "";
- }
- .order-timeline i {
- position: relative;
- z-index: 1;
- display: grid;
- place-items: center;
- flex: none;
- width: 22px;
- height: 22px;
- color: #a0acb8;
- border-radius: 50%;
- background: #edf1f5;
- font: normal 9px sans-serif;
- }
- .order-timeline .complete i { color: #ffffff; background: #178c6c; }
- .order-timeline span { position: relative; z-index: 1; display: grid; gap: 4px; padding-right: 8px; background: #ffffff; }
- .order-timeline strong { color: #496078; font-size: 9px; }
- .order-timeline small { color: #94a0ad; font-size: 8px; }
- .policy-certificate {
- position: relative;
- min-height: 230px;
- margin-top: 26px;
- padding: 34px;
- overflow: hidden;
- color: #ffffff;
- border-radius: 17px;
- background:
- linear-gradient(115deg, #0a477e 0%, #116ec1 58%, #10a0ae 100%);
- box-shadow: 0 20px 42px #1264a929;
- }
- .policy-certificate::after {
- position: absolute;
- right: -55px;
- bottom: -95px;
- width: 260px;
- height: 260px;
- border: 1px solid #ffffff36;
- border-radius: 50%;
- box-shadow: 0 0 0 32px #ffffff0b, 0 0 0 64px #ffffff08;
- content: "";
- }
- .certificate-mark {
- position: relative;
- z-index: 1;
- display: grid;
- place-items: center;
- width: 38px;
- height: 38px;
- border: 1px solid #aee6f4;
- font: 17px "Cascadia Code", monospace;
- }
- .policy-certificate p { position: relative; z-index: 1; margin: 17px 0 0; color: #bde6f3; font: 8px "Cascadia Code", monospace; letter-spacing: .16em; }
- .policy-certificate h3 { position: relative; z-index: 1; margin: 15px 0 5px; font-size: 24px; }
- .policy-certificate > span { position: relative; z-index: 1; color: #d3edf6; font-size: 11px; }
- .policy-certificate > strong { position: relative; z-index: 1; display: block; margin-top: 24px; font: 11px "Cascadia Code", monospace; letter-spacing: .07em; }
- .certificate-footer {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 18px;
- margin-top: 16px;
- padding: 18px 22px;
- color: #18795f;
- border: 1px solid #d9eae4;
- border-radius: 12px;
- background: #f2faf7;
- }
- .certificate-footer span { font-size: 10px; font-weight: 650; }
- .certificate-footer i { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 6px; color: #ffffff; border-radius: 50%; background: #1c9a74; font: normal 8px sans-serif; }
- .certificate-footer small { color: #789288; font-size: 8px; }
- .access-grid {
- display: grid;
- grid-template-columns: 310px minmax(0, 1fr);
- gap: 16px;
- }
- .identity-card { position: relative; overflow: hidden; padding: 34px; }
- .identity-card::after {
- position: absolute;
- right: -40px;
- bottom: -60px;
- width: 170px;
- height: 170px;
- border: 24px solid #edf5ff;
- border-radius: 50%;
- content: "";
- }
- .identity-avatar {
- position: relative;
- z-index: 1;
- display: grid;
- place-items: center;
- width: 62px;
- height: 62px;
- margin-bottom: 26px;
- color: #ffffff;
- border-radius: 18px;
- background: linear-gradient(145deg, #146ce5, #0896ad);
- box-shadow: 0 14px 28px #146ce52b;
- font-size: 23px;
- font-weight: 700;
- }
- .identity-card h2 { position: relative; z-index: 1; margin: 9px 0 5px; color: #1d3955; font-size: 24px; }
- .identity-card > p:not(.eyebrow) { position: relative; z-index: 1; color: #74869a; font: 9px "Cascadia Code", monospace; }
- .identity-card > div:last-child {
- position: relative;
- z-index: 1;
- display: grid;
- gap: 4px;
- margin-top: 48px;
- }
- .identity-card > div:last-child span { color: #8796a6; font-size: 9px; }
- .identity-card > div:last-child strong { color: #146ce5; font: 16px "Cascadia Code", monospace; }
- .permission-panel { padding: 30px; }
- .shield-mark {
- display: grid;
- place-items: center;
- width: 36px;
- height: 36px;
- color: #14815f;
- border-radius: 50%;
- background: #eaf8f3;
- font-weight: 700;
- }
- .permission-list {
- display: grid;
- grid-template-columns: repeat(2, minmax(0, 1fr));
- gap: 10px;
- margin-top: 28px;
- }
- .permission-list > span {
- display: flex;
- align-items: center;
- gap: 10px;
- min-height: 48px;
- padding: 0 14px;
- color: #476078;
- border: 1px solid #e5ebf1;
- border-radius: 10px;
- background: #fafbfd;
- font: 10px "Cascadia Code", monospace;
- }
- .permission-list i {
- display: grid;
- place-items: center;
- flex: none;
- width: 20px;
- height: 20px;
- color: #14815f;
- border-radius: 50%;
- background: #e9f7f2;
- font: normal 9px sans-serif;
- }
- @keyframes enter {
- from { opacity: 0; transform: translateY(14px); }
- }
- @keyframes auth-enter {
- from { opacity: 0; transform: translateY(12px); }
- }
- @keyframes spin {
- to { transform: rotate(360deg); }
- }
- @keyframes fade-in {
- from { opacity: 0; }
- }
- @keyframes drawer-in {
- from { opacity: 0; transform: translateX(28px); }
- }
- @media (max-width: 1280px) {
- .admin-shell { grid-template-columns: 224px 1fr; }
- .workspace { padding-right: 28px; padding-left: 28px; }
- .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
- .overview-grid { grid-template-columns: 1fr; }
- .health-content { grid-template-columns: 160px 1fr; }
- }
- @media (max-width: 1040px) {
- .auth-shell { grid-template-columns: minmax(350px, .85fr) minmax(460px, 1.15fr); }
- .auth-brand-copy h1 { font-size: 46px; }
- .auth-brand-panel { padding: 40px; }
- .auth-form-panel { padding: 48px; }
- .command-hero > img { width: 82%; opacity: .8; }
- .hero-copy { width: 66%; }
- .access-grid { grid-template-columns: 1fr; }
- .table-head,
- .table-row { grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) 90px 100px; }
- .orders-table,
- .policies-table { min-width: 980px; }
- .orders-table .table-head,
- .orders-table .table-row,
- .policies-table .table-head,
- .policies-table .table-row {
- grid-template-columns: 240px 150px 160px 84px 110px 86px;
- }
- .role-manager { grid-template-columns: 240px minmax(0, 1fr); }
- .permission-matrix { grid-template-columns: 1fr; }
- .user-panel { overflow-x: auto; }
- .user-table { min-width: 780px; }
- }
- @media (max-width: 760px) {
- .auth-shell { display: block; }
- .auth-brand-panel { display: none; }
- .auth-form-panel { min-height: 100vh; padding: 28px 20px; }
- .login-card form, .session-card { padding: 22px; }
- .login-heading h2, .session-card h2 { font-size: 28px; }
- .admin-shell { grid-template-columns: 1fr; }
- .admin-sidebar { display: none; }
- .workspace { padding: 0 18px 30px; }
- .topbar { min-height: 62px; }
- .system-status { display: none; }
- .dashboard,
- .page-view { padding-top: 20px; }
- .command-hero { min-height: 390px; }
- .command-hero > img { inset: auto 0 0; width: 100%; height: 48%; opacity: .7; }
- .command-hero::after { background: linear-gradient(#ffffff 0%, #fffffff5 52%, transparent 84%); }
- .hero-copy { width: 100%; padding: 34px 28px; }
- .hero-scope { display: none; }
- .metric-grid { grid-template-columns: 1fr; }
- .overview-card { padding: 22px; }
- .compact-row { grid-template-columns: 32px minmax(0, 1fr) auto; }
- .compact-row > b { display: none; }
- .health-content { grid-template-columns: 1fr; justify-items: center; }
- .health-details { width: 100%; }
- .page-heading { align-items: flex-start; }
- .page-count { display: none; }
- .data-panel { padding: 20px; overflow-x: auto; }
- .data-table { min-width: 720px; }
- .permission-list { grid-template-columns: 1fr; }
- .role-summary { grid-template-columns: 1fr; }
- .role-manager { grid-template-columns: 1fr; }
- .role-list { border-right: 0; border-bottom: 1px solid #e8edf3; }
- .role-editor { padding: 24px; }
- .scope-editor { align-items: flex-start; flex-direction: column; }
- .scope-editor select { width: 100%; }
- .role-editor-footer { align-items: stretch; flex-direction: column; }
- .role-editor-footer button { width: 100%; }
- .detail-drawer { width: 100vw; padding: 0 20px 28px; }
- .detail-grid { grid-template-columns: 1fr; }
- .order-timeline { grid-template-columns: 1fr; gap: 16px; }
- .order-timeline > div:not(:last-child)::after { top: 20px; bottom: -18px; left: 11px; right: auto; width: 1px; height: auto; }
- .certificate-footer { align-items: flex-start; flex-direction: column; }
- .user-toolbar { align-items: stretch; flex-direction: column; }
- .create-account-button { justify-content: center; }
- .account-editor { width: 100vw; padding: 0 20px 28px; }
- .password-reset-panel { grid-template-columns: 1fr; }
- .password-reset-panel button { min-height: 40px; }
- }
- .agent-run-center {
- margin-top: 22px;
- padding: 24px;
- border: 1px solid #e4eaf2;
- border-radius: 22px;
- background: #fff;
- }
- .agent-run-list {
- display: grid;
- gap: 10px;
- margin-top: 18px;
- }
- .agent-run-list article {
- display: grid;
- grid-template-columns: minmax(240px, 1.5fr) auto minmax(220px, 1fr) auto;
- align-items: center;
- gap: 16px;
- padding: 14px 16px;
- border-radius: 14px;
- background: #f7f9fc;
- }
- .agent-run-list article div,
- .agent-run-list article small {
- display: block;
- }
- .agent-run-list code {
- overflow: hidden;
- color: #596579;
- text-overflow: ellipsis;
- }
- .agent-run-list a {
- color: #146ce5;
- font-weight: 700;
- text-decoration: none;
- }
- @media (max-width: 900px) {
- .agent-run-list article {
- grid-template-columns: 1fr auto;
- }
- }
- .agent-workspace-tabs {
- display: flex;
- gap: 6px;
- width: fit-content;
- margin: 4px 0 16px;
- border: 1px solid #dce5ee;
- border-radius: 15px;
- background: #eaf0f6;
- padding: 5px;
- }
- .agent-workspace-tabs button {
- position: relative;
- display: grid;
- grid-template-columns: 34px auto auto;
- align-items: center;
- gap: 10px;
- min-width: 218px;
- border: 0;
- border-radius: 11px;
- background: transparent;
- color: #66798c;
- padding: 9px 12px;
- text-align: left;
- cursor: pointer;
- transition:
- color 0.2s ease,
- background 0.2s ease,
- box-shadow 0.2s ease,
- transform 0.2s ease;
- }
- .agent-workspace-tabs button:hover {
- color: #315d85;
- }
- .agent-workspace-tabs button.active {
- background: #fff;
- color: #174f7c;
- box-shadow:
- 0 7px 18px rgb(37 74 109 / 10%),
- inset 0 0 0 1px rgb(173 198 221 / 55%);
- }
- .agent-workspace-tabs button.active::after {
- position: absolute;
- right: 18px;
- bottom: -5px;
- left: 18px;
- height: 2px;
- border-radius: 2px;
- background: #2580cd;
- content: "";
- }
- .agent-tab-icon {
- display: grid;
- width: 32px;
- height: 32px;
- place-items: center;
- border: 1px solid #d4e0eb;
- border-radius: 9px;
- background: rgb(255 255 255 / 64%);
- color: #4f779b;
- font: 13px "Cascadia Code", monospace;
- }
- .agent-workspace-tabs button.active .agent-tab-icon {
- border-color: #bfdaef;
- background: #eef7ff;
- color: #176eb7;
- }
- .agent-workspace-tabs button > span:nth-child(2) {
- display: grid;
- gap: 2px;
- }
- .agent-workspace-tabs strong {
- font-size: 12px;
- font-weight: 750;
- }
- .agent-workspace-tabs small {
- color: #8a99a8;
- font-size: 9px;
- }
- .agent-workspace-tabs button > b {
- min-width: 24px;
- border-radius: 999px;
- background: #dfe7ef;
- color: #62778a;
- padding: 4px 7px;
- text-align: center;
- font: 700 9px "Cascadia Code", monospace;
- }
- .agent-workspace-tabs button.active > b {
- background: #deeffd;
- color: #176eb7;
- }
- .agent-run-workspace {
- min-height: 620px;
- margin-top: 0;
- animation: agent-tab-enter 0.28s ease-out both;
- }
- .agent-run-summary {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- gap: 12px;
- margin: 22px 0 24px;
- }
- .agent-run-summary article {
- position: relative;
- overflow: hidden;
- min-height: 118px;
- border: 1px solid #e0e8f0;
- border-radius: 15px;
- background:
- radial-gradient(circle at 88% 14%, rgb(37 128 205 / 10%), transparent 34%),
- #f8fafc;
- padding: 17px 18px;
- }
- .agent-run-summary article::after {
- position: absolute;
- right: -18px;
- bottom: -28px;
- width: 86px;
- height: 86px;
- border: 1px solid rgb(41 121 188 / 12%);
- border-radius: 50%;
- content: "";
- }
- .agent-run-summary small {
- display: block;
- color: #71879b;
- font: 8px "Cascadia Code", monospace;
- letter-spacing: 0.14em;
- }
- .agent-run-summary strong {
- display: block;
- margin-top: 10px;
- color: #174f7c;
- font-size: 28px;
- letter-spacing: -0.04em;
- }
- .agent-run-summary span {
- color: #8191a0;
- font-size: 10px;
- }
- .agent-run-workspace .agent-run-list article {
- grid-template-columns: 64px minmax(260px, 1.5fr) auto minmax(190px, 1fr) auto;
- border: 1px solid transparent;
- transition:
- border-color 0.18s ease,
- background 0.18s ease,
- transform 0.18s ease;
- }
- .agent-run-workspace .agent-run-list article:hover {
- border-color: #dce7f1;
- background: #fff;
- transform: translateY(-1px);
- }
- .agent-run-index {
- color: #8a9aaa;
- font: 700 9px "Cascadia Code", monospace;
- letter-spacing: 0.08em;
- }
- @keyframes agent-tab-enter {
- from {
- opacity: 0;
- transform: translateY(6px);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
- }
- @media (max-width: 900px) {
- .agent-workspace-tabs {
- width: 100%;
- }
- .agent-workspace-tabs button {
- min-width: 0;
- flex: 1;
- }
- .agent-run-summary {
- grid-template-columns: 1fr;
- }
- .agent-run-workspace .agent-run-list article {
- grid-template-columns: auto minmax(0, 1fr) auto;
- }
- .agent-run-workspace .agent-run-list code {
- grid-column: 2 / -1;
- }
- }
- @media (max-width: 560px) {
- .agent-workspace-tabs button {
- grid-template-columns: 30px 1fr;
- }
- .agent-workspace-tabs button > b,
- .agent-workspace-tabs small {
- display: none;
- }
- }
- /* 运营智能体回答:白色运营简报 */
- .operation-message.assistant {
- width: min(840px, 97%);
- overflow: hidden;
- border-color: #dce5ef;
- border-radius: 20px;
- padding: 0;
- box-shadow:
- 0 18px 45px rgb(35 66 96 / 8%),
- 0 2px 8px rgb(35 66 96 / 4%);
- animation: agent-report-enter 0.36s ease-out both;
- }
- .operation-message.assistant > .message-label {
- margin: 0;
- border-bottom: 1px solid #edf1f5;
- background:
- linear-gradient(90deg, rgb(27 112 196 / 7%), transparent 45%),
- #fff;
- padding: 12px 22px;
- color: #577089;
- font-size: 10px;
- letter-spacing: 0.08em;
- }
- .agent-report {
- padding: 20px 22px 6px;
- }
- .agent-report-heading,
- .agent-evidence-label {
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 16px;
- }
- .agent-report-heading {
- margin-bottom: 18px;
- }
- .agent-report-heading > span,
- .agent-evidence-label > span {
- color: #256fae;
- font: 700 9px/1 "Cascadia Code", monospace;
- letter-spacing: 0.16em;
- }
- .agent-report-heading small,
- .agent-evidence-label small {
- display: flex;
- align-items: center;
- gap: 7px;
- color: #8a99a8;
- font-size: 10px;
- }
- .agent-report-heading i {
- width: 6px;
- height: 6px;
- border-radius: 50%;
- background: #28a674;
- box-shadow: 0 0 0 4px rgb(40 166 116 / 10%);
- }
- .report-heading {
- position: relative;
- margin: 21px 0 10px;
- color: #173651;
- font-weight: 720;
- letter-spacing: -0.02em;
- }
- .report-heading.level-1 {
- font-size: 20px;
- }
- .report-heading.level-2 {
- padding-left: 12px;
- font-size: 15px;
- }
- .report-heading.level-2::before {
- position: absolute;
- top: 3px;
- bottom: 3px;
- left: 0;
- width: 3px;
- border-radius: 4px;
- background: #2b83d5;
- content: "";
- }
- .report-heading.level-3 {
- color: #31516e;
- font-size: 13px;
- }
- .report-paragraph {
- margin: 0 0 12px;
- color: #425a70;
- font-size: 13px;
- line-height: 1.85;
- }
- .report-paragraph strong,
- .report-list strong,
- .report-table strong {
- color: #153f64;
- font-weight: 750;
- }
- .report-paragraph code,
- .report-list code {
- border: 1px solid #dae7f3;
- border-radius: 5px;
- background: #f4f8fc;
- color: #256da9;
- padding: 1px 5px;
- font: 10px "Cascadia Code", monospace;
- }
- .report-paragraph.emphasized {
- position: relative;
- margin: 6px 0 18px;
- border: 1px solid #d8e8f7;
- border-radius: 13px;
- background: linear-gradient(135deg, #f4f9ff, #fbfdff);
- padding: 13px 15px 13px 42px;
- color: #244966;
- }
- .report-paragraph.emphasized::before {
- position: absolute;
- top: 13px;
- left: 14px;
- display: grid;
- width: 19px;
- height: 19px;
- place-items: center;
- border-radius: 6px;
- background: #2b7fc8;
- color: #fff;
- content: "↗";
- font-size: 10px;
- }
- .report-list {
- display: grid;
- gap: 9px;
- margin: 4px 0 17px;
- padding-left: 22px;
- color: #425a70;
- font-size: 12px;
- line-height: 1.75;
- }
- .report-list li {
- padding-left: 4px;
- }
- .report-list li::marker {
- color: #3183c9;
- font-weight: 800;
- }
- .report-table-wrap {
- overflow-x: auto;
- margin: 12px 0 18px;
- border: 1px solid #dfe7ef;
- border-radius: 13px;
- }
- .report-table {
- width: 100%;
- border-collapse: collapse;
- color: #405a71;
- font-size: 11px;
- }
- .report-table th,
- .report-table td {
- min-width: 110px;
- border-bottom: 1px solid #edf1f5;
- padding: 11px 13px;
- text-align: left;
- }
- .report-table th {
- background: #f5f8fb;
- color: #526b82;
- font-size: 10px;
- font-weight: 750;
- }
- .report-table tbody tr:last-child td {
- border-bottom: 0;
- }
- .report-table tbody tr:hover {
- background: #f9fbfd;
- }
- .report-divider {
- height: 1px;
- margin: 18px 0;
- border: 0;
- background: linear-gradient(90deg, transparent, #dfe7ef 12%, #dfe7ef 88%, transparent);
- }
- .agent-evidence-label {
- margin: 16px 22px 0;
- border-top: 1px solid #edf1f5;
- padding-top: 17px;
- }
- .operation-message.assistant > div:not(.agent-report, .agent-evidence-label, .operation-actions, .agent-tool-chips) {
- margin-right: 22px;
- margin-left: 22px;
- }
- .operation-message.assistant .agent-metrics {
- gap: 10px;
- margin-top: 12px;
- }
- .operation-message.assistant .agent-metrics article {
- position: relative;
- overflow: hidden;
- border: 1px solid #e2eaf2;
- border-radius: 13px;
- background: #f8fafc;
- padding: 14px;
- }
- .operation-message.assistant .agent-metrics article::after {
- position: absolute;
- top: 0;
- right: 0;
- width: 42px;
- height: 42px;
- border-radius: 0 0 0 42px;
- background: rgb(38 123 198 / 7%);
- content: "";
- }
- .operation-message.assistant .agent-metrics small {
- color: #71859a;
- font-size: 10px;
- }
- .operation-message.assistant .agent-metrics strong {
- margin-top: 9px;
- color: #174f7c;
- font-size: 23px;
- letter-spacing: -0.04em;
- }
- .operation-message.assistant .agent-business-list {
- margin-top: 12px;
- border-radius: 13px;
- }
- .operation-message.assistant .agent-business-list header {
- background: #f5f8fb;
- }
- .operation-message.assistant .operation-actions {
- margin: 17px 22px 0;
- }
- .operation-message.assistant .operation-actions button {
- border-color: #bfd9f0;
- border-radius: 9px;
- background: #f6faff;
- padding: 9px 13px;
- transition: transform 0.18s ease, background 0.18s ease;
- }
- .operation-message.assistant .operation-actions button:hover {
- background: #eaf4ff;
- transform: translateY(-1px);
- }
- .agent-tool-chips {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- gap: 7px;
- margin: 16px 22px 0;
- border-top: 1px solid #edf1f5;
- padding-top: 13px;
- }
- .agent-tool-chips span {
- margin-right: 3px;
- color: #8494a3;
- font-size: 9px;
- }
- .agent-tool-chips b {
- border: 1px solid #dce7f1;
- border-radius: 999px;
- background: #f7fafc;
- color: #547089;
- padding: 4px 8px;
- font-size: 9px;
- font-weight: 650;
- }
- .operation-message.assistant .agent-proof {
- justify-content: flex-end;
- margin: 11px 22px 0;
- padding: 11px 0 16px;
- }
- .agent-proof > span {
- display: none;
- }
- .operation-message.assistant .agent-proof a {
- border-radius: 7px;
- color: #2474b8;
- padding: 5px 7px;
- font-family: inherit;
- font-size: 10px;
- font-weight: 700;
- }
- .operation-message.assistant .agent-proof a:hover {
- background: #eef6fd;
- }
- @keyframes agent-report-enter {
- from {
- opacity: 0;
- transform: translateY(8px);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
- }
- @media (max-width: 760px) {
- .operation-message.assistant {
- width: 100%;
- }
- .agent-report {
- padding: 17px 16px 4px;
- }
- .agent-evidence-label,
- .operation-message.assistant .operation-actions,
- .agent-tool-chips,
- .operation-message.assistant .agent-proof {
- margin-right: 16px;
- margin-left: 16px;
- }
- .operation-message.assistant > div:not(.agent-report, .agent-evidence-label, .operation-actions, .agent-tool-chips) {
- margin-right: 16px;
- margin-left: 16px;
- }
- }
|